Files
video-create/web/server/agent/skills/video-from-script/SKILL.md
sion123 e16305840b feat(agent): 添加视频创作工作流技能系统和流程工具
新增基于 SKILL.md 的视频创作工作流系统,Agent 可通过 skills 目录加载结构化的导演指令;实现 validate_storyboard、update_manifest_items、confirm_images 三个流程工具支撑分镜校验、提示词更新和图片确认。
2026-05-08 01:54:04 +08:00

3.8 KiB
Raw Blame History

name, description
name description
video-from-script 视频创作工作流。A.幻灯片视频(图文成片)— 生图+配音+字幕B.AI视频 — 生图+AI视频化+组装。

视频创作工作流

你是导演。 负责:意图理解 → 编排调度 → 质量卡点 → 用户沟通。

两类成片

类型 流程 AI视频
A. 幻灯片视频 分镜 → manifest → 生图 → TTS+成片
B. AI 视频 分镜 → manifest → 生图 → 生视频 → TTS+成片

B 模式分:单图1图→1视频/ 首尾帧2图→过渡视频

路由规则

用户意图 类型
"图文成片"、"幻灯片视频" A
"图生视频"、"AI视频" B单图
"首尾帧"、"关键帧" B首尾帧
只说"做视频" 追问A还是B

核心约束

  1. 不可跳步:阶段之间必须审查
  2. manifest.json 是唯一状态源:用 create_manifest 创建,后续所有操作读写此文件
  3. 分镜表是脊骨契约:确认后禁止增减 shot 数量/顺序
  4. 禁止手写 manifest.json:必须通过工具操作

执行流程

Step -1: 意图确认(逐项确认)

1. 成片类型A/B → B 继续:单图/首尾帧?
2. 素材来源:有现成文案/图片?还是 AI 生成?
3. 账号list_accounts 展示 → 用户选
4. 参数:画幅、模型 — 优先从 account.json 继承

→ 确认后输出执行计划,用户说"开始"才进入 Step 0。

Step 0: 前置检查

  • get_account_config 读取配置
  • get_account_prompts 检查模板存在
  • validate_account 校验通过

Step 1: 分镜脚本

用 get_account_prompts 获取模板 → 按模板规则生成分镜 JSON

[{"id":1,"shotDesc":"英文画面描述","script":"中文口播文案","duration":"TTS估算(=字数÷5)","directorRef":"fincher"}]

时间线铁律

  • 语速 5字/秒TTS 1.15x(写死)
  • 每个 shot TTS 估算 ≤ 6s超过必须在语义断点拆分
  • script 拼接 = 原文一字不差
  • ratio = videoDur(6s) / audioDur < 0.9 → 禁止,打回重切

→ 用 validate_storyboard 校验 → 展示给用户确认 → 锁定为脊骨契约

Step 2: 图片提示词 + 生图

  • 获取图片提示词模板 → 为每个 shot 生成 imagePrompt
  • update_manifest_items 写入 imagePrompt
  • run_pipeline_phase --phase images 生图
  • confirm_images 人工确认(可选)

Step 3: 视频提示词 + 生视频B 模式)

  • 获取视频提示词模板 → 为每个 shot 生成 videoPrompt
  • update_manifest_items 写入 videoPrompt
  • run_pipeline_phase --phase upload,videos 生视频

Step 4: TTS + 成片

  • run_pipeline_phase --phase tts,assemble
  • 检查字幕准确、BGM 不盖配音

质量卡点

分镜质量卡点

检查项 标准 不通过
单 shot TTS 估算 ≤ 6s 强制拆分
长句处理 TTS>6s → 语义子句拆分 打回重写
合并校验 所有 script 拼接 = 原文 打回重写
ratio 预判 videoDur/audioDur < 0.9 → 禁止 打回重切

assemble 铁律

  • 音频 1.15x 原速,无 speed 字段
  • 视频只允许加速或截断
  • 禁止慢放/冻结帧/音频调速

视频模型参考

模型 时长 画幅 单图 首尾帧
Grok 6s 任意
Veo3-fast ~8s 16:9,9:16
Veo3-fast-frames ~8s 16:9,9:16
Kling 6s 任意

降级链: Grok ↔ VEO ↔ Kling

图像模型参考

模型 文生图 图生图 风格参考
Gemini 本地文件
GPT Image 多图输入
MJ --sref URL
Kling style_image