""" Kling AI Provider DTO ===================== Provider 层数据模型,封装 Kling API 返回结构。 禁止向业务层泄漏裸 dict[str, Any]。 """ from pydantic import BaseModel, Field from app.schemas.enums import KlingTaskStatus class KlingVideoResult(BaseModel): """Kling 视频生成结果""" task_id: str | None = Field(None, alias="task_id") task_status: KlingTaskStatus | None = Field(None, alias="task_status") task_status_msg: str | None = Field(None, alias="task_status_msg") task_result: dict | None = Field(None, alias="task_result") class KlingImageResult(BaseModel): """Kling 图片生成结果""" task_id: str | None = Field(None, alias="task_id") task_status: KlingTaskStatus | None = Field(None, alias="task_status") task_status_msg: str | None = Field(None, alias="task_status_msg") task_result: dict | None = Field(None, alias="task_result") class KlingVoiceResult(BaseModel): """Kling 自定义音色结果""" task_id: str | None = Field(None, alias="task_id") task_status: KlingTaskStatus | None = Field(None, alias="task_status") task_result: dict | None = Field(None, alias="task_result") class KlingElementResult(BaseModel): """Kling 主体创建结果""" task_id: str | None = Field(None, alias="task_id") task_status: KlingTaskStatus | None = Field(None, alias="task_status") task_result: dict | None = Field(None, alias="task_result")