# scripts/models.py from pydantic import BaseModel class GeminiRequest(BaseModel): prompt: str mode: str = "auto" class TriggerStory(BaseModel): story_path: str story_id: str config: dict = {} class PipelineStatus(BaseModel): story: str step: str progress: int timestamp: float is_paused: bool is_manual_waiting: bool class ConfigPayload(BaseModel): vfx_profile: str audio_mode: str sfx_mode: str image_gen_mode: str = "api" voice_gen_mode: str = "api" ai_mode: str = "hybrid" class StoryUpdate(BaseModel): content: str path: str class StartEngineRequest(BaseModel): story_id: str regenerate_all: bool = False class RemixRequest(BaseModel): story_path: str story_id: str vfx_profile: str = "none" voice: str = "" bg_music: str = "" output_suffix: str = "" art_profile: str = "none" regenerate_images: bool = False aspect_ratio: str = "9:16" no_narration: bool = False ai_mode: str = "hybrid"