from enum import Enum from typing import List, Dict, Union, Optional from pydantic import BaseModel, Field class ResAutoMixVideo(BaseModel): bucket_name: Optional[str] = Field(None, description="用于下载的 bucket 名称") video_url: Optional[str] = Field(None, description="结果视频的 URL 列表") class ReqAutoMixVideo(BaseModel): video_url_list: List[ResAutoMixVideo] = Field(..., description="视频的 URL 列表") text: str = Field(..., description="文本") # ref_audio: Optional[Union[str, bytes]] = Field(None, description="参考音频,用于说话人") # ref_text: Optional[str] = Field(None, description="参考音频文本内容") slice_size: int = Field(6, description="文本切片的长度") class AudioServerEnum(Enum): Fish = "fish" CosyVoice = "cosyvoice" EdgeTTS = "edgetts"