--- name: video-from-script description: 视频创作工作流。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: ```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 |