from fastapi import FastAPI, HTTPException from pydantic import BaseModel import subprocess app = FastAPI() class VideoRequest(BaseModel): url: str output_path: str = "out/video.mp4" @app.post("/download") def download_video(request: VideoRequest): result = subprocess.run(['python3', 'loom-dl.py', request.url, '-o', request.output_path], capture_output=True, text=True) if result.returncode == 0: return {"message": "Download successful!", "output_path": request.output_path} else: raise HTTPException(status_code=500, detail=f"Error: {result.stderr}") if __name__ == "__main__": import uvicorn uvicorn.run(app, host="0.0.0.0", port=8000)