Files
meijiaka-zy/python-api/app/schemas/segment.py
T
小鱼开发 e262134148 refactor: 移除 KlingAI 和 MiniMax 相关代码
删除内容:
- KlingAI Provider、MiniMax Provider
- Kling 视频/图片/TTS/语音克隆/形象克隆 Service 和 Scheduler Handler
- 已废弃的 TTSService、VoiceCloneService
- config 中 KLINGAI_*/MINIMAX_* 配置项
- ai_models.yaml 中 klingai 平台和模型配置
- docker-compose 中相关环境变量
- .env.example 中相关配置示例
- deploy-test.sh 中相关检查
- Makefile 中 klingai 语义检查排除规则
- KlingTaskStatus 枚举

修改内容:
- model_router.py 移除 KlingAI 平台分支
- voice.py 重写,修复批量合成/文件保存中 service 未定义的 Bug
- vidu_service.py 移除 MiniMax 相关注释
- script_handler.py 更新注释
2026-05-02 23:16:14 +08:00

48 lines
1.9 KiB
Python
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
"""
分镜(Segment)统一 Schema
==========================
业务层唯一分镜模型,取代以下历史重复定义:
- ScriptShotscript.py
- ShotDataapi/v1/video.py
- ShotUnitscheduler/models.py
"""
from typing import Literal
from pydantic import BaseModel, Field
from app.schemas.enums import SegmentStatus
class Segment(BaseModel):
"""视频分镜/镜头定义
术语说明:
- segment: 分镜(带数字人)
- empty_shot: 空镜(无数字人)
"""
id: str = Field(..., description="分镜ID")
type: Literal["segment", "empty_shot"] = Field(
default="segment", description="分镜类型: segment(分镜) 或 empty_shot(空镜)"
)
scene: str = Field(default="", description="场景描述/画面描述")
voiceover: str = Field(default="", description="配音文案(空镜可为空)")
duration: int | None = Field(default=None, description="时长(秒)")
human_id: str | None = Field(default=None, description="数字人主体ID")
voice_id: str | None = Field(default=None, description="音色ID(空镜时使用)")
status: SegmentStatus = Field(default=SegmentStatus.PENDING)
provider_task_id: str | None = Field(
default=None, description="供应商任务ID"
)
video_url: str | None = Field(default=None, description="生成后的视频URL")
local_path: str | None = Field(default=None, description="本地视频路径")
qiniu_url: str | None = Field(default=None, description="七牛云URL")
error_message: str | None = Field(default=None, description="错误信息")
stage: str | None = Field(
default=None, description="内部处理阶段(如 image_generating / video_processing"
)
image_task_id: str | None = Field(default=None, description="空镜文生图任务ID(内部使用)")
query_fail_count: int = Field(default=0, description="查询失败计数")