方法论与洞察

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

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


一句话总结

先用静态基准图按 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 视频生成的不确定性 + 叙事节奏的确定性 互相耦合,任一变化都触发全链路重算。

占位工作流的解耦

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

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


各阶段操作要点

阶段 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

关键约束:

阶段 2 · 整体预审

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

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

阶段 3 · 视频替换

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

关键约束:

阶段 4 · 加叠化和后处理

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


已验证案例 · 23 项目

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

关键回滚案例:

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


反向陷阱

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

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

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

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

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

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


跨场景适用性

已验证适用

推测适用

不适用


关联文档


版本

升级触发:

类型/方法论工作流/视频拼接状态/已验证