Spaces:
Sleeping
Sleeping
| from fastapi import FastAPI, Request | |
| from fastapi.staticfiles import StaticFiles | |
| from fastapi.templating import Jinja2Templates | |
| from fastapi.responses import HTMLResponse | |
| import os | |
| from routes import music, vlm, voice_design, image_generation | |
| from utils.monitor import setup_monitoring | |
| from utils.cleanup import start_cleanup_task | |
| app = FastAPI(title="MiniMax Tools", version="1.0.0") | |
| # 静态文件和模板 | |
| # 检查 static 目录是否存在 | |
| if os.path.exists("static"): | |
| app.mount("/static", StaticFiles(directory="static"), name="static") | |
| templates = Jinja2Templates(directory="templates") | |
| # 设置监控 | |
| setup_monitoring(app) | |
| # 启动清理任务 | |
| start_cleanup_task() | |
| # 注册路由 | |
| app.include_router(music.router, prefix="/music", tags=["Music"]) | |
| app.include_router(vlm.router, prefix="/vlm", tags=["VLM"]) | |
| app.include_router(voice_design.router, prefix="/voice-design", tags=["Voice Design"]) | |
| app.include_router(image_generation.router, prefix="/image-generation", tags=["Image Generation"]) | |
| async def home(request: Request): | |
| return templates.TemplateResponse("index.html", {"request": request}) | |
| async def admin(request: Request): | |
| from utils.monitor import get_stats | |
| stats = get_stats() | |
| return templates.TemplateResponse("admin.html", {"request": request, "stats": stats}) | |
| async def health_check(): | |
| return {"status": "healthy", "service": "minimax-tools"} | |
| if __name__ == "__main__": | |
| import uvicorn | |
| port = int(os.getenv("PORT", 7860)) | |
| uvicorn.run(app, host="0.0.0.0", port=port) | |