feat(skills): 完善视频生产 pipeline 及新增健身跟练账号
- SKILL.md: 新增工作流阶段定义、质量卡点、分镜规则 - manifest-schema.md: 补充完整字段规范及类型定义 - phase-tts.js: 优化 TTS 合成长逻辑,添加进度追踪 - capcut-tracks.js: 扩展轨道构建能力,支持更多元素类型 - capcut-timeline.js: 改进时间线生成,支持淡入淡出 - capcut_assemble.js: 新增 assemble 阶段完整实现 - cmd-init.js: 完善 init 命令逻辑 - qwen-tts.js: 调整超时配置 - accounts/禁忌帝王学: 更新拆分/图像/台词提示词 - accounts/健身跟练: 新增账号含 account.json 及全套提示词模板 - 新增 workflow-issues-20260501.md 参考文档 Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
@@ -78,6 +78,14 @@ node .claude/skills/video-from-script/scripts/get-template-path.js --account <
|
||||
```
|
||||
输出示例:`accounts\军事账号\prompts\分镜.md`
|
||||
|
||||
**时间线核心规则(固化铁律,必须透传给分镜子 Agent):**
|
||||
- 文案是时间轴唯一锚点:总音频时长 = 文案总字数 ÷ 5(语速 5字/秒)
|
||||
- Kling 可灵视频片段固定 6 秒
|
||||
- **每个 shot 的 TTS 估算(= script字数÷5)必须 ≤ 6 秒**
|
||||
- TTS > 6s → 强制在语义断点处拆分,拆分后每段 script = 语义子句(原句切分),**禁止用完整句重复填充多 shot**
|
||||
- 合并后 script 拼接 = 原句一字不差
|
||||
- audioDur > videoDur × 2(12s)的 shot 禁止合并,必须拆分
|
||||
|
||||
**子 Agent prompt 必须包含**:
|
||||
1. `模板文件绝对路径:{get-template-path.js 输出的路径,转为绝对路径}`,并指示子 Agent "先 Read 此文件全文,严格按模板规则执行"
|
||||
2. 用户完整口播文案
|
||||
@@ -87,10 +95,28 @@ node .claude/skills/video-from-script/scripts/get-template-path.js --account <
|
||||
**禁止**:主 Agent 不得摘要模板内容传给子 Agent,必须让子 Agent 直接读文件。
|
||||
|
||||
```json
|
||||
[{"id":1,"shotDesc":"英文画面描述","script":"中文口播文案","duration":5,"directorRef":"tarantino","keyword":"权力"}]
|
||||
[{"id":1,"shotDesc":"英文画面描述","script":"中文口播文案","duration":"TTS估算(=字数÷5)","directorRef":"fincher"}]
|
||||
```
|
||||
|
||||
**主 Agent 审查**:时长合理?隐性动势完整(视频模式)?directorRef 已填?视频模式 script 拼接校验通过?
|
||||
**主 Agent 审查(时间线合规优先):**
|
||||
1. 每个 shot 的 TTS 估算是否 ≤ 6s?→ 超过必须打回
|
||||
2. TTS > 6s 的 shot 是否已正确拆分?script 是否为语义子句?
|
||||
3. 时长合理?隐性动势完整(视频模式)?directorRef 已填?
|
||||
4. 视频模式 script 拼接校验通过(一字不差)?
|
||||
|
||||
→ **分镜规划展示(每次必须输出此表):**
|
||||
```
|
||||
文案: [原文]
|
||||
总字数: N字 | 总音频估算: X.Xs | 视频片段: N个 | 视频模型固定时长: Kling=6s
|
||||
TTS语速: 1.15x(写死在 qwen-tts.js)| 音频调速: 禁止 | 视频适配: 加速/截断
|
||||
|
||||
| # | TTS估算 | script(字数)| ratio估算 | 策略 | 拆分说明 | directorRef |
|
||||
|---|---------|------------|---------|------|---------|------------|
|
||||
| 1 | 4.8s | 你只有看清了...(24字)| 6/17.5=0.34 | ⚠禁止 | TTS>6s需拆 | fincher |
|
||||
| 2 | 5.2s | 其实这是...(26字)| 6/27=0.22 | ⚠禁止 | TTS>6s需拆 | fincher |
|
||||
...
|
||||
```
|
||||
ratio = estimatedVideoDuration(6s) / estimatedAudioDuration,字数÷5
|
||||
|
||||
→ 展示给用户确认。确认后**分镜表锁定为脊骨契约**,下游禁止增减 shot。
|
||||
|
||||
@@ -197,7 +223,9 @@ node scripts/pipeline.js confirm --manifest <path> --all
|
||||
node scripts/pipeline.js status --manifest <path>
|
||||
```
|
||||
|
||||
**阶段顺序**: `images` → `upload` → `videos` → `tts` → `assemble`
|
||||
**阶段顺序**: `tts` → `images` → `upload` → `videos` → `assemble`
|
||||
|
||||
> **流程变更**:TTS 提前到图片生成之前,确保音频时长在生图前已知,ratio 可控。
|
||||
|
||||
**Item 状态**: `pending` → `generating` → `done` / `failed`
|
||||
|
||||
@@ -207,6 +235,36 @@ node scripts/pipeline.js status --manifest <path>
|
||||
|
||||
每阶段完成后主 Agent 自动校验,不通过则修复后继续。
|
||||
|
||||
### 分镜规划展示(每次必须输出)
|
||||
|
||||
```
|
||||
文案: [原文]
|
||||
总字数: N字 | 总音频估算: X.Xs | 视频片段: N个 | 视频模型: Kling=6s
|
||||
|
||||
| # | TTS估算 | script内容(字数)| 拆分说明 | audioDur估算→真实 | ratio |
|
||||
|---|---------|----------------|---------|------------------|------|
|
||||
| 1 | 4.8s | 你只有看清了...(24字)| ✅未超6s | 4.8→17.5s | 0.34⚠ |
|
||||
| 2 | 5.2s | 其实这是...(26字)| ✅未超6s | 5.2→27.0s | 0.22⚠ |
|
||||
...
|
||||
```
|
||||
ratio = estimatedVideoDuration / realAudioDuration,⚠=需拆分
|
||||
|
||||
### 分镜质量卡点(固化)
|
||||
|
||||
| 检查项 | 标准 | 不通过则 |
|
||||
|--------|------|---------|
|
||||
| 单 shot TTS 估算 | duration ≤ estimatedVideoDuration(Kling=6s) | **强制打回分镜阶段拆分** |
|
||||
| 长句处理 | TTS>6s → 语义子句拆分,script 不重复完整句 | 打回重写 |
|
||||
| script 内容 | 每个 shot 的 script 是独立语义子句 | 打回重写 |
|
||||
| 合并校验 | 所有 script 拼接 = 原文一字不差 | 打回重写 |
|
||||
| ratio 预判 | estimatedVideoDuration / estimatedAudioDuration < 0.9 → 禁止 | 打回分镜重切 |
|
||||
| 视频模型时长 | estimatedVideoDuration 已填入 manifest | 检查 pipeline init |
|
||||
|
||||
**assemble 阶段铁律:**
|
||||
- 音频以 1.15x 原速导入 CapCut,无 speed 字段
|
||||
- 视频只允许加速(speed_up)或截断(trim)
|
||||
- **禁止慢放(slow_down)/ 冻结帧(freeze)/ 音频调速**
|
||||
|
||||
### 生图
|
||||
|
||||
| 检查项 | 标准 | 不通过 |
|
||||
|
||||
Reference in New Issue
Block a user