33 lines
1018 B
Python
33 lines
1018 B
Python
from fastapi import FastAPI
|
|
from fastapi.staticfiles import StaticFiles
|
|
from fastapi.middleware.cors import CORSMiddleware
|
|
from app.core import config
|
|
from app.api import materials, videos, publish
|
|
|
|
settings = config.settings
|
|
|
|
app = FastAPI(title="ViGent TalkingHead Agent")
|
|
|
|
app.add_middleware(
|
|
CORSMiddleware,
|
|
allow_origins=["*"],
|
|
allow_credentials=True,
|
|
allow_methods=["*"],
|
|
allow_headers=["*"],
|
|
)
|
|
|
|
# Create dirs
|
|
settings.UPLOAD_DIR.mkdir(parents=True, exist_ok=True)
|
|
settings.OUTPUT_DIR.mkdir(parents=True, exist_ok=True)
|
|
(settings.UPLOAD_DIR / "materials").mkdir(exist_ok=True)
|
|
|
|
app.mount("/outputs", StaticFiles(directory=str(settings.OUTPUT_DIR)), name="outputs")
|
|
|
|
app.include_router(materials.router, prefix="/api/materials", tags=["Materials"])
|
|
app.include_router(videos.router, prefix="/api/videos", tags=["Videos"])
|
|
app.include_router(publish.router, prefix="/api/publish", tags=["Publish"])
|
|
|
|
@app.get("/health")
|
|
def health():
|
|
return {"status": "ok"}
|