19 lines
579 B
Python
19 lines
579 B
Python
from typing import List, Optional, Literal
|
|
from pydantic import BaseModel, Field
|
|
from fastapi import UploadFile
|
|
|
|
class GeneratePresentationRequest(BaseModel):
|
|
prompt: str
|
|
n_slides: int = Field(default=8, ge=5, le=20)
|
|
language: str = Field(default="English")
|
|
layout: str = Field(default="general")
|
|
documents: Optional[List[UploadFile]] = None
|
|
export_as: Literal["pptx", "pdf"] = Field(default="pptx")
|
|
|
|
|
|
class PresentationAndPath(BaseModel):
|
|
presentation_id: str
|
|
path: str
|
|
|
|
class PresentationPathAndEditPath(PresentationAndPath):
|
|
edit_path: str
|