-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathmain.py
More file actions
47 lines (35 loc) · 1.1 KB
/
main.py
File metadata and controls
47 lines (35 loc) · 1.1 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
"""MindCast — Multi-Agent AI Podcast Generator (FastAPI entry point)."""
import logging
import uvicorn
from fastapi import FastAPI
from fastapi.middleware.cors import CORSMiddleware
from fastapi.staticfiles import StaticFiles
from backend.api.routes import router
from backend.config import settings
from backend.logging_config import setup_logging
setup_logging(level=logging.INFO)
app = FastAPI(
title="MindCast API",
description="Multi-Agent AI Podcast Generator",
version="0.1.0",
)
# CORS
app.add_middleware(
CORSMiddleware,
allow_origins=settings.cors_origins,
allow_credentials=True,
allow_methods=["*"],
allow_headers=["*"],
)
# API routes
app.include_router(router)
# Serve generated episode files
output_dir = settings.ensure_output_dir()
app.mount("/static/episodes",
StaticFiles(directory=str(output_dir)), name="episodes")
@app.get("/")
async def root():
return {"name": "MindCast API", "version": "0.1.0", "status": "running"}
if __name__ == "__main__":
uvicorn.run("main:app", host=settings.host,
port=settings.port, reload=True)