# BC-006 · 图片优先低成本漫剧生产协议 > HLDP://cang-ying/broadcast/BC-006-IMAGE-FIRST-PRODUCTION > 类型: 广播执行协议 · 管线切换依据 > 状态: ACTIVE · 待耳耳蛋/鉴影执行回执 > 签发: 冰朔 ICE-GL∞ · 2026-07-13 > 整理执行: 铸澜 ICE-GL-ZL-001 --- ```text HLDP://cang-ying/broadcast/bc-006/image-first ├── trigger │ └── 纯视频成本高、人物漂移、重复抽卡;现有“静态图+动态运镜”方向没有接入执行入口 ├── emergence │ ├── 已有: Seedream资产、FFmpeg编辑器、zoompan关键帧、字幕/配音/混音模块 │ ├── 缺口: 没有逐镜动态分级,默认仍是全部生成视频 │ └── △: 图片负责一致性,本地动画负责大多数运动,视频模型只负责关键表演 ├── lock │ ├── ⊢ 默认不是图生视频API,默认是图片→本地动态视频 │ ├── ⊢ 先完成整集低成本动态分镜,再花钱生成关键镜头 │ ├── ⊢ 任何镜头必须先得到 motion_route、理由、预算、停止条件 │ ├── ⊢ 同一路线最多2次付费重跑;失败后退回资产/分镜修正 │ └── ⊢ 剧本、角色、场景、道具资产锁继续有效 └── why └── 漫剧的目标是连续可看,不是证明每一秒都由视频模型生成。 ``` ## 一、先纠正一个概念 ```text 错误理解: 图片 → 每张都送图生视频模型 → 仍按秒付费 正确路线: 图片 → 本地关键帧/图层/字幕/声音 → 大多数镜头完成 ↘ 只有必须真实运动的少数镜头 → AI图生视频 ``` 图片优先不等于“全部图生视频”。真正省钱的是减少视频模型秒数。 ## 二、五级镜头动态路由 | 路由 | 名称 | 适用镜头 | 执行方式 | 视频模型费 | |---|---|---|---|---:| | `STILL_HOLD` | 静帧叙事 | 旁白、反应、场景交代、道具特写 | 静帧+字幕+声音+轻微淡入淡出 | ¥0 | | `LOCAL_MOTION` | 本地运镜 | 对话、环境、情绪特写、信息镜头 | FFmpeg缩放/平移/旋转/裁切/转场 | ¥0 | | `LAYERED_2_5D` | 2.5D分层 | 前中后景明显、氛围镜头 | 背景/人物/前景分层,以不同速度移动 | ¥0模型费 | | `LOCAL_LIPSYNC` | 局部动态 | 正面对白、轻微表情 | 静态角色+音频驱动嘴型/眨眼;背景不重生成 | 本地或低成本 | | `AI_I2V` | AI图生视频 | 打斗、奔跑、转身、复杂表演、大范围真实运动 | 批准首帧/参考图→Seedance等I2V | 按秒计费 | `AI_T2V` 不属于默认生产路由,只允许做无资产、无连续性要求的实验镜头。 ## 三、逐镜判断规则 按顺序提问,第一个“是”就是路由: ```text 1. 只靠构图、声音和字幕能讲清楚吗? → STILL_HOLD 2. 只需要推近、拉远、横移、轻摇或画面震动吗? → LOCAL_MOTION 3. 前景/人物/背景分开移动就有空间感吗? → LAYERED_2_5D 4. 只有嘴、眼、头发、衣摆需要动吗? → LOCAL_LIPSYNC / 局部动态 5. 必须出现身体动作、复杂互动或真实空间变化吗? → AI_I2V ``` “感觉视频会更高级”不是调用 `AI_I2V` 的理由。 ## 四、图片如何变成简单视频 ### 4.1 静态图片生成指定时长片段 编辑器必须识别 PNG/JPG 输入,为图片增加循环输入,再按镜头时长输出视频。核心语义: ```text image + duration + fps + resolution → loop still frame → scale/crop/pad → optional zoom/pan/rotate → H.264片段 ``` 现有 `engines/video-editor.js` 已有 `zoompan`、平移、旋转和调色;需要补的是“图片输入循环”和图片/视频分流。 ### 4.2 六种免费运镜模板 ```yaml slow_push: zoom 1.00 → 1.10 # 情绪靠近、人物特写 slow_pull: zoom 1.12 → 1.00 # 揭示环境、孤独感 pan_left: x 右 → 左 # 展示空间/队伍/建筑 pan_right: x 左 → 右 # 跟随视线/信息展开 tilt: y 下 → 上 / 上 → 下 # 建筑、人物全身、压迫感 impact: 短促zoom + 轻震 + cut # 巨响、冲击、惊讶 ``` 动作要轻;每镜通常只使用一种主运动,避免“PPT乱飞”。 ### 4.3 2.5D分层 ```text 原图/生成阶段 ├── BG: 背景场景 ├── CHAR: 透明人物层 ├── FG: 前景遮挡层 └── FX: 烟雾/光/粒子层 合成阶段 ├── BG慢移 ├── CHAR中速移动/缩放 ├── FG稍快移动 └── FX循环/淡入淡出 ``` 没有分层资产时,先从单图慢运镜开始,不得为了做2.5D重新抽大量素材。 ### 4.4 对白镜头 ```text 先生成对白音频 → 锁定字幕时间轴 → 选择静态运镜或局部口型 → 只有表演强度确实需要时才调用AI_I2V ``` 对白是否好看,主要由构图、停顿、字幕、声音和反应镜头决定,不要求整张画面一直变化。 ## 五、图片优先生产管线 ```text 01 script_lock 锁剧本与台词 02 breakdown 拆角色/场景/道具/声音 03 asset_lock 批准可复用图片资产 04 shot_design 设计镜头目的与时长 05 motion_route 每镜选择五级路由 06 audio_first 先做临时配音/字幕时间轴 07 animatic 全集静态图+本地运镜预演 08 human_review 苍耳先看完整节奏 09 expensive_select 只圈出必须AI_I2V的镜头 10 ai_generation 批准首帧后按镜生成,最多2次 11 final_edit 替换关键镜头、混音、字幕、转场 12 qc_writeback 连续性/成本/失败原因回写 ``` 硬门槛:第07步没有完整 animatic,不进入第09步。 ## 六、深海迷航 EP01 立即改路 旧方案:10镜、86秒全部按 Seedance 计价,预计约 ¥43;仓库记录的整集预计成本约 ¥60。 新方案的目标分布: ```text 10镜 ├── 6~7镜: STILL_HOLD / LOCAL_MOTION ├── 1~2镜: LAYERED_2_5D / LOCAL_LIPSYNC └── 2~3镜: AI_I2V关键动作 ``` 按仓库当前 ¥0.5/秒记录估算,AI视频只保留约20~30秒时,视频模型预算约 ¥10~15;最终以 dry-run 为准。 立即动作: ```text 1. 暂停按旧计划继续 M03~M10 全量生成。 2. 为 M01~M10 增加 motion_route、route_reason、asset_refs、local_motion、ai_required。 3. 先用现有批准图片生成完整低成本 animatic。 4. 苍耳看完整节奏后,圈定必须重生成的2~3镜。 5. 再调用 Seedance;其余镜头本地完成。 ``` ## 七、执行代码必须更新的位置 ```text engines/video-editor.js → 支持 PNG/JPG 静帧循环、指定时长、关键帧模板、分层叠加 video-ai-system/lib/composer.py → 修正 video-editor.js 实际路径;失败必须显式报错,不得静默退回简单拼接 video-ai-system/lib/cli.py → gen 前强制 motion_route;LOCAL路由禁止调用视频API video-ai-system/tools/run_prompts.js → 不再默认每镜输出Seedance提示词;只给 AI_I2V 生成提示词和成本 MODEL-ROUTER.hdlp / COST-LOG.hdlp → 增加本地动态路由和新旧预算对比 ``` ## 八、BC-006回执格式 ```yaml broadcast_id: BC-006 persona: PTS-VA-001-EED | PTS-VA-001-JY status: RECEIVED | PIPELINE_UPDATED | DRY_RUN_READY active_anchor: broadcast/ACTIVE-PIPELINE.hdlp project: deep-sea-voyage/EP01 shots_routed: 10 local_shots: 0 ai_i2v_shots: 0 old_budget: 0 new_budget: 0 changed_files: [] blockers: [] ``` > ⊢ 先用图片把整集讲明白,再让视频模型只动最值得动的地方。