跳转至

视频

源码:src/backend/db/models/video.py 返回 总览 字段表格式:字段 | 中文名 | 类型 | 可空 | 作用

提示词组挂在 fabric_materials(产品面料)上;video_categories 为部分遗留树。

ER

erDiagram
  fabric_materials ||--o{ video_prompt_groups : materials
  fabric_materials ||--o{ video_scripts : optional
  fabric_materials ||--o{ video_test_runs : optional
  video_prompt_groups ||--o{ video_prompt_segments : segments
  video_prompt_groups ||--o{ video_test_runs : used
  video_scripts ||--o{ video_test_runs : script
  video_test_runs ||--o{ video_dead_letters : dead
  video_categories ||--o{ video_categories : parent

video_categories — 视频品类树(遗留)

parent_id 为空表示品类,非空表示下层(历史「材质」节点)。新链路提示词组已改挂 fabric_materials

字段 中文名 类型 可空 作用
id 品类 ID UUID NO 主键
name 名称 String(100) NO 品类或下层节点展示名
parent_id 父节点 ID UUID YES FK→video_categories.id CASCADE;空=品类,否则为下层
sort_order 排序权重 SmallInteger NO 同级排序;默认 0
created_at 创建时间 timestamptz NO 行创建时间
updated_at 更新时间 timestamptz NO 行最后修改时间

video_prompt_groups — 提示词组

某材质下的一组提示词;同组 seg1/2/3 不混用。 约束UniqueConstraint(video_type, material_id, group_name)uq_video_prompt_group_material_name

字段 中文名 类型 可空 作用
id 提示词组 ID UUID NO 主键
video_type 视频类型 String(20) NO grass / drama
material_id 面料材质 ID UUID NO FK→fabric_materials.id CASCADE;提示词组挂靠材质
group_name 组名 String(100) NO 同材质、同视频类型下唯一;同组分段不混用
is_active 是否启用 Boolean NO false 时不可被新试跑选用;默认 true
used_count 使用次数 Integer NO 被试跑选用的累计次数;默认 0
created_at 创建时间 timestamptz NO 行创建时间
updated_at 更新时间 timestamptz NO 行最后修改时间

video_prompt_segments — 分段提示词

提示词组内单段(seg1 / seg2 / seg3)。 约束UniqueConstraint(group_id, segment)uq_video_prompt_segment

字段 中文名 类型 可空 作用
id 分段 ID UUID NO 主键
group_id 提示词组 ID UUID NO FK→video_prompt_groups.id CASCADE;所属组
segment 分段标识 String(10) NO seg1 / seg2 / seg3;组内唯一
frame_prompt 首帧提示词 Text NO 生成首帧图用的提示词;默认空串
video_prompt 视频提示词 Text NO 生成视频段用的提示词;默认空串
created_at 创建时间 timestamptz NO 行创建时间
updated_at 更新时间 timestamptz NO 行最后修改时间

video_scripts — 共用剧本库

剧情(drama)共用剧本,可被多材质试跑复用。 部分唯一索引uq_video_script_type_name_active on (video_type, name) WHERE deleted_at IS NULL

字段 中文名 类型 可空 作用
id 剧本 ID UUID NO 主键
video_type 视频类型 String(20) NO 默认 drama;预留 grass
name 剧本名称 String(100) NO 展示名(如「校门口闺蜜」);未软删时与 video_type 唯一
material_id 面料材质 ID UUID YES FK→fabric_materials.id SET NULL;历史绑定字段,共用库后可空
script_text 剧本文本 Text NO 原始剧本正文
parsed_cache 解析缓存 JSONB YES 剧本结构化解析结果缓存
sort_order 排序权重 SmallInteger NO 列表排序;默认 0
status 启用状态 SmallInteger NO 1=启用 0=停用;默认 1
deleted_at 删除时间 timestamptz YES 软删进回收站;非空表示已删除
created_at 创建时间 timestamptz NO 行创建时间
updated_at 更新时间 timestamptz NO 行最后修改时间

video_test_runs — 试跑 / 流水线

Admin 视频试跑与流水线进度记录;C 端用户字段预留。

字段 中文名 类型 可空 作用
id 试跑 ID UUID NO 主键
video_type 视频类型 String(20) NO grass / drama 等业务类型
material_id 面料材质 ID UUID YES FK→fabric_materials.id SET NULL;试跑挂靠材质
script_id 剧本 ID UUID YES FK→video_scripts.id SET NULL;剧情试跑选用剧本
group_id 提示词组 ID UUID YES FK→video_prompt_groups.id SET NULL;选用的提示词组
duration 目标时长 Integer NO 目标视频时长(秒);默认 30;种草 I2V 透传;Metaso 限制 4–15
resolution I2V 分辨率 String(20) YES 图生视频分辨率(如 768P/2K/720p);空则 Activity 回落默认
ratio I2V 画幅比 String(20) YES 图生视频画幅比(如 16:9/adaptive);空则 Activity 回落默认
status 流水线状态 String(32) NO 默认 pendingpending / generating_images / first_frames_ready / generating_videos / merging / done / failed(兼容旧 generating
progress 进度百分比 SmallInteger NO 0–100 进度;默认 0
upload_image_key 上传图键 String(500) YES 用户/运营上传参考图的 OSS object_key
segment_statuses 分段状态 JSONB YES 各分段当前状态列表
material_statuses 材质状态 JSONB YES 多材质试跑时各材质进度/状态
segment_labels 分段标签 JSONB YES 分段展示标签列表
images 生成图片 JSONB YES 各段首帧/中间图结果元数据
videos 生成视频 JSONB YES 各段视频结果元数据
final_video_key 成片键 String(500) YES 合并后最终视频 OSS object_key
used_prompts 所用提示词 JSONB YES 旧版为 list[seg];v2 为 dict{"format":"v2", characters, scenes, segments}
error_log 错误日志 Text YES 失败原因与诊断文本
image_model_id 生图模型 ID UUID YES 无 FK;本次试跑选用的图像模型
video_model_id 视频模型 ID UUID YES 无 FK;本次试跑选用的视频模型
created_by 创建人 ID UUID YES 无 FK;启动试跑的 Admin/操作者标识
operator_phone 操作者手机号 String(20) YES Admin 操作者手机号快照(审计/Temporal)
user_id 用户 ID UUID YES 无 FK;C 端用户预留;Admin 试跑可空
phone 用户手机号 String(20) YES C 端用户手机号快照预留
events 事件日志 JSONB YES 进度/重试事件;保留最近约 50 条,供轮询与审计
created_at 创建时间 timestamptz NO 行创建时间
updated_at 更新时间 timestamptz NO 行最后修改时间

video_dead_letters — 死信

上游重试耗尽后入库,供人工排查或重新入队。

字段 中文名 类型 可空 作用
id 死信 ID UUID NO 主键
run_id 试跑 ID UUID NO FK→video_test_runs.id CASCADE;有索引;归属试跑
stage 失败阶段 String(64) NO 失败所处流水线阶段;默认 execute
payload 载荷快照 JSONB YES 失败时任务/消息载荷,便于重放
error 错误信息 Text NO 失败原因文本
retry_count 重试次数 Integer NO 入死信前已重试次数;默认 0
status 死信状态 String(32) NO 默认 openopen / requeued / discarded
created_at 创建时间 timestamptz NO 行创建时间
updated_at 更新时间 timestamptz NO 行最后修改时间