from pydantic import BaseModel from typing import Optional, List class GenerateRequest(BaseModel): text: str voice: str = "zh-CN-YunxiNeural" material_path: str material_paths: Optional[List[str]] = None tts_mode: str = "edgetts" ref_audio_id: Optional[str] = None ref_text: Optional[str] = None language: str = "zh-CN" title: Optional[str] = None enable_subtitles: bool = True subtitle_style_id: Optional[str] = None title_style_id: Optional[str] = None subtitle_font_size: Optional[int] = None title_font_size: Optional[int] = None title_top_margin: Optional[int] = None subtitle_bottom_margin: Optional[int] = None bgm_id: Optional[str] = None bgm_volume: Optional[float] = 0.2