46 lines
1.4 KiB
Python
46 lines
1.4 KiB
Python
"""
|
|
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")
|