Initial TrueGrowth source import
This commit is contained in:
@@ -0,0 +1,29 @@
|
||||
# Change: 串行化爆款 MV / 爆款视频的批量视频生成
|
||||
|
||||
## Why
|
||||
|
||||
当前“全部→生成视频”会把所有镜头一次性并发丢进任务队列,缺少片段之间的前后依赖。
|
||||
这使得已生成片段的尾帧无法自动驱动下一段首帧,失败后也只能人工逐段重试,批量生成既不连贯也不自动。
|
||||
|
||||
同时,生成页没有统一的视频尺寸配置,单镜头生成与批量生成对尺寸的处理不一致,用户很难稳定控制整组视频的输出规格。
|
||||
|
||||
## What Changes
|
||||
|
||||
- 将爆款 MV 与爆款视频生成工具的“全部→生成视频”改为串行编排
|
||||
- 第 1 段优先使用参考图作为首帧;没有参考图时不传首帧
|
||||
- 后续段自动使用上一段视频尾帧作为当前段首帧
|
||||
- 已有成片的段落直接跳过,并提取该视频尾帧驱动下一段
|
||||
- 批量生成失败后立即自动重试,直到成功或用户手动停止
|
||||
- 在生成页视频模型下方增加通用尺寸选择,并统一作用于单镜头生成与全部生成
|
||||
- 为记录补充视频尺寸持久化,并兼容旧历史记录
|
||||
|
||||
## Impact
|
||||
|
||||
- Affected specs:
|
||||
- `video-batch-generation`
|
||||
- Affected code:
|
||||
- `packages/drawnix/src/components/mv-creator/pages/GeneratePage.tsx`
|
||||
- `packages/drawnix/src/components/video-analyzer/pages/GeneratePage.tsx`
|
||||
- `packages/drawnix/src/components/mv-creator/types.ts`
|
||||
- `packages/drawnix/src/components/video-analyzer/types.ts`
|
||||
- `packages/drawnix/src/constants/video-model-config.ts`
|
||||
@@ -0,0 +1,67 @@
|
||||
## ADDED Requirements
|
||||
|
||||
### Requirement: 批量视频生成必须按镜头顺序串行执行
|
||||
|
||||
爆款 MV 与爆款视频生成工具在用户执行“全部→生成视频”时,系统 SHALL 按镜头顺序逐段生成视频,而不是一次性并发提交全部片段。
|
||||
|
||||
#### Scenario: 串行生成下一段
|
||||
|
||||
- **WHEN** 用户在生成页点击“全部→生成视频”
|
||||
- **THEN** 系统只创建当前镜头的视频任务
|
||||
- **AND** 当前镜头成功后才开始下一镜头的视频生成
|
||||
|
||||
### Requirement: 片段之间必须自动传递尾帧到下一段首帧
|
||||
|
||||
系统 SHALL 在串行批量生成时自动提取上一段视频尾帧,并将其作为下一段的首帧输入。
|
||||
|
||||
#### Scenario: 首段使用参考图启动
|
||||
|
||||
- **WHEN** 用户已上传参考图并开始批量生成
|
||||
- **THEN** 第 1 段使用参考图作为首帧输入
|
||||
|
||||
#### Scenario: 后续段使用上一段尾帧
|
||||
|
||||
- **WHEN** 第 N 段视频生成成功且存在第 N+1 段
|
||||
- **THEN** 系统提取第 N 段视频尾帧
|
||||
- **AND** 将该尾帧写入第 N+1 段的首帧输入
|
||||
|
||||
#### Scenario: 已生成片段跳过并继续传帧
|
||||
|
||||
- **WHEN** 某一镜头已经存在已生成视频
|
||||
- **THEN** 系统跳过该镜头的新任务创建
|
||||
- **AND** 直接从已有视频提取尾帧并继续驱动下一镜头
|
||||
|
||||
### Requirement: 批量串行生成失败后必须自动重试
|
||||
|
||||
系统 SHALL 在批量串行生成的当前镜头失败后立即自动重试,直到成功或用户主动停止本轮批量生成。
|
||||
|
||||
#### Scenario: 当前镜头失败后立即重试
|
||||
|
||||
- **WHEN** 批量生成中的某个镜头任务失败
|
||||
- **THEN** 系统立即重新提交或重试该镜头任务
|
||||
- **AND** 不推进到下一镜头
|
||||
|
||||
#### Scenario: 用户主动停止批量生成
|
||||
|
||||
- **WHEN** 用户在批量串行生成过程中执行停止
|
||||
- **THEN** 系统停止当前批量编排
|
||||
- **AND** 不再创建后续镜头任务
|
||||
|
||||
### Requirement: 生成页必须提供统一的视频尺寸参数
|
||||
|
||||
爆款 MV 与爆款视频生成工具的生成页 SHALL 在视频模型下方提供尺寸选择,并统一作用于单镜头生成与批量生成。
|
||||
|
||||
#### Scenario: 单镜头与批量入口共享尺寸
|
||||
|
||||
- **WHEN** 用户在生成页选择某个视频尺寸
|
||||
- **THEN** 单镜头“生成视频”与“全部→生成视频”都使用该尺寸参数
|
||||
|
||||
#### Scenario: 模型切换时回退到有效尺寸
|
||||
|
||||
- **WHEN** 用户切换视频模型且当前已选尺寸不被新模型支持
|
||||
- **THEN** 系统自动回退到新模型的默认尺寸
|
||||
|
||||
#### Scenario: 旧记录缺少尺寸字段
|
||||
|
||||
- **WHEN** 用户打开一条旧历史记录且其中未保存视频尺寸
|
||||
- **THEN** 系统使用当前视频模型的默认尺寸作为兼容回退
|
||||
@@ -0,0 +1,28 @@
|
||||
# Tasks: 串行化爆款 MV / 爆款视频的批量视频生成
|
||||
|
||||
## 1. 配置与数据
|
||||
|
||||
- [x] 1.1 为 MV 记录和视频分析记录补充通用视频尺寸字段
|
||||
- [x] 1.2 为旧记录补兼容读取逻辑,缺失尺寸时回退到当前模型默认尺寸
|
||||
- [x] 1.3 提供当前模型下的安全尺寸回退能力
|
||||
|
||||
## 2. 爆款 MV 生成页
|
||||
|
||||
- [x] 2.1 在生成页增加视频尺寸选择并持久化
|
||||
- [x] 2.2 让单镜头“生成视频”统一使用所选尺寸
|
||||
- [x] 2.3 将“全部→生成视频”改为串行生成、尾帧接首帧、跳过已有片段
|
||||
- [x] 2.4 为批量串行生成增加失败立即重试与手动停止
|
||||
|
||||
## 3. 爆款视频生成页
|
||||
|
||||
- [x] 3.1 在生成页增加视频尺寸选择并持久化
|
||||
- [x] 3.2 让单镜头“生成视频”统一使用所选尺寸
|
||||
- [x] 3.3 将“全部→生成视频”改为串行生成、尾帧接首帧、跳过已有片段
|
||||
- [x] 3.4 为批量串行生成增加失败立即重试与手动停止
|
||||
|
||||
## 4. 验证
|
||||
|
||||
- [x] 4.1 验证首段参考图首帧与后续尾帧传递链路
|
||||
- [x] 4.2 验证已有片段跳过后仍能继续驱动下一段
|
||||
- [x] 4.3 验证失败自动重试与停止按钮行为
|
||||
- [x] 4.4 验证两个工具的尺寸选择与历史兼容
|
||||
Reference in New Issue
Block a user