from fastapi import FastAPI from fastapi.responses import FileResponse from pydantic import BaseModel from pptx_generator import generate_pptx import uuid import os app = FastAPI() class Slide(BaseModel): title: str bullets: list[str] class PresentationData(BaseModel): slides: list[Slide] @app.post("/generate") def generate(data: PresentationData): output_file = f"/tmp/{uuid.uuid4()}.pptx" generate_pptx(data.slides, output_file) return FileResponse(output_file, media_type="application/vnd.openxmlformats-officedocument.presentationml.presentation")