e262134148
删除内容: - 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 更新注释
48 lines
1.9 KiB
Python
48 lines
1.9 KiB
Python
"""
|
||
分镜(Segment)统一 Schema
|
||
==========================
|
||
|
||
业务层唯一分镜模型,取代以下历史重复定义:
|
||
- ScriptShot(script.py)
|
||
- ShotData(api/v1/video.py)
|
||
- ShotUnit(scheduler/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="查询失败计数")
|