发布于 更新于 约 3 分钟读完 · 1,257 字

本文目录 21 节
  1. 一句话总结
  2. 工作流图
  3. 为什么这条工作流值得沉淀
  4. 传统 AI 视频工作流的痛点
  5. 占位工作流的解耦
  6. 各阶段操作要点
  7. 阶段 1 · 基准图按 plan 拼图占位
  8. 阶段 2 · 整体预审
  9. 阶段 3 · 视频替换
  10. 阶段 4 · 加叠化和后处理
  11. 已验证案例 · 23 项目
  12. 反向陷阱
  13. ❌ 陷阱 1 · 跳过占位粗剪直接出视频
  14. ❌ 陷阱 2 · 让占位粗剪太精致
  15. ❌ 陷阱 3 · 让视频时长改 plan
  16. 跨场景适用性
  17. 已验证适用
  18. 推测适用
  19. 不适用
  20. 关联文档
  21. 版本

图片占位 → 视频替换的工作流

入档:2026-05-19 触发:23 项目《再少年》5/18 全天用这套工作流跑完 23 镜叙事 MV 性质:AI 视频生成不确定性 与 叙事节奏确定性的解耦工作流 关联:LLM-plan卡点工作流_v1 / L-cut卡点+xfade时长抵消_v1


一句话总结

先用静态基准图按 plan 拼出占位粗剪,验证卡点+节奏+情感曲线 → 再开跑可灵图生视频,逐段替换占位图为视频,plan 时间轴保持不变。失败可回滚到上一段图占位,且整个叙事节奏在视频生成开始前就已固化。


工作流图

[1] 基准图准备(nano + MJ)
       │
       ▼
[2] LLM-plan 出 卡点 JSON(每镜起止时刻 + 镜头编号)
       │
       ▼
[3] ffmpeg 把基准图按 plan 拼成"图占位粗剪"
       │  ← 此时验证:卡点 / 节奏 / 情感曲线 / 字幕对齐
       │  ← 跳蛛先生预审,可改 plan 不需要重出图
       ▼
[4] 可灵图生视频开跑(23 段并发)
       │  ← 任一段失败:回滚到图占位继续看整体
       ▼
[5] 逐段替换占位图 → 视频(plan 时间轴不变)
       │
       ▼
[6] 加 xfade dissolve + L-cut + 调色 + 雨声 + 字幕
       │
       ▼
[7] 最终视频

为什么这条工作流值得沉淀

传统 AI 视频工作流的痛点

出图 → 直接生成视频 → 看节奏不对 → 重生成 → 节奏还是不对 → 反复抽卡 → 没钱了

核心问题:AI 视频生成的不确定性 + 叙事节奏的确定性 互相耦合,任一变化都触发全链路重算。

占位工作流的解耦

关键洞察:叙事节奏 ≠ 画面运动。

  • 叙事节奏 = 镜头在时间轴上的起止位置(LLM 可以算)
  • 画面运动 = 这一秒画面里有什么变化(AI 视频模型才能生成)

这两个维度是正交的——所以可以先固化节奏(图占位)再生成运动(视频替换)。


各阶段操作要点

阶段 1 · 基准图按 plan 拼图占位

# 单帧静图按 plan 时长生成临时视频段
ffmpeg -loop 1 -t {duration} -i S0X.png \
       -vf "scale=1080:1920,setsar=1" \
       -c:v libx264 -pix_fmt yuv420p \
       -r 24 S0X_placeholder.mp4

关键约束:

  • ✅ 静图拉成视频段时间长度严格 = plan 里的镜头时长
  • ✅ 分辨率/帧率/编码与最终视频一致(避免拼接时重编码)
  • ❌ 不要在这一步加 Ken Burns/vignette/grain(这些是装饰,会迷惑后续判断)

阶段 2 · 整体预审

放音轨 + 占位粗剪整体过 1-2 遍,专门看:

  • 卡点对不对(歌词↔画面)
  • 节奏是否合理(15s 长镜会不会冗长)
  • 情感曲线是否单调(连续 3 段静景会不会困)

这一阶段可以省 80% 的视频生成成本——任何节奏问题在此处发现 = 改 plan,不需要重生成视频。

阶段 3 · 视频替换

# 占位段直接替换为可灵视频段,plan 时间轴不变
# 替换公式:
trim_or_setpts(klink_video, target_duration = plan[shot].duration)

关键约束:

  • ✅ 可灵视频时长 ≠ plan 时长时,用 setpts 慢放/快放对齐
  • ✅ 替换是就地替换(同一文件名 S0X.mp4),不改 plan JSON
  • ❌ 不要让”可灵的实际时长”反过来改变 plan 时间轴(节奏会再次错位)

阶段 4 · 加叠化和后处理

xfade dissolve 0.4s + 调色 + 雨声 + L-cut 字幕 → 详见 L-cut卡点+xfade时长抵消_v1。


已验证案例 · 23 项目

阶段时间窗口产出
阶段 1-2(图占位粗剪)5/18 早 4h占位 v5 540p(无字幕)
阶段 3(逐段替换)5/18 中-晚 6hv8.2 → v8.4
阶段 4(后处理)5/18 晚 2hfinal 1080p

关键回滚案例:

  • S07 第一版可灵跑出”花海溢出画面”——回滚到占位图,改可灵 prompt,再生成。
  • S15 第一版”舞蹈状态”飞起来太快——回滚到占位图,plan 时长不变。

→ 回滚成本 ≈ 0(plan 不动,只重生成单段视频),这是占位工作流的核心价值。


反向陷阱

❌ 陷阱 1 · 跳过占位粗剪直接出视频

副会话最容易犯——觉得”反正 plan 已经出了,直接生成视频快”。 实际上,plan 文本 ≠ plan 视觉体感,只有占位粗剪能让你”看到/听到” plan,且发现 plan 本身的问题。

❌ 陷阱 2 · 让占位粗剪太精致

占位粗剪是工程脚手架,不是中间作品。任何在占位粗剪上花的”装饰时间”(Ken Burns/调色/转场)都是浪费——这些后处理在视频替换完成后再统一加。

❌ 陷阱 3 · 让视频时长改 plan

可灵跑出的实际视频时长可能与 plan 不同(默认 5s / 8s / 10s 三档)。 正确做法:用 setpts 把视频拉/压到 plan 时长。 错误做法:改 plan 时间轴去适配实际视频时长——这会让整个节奏链路重新错位。


跨场景适用性

已验证适用

  • ✅ 叙事型 MV(23 项目)
  • ✅ 多镜头视频拼接(任何 5+ 镜头)

推测适用

  • 🔄 商业广告短片(15-30s 多镜头)
  • 🔄 PV / 预告片
  • 🔄 任何”先有节奏要求,后有视频生成”的项目

不适用

  • ❌ 单镜长视频(没有”节奏锁定”的问题)
  • ❌ 即兴/纪录片风格(节奏本身就是探索出来的)

关联文档


版本

  • v1 - 2026-05-19 - 23 项目首次沉淀

升级触发:

  • 第二次叙事 MV 验证后(如「拾色 · 叙事 MV」立项)
  • 找到比占位图更轻量的”节奏锁定”载体(如 SVG / 关键帧)
  • 镜内切入优于拆镜_保住下游帧锚_v1 —— 同族:承接位先建、素材后填;并补一条「拿现成素材真渲一帧验证接管路径」
类型/IP视觉工作流/视频拼接状态/已验证