从文本到成片:本地 ComfyUI + MiniMax H3 短剧流水线实战

这是「短剧创作体系」系列的生产篇:上一篇讲 12 个可复用模块的工作流设计,这篇讲流水线里最硬的部分——本地出图出片。全套在 E 盘 ComfyUI(端口 8799)跑通,零积分,参数全部实测。

一、开工前三条铁律

这套流水线是用几个通宵的血泪换来的,先立三条规矩:

  1. 自己看图、自己判卷。每出一张图/一段片,必须打开逐张看,对照分镜检查。发现不对就改提示词重抽,不要硬着头皮往下走——硬赶的结果是后面全白干。
  2. 先锁定,后生成。角色一致性靠「设计锁定图」,不靠长描述。单张独立生成必然漂移。
  3. 成本心里有数。864×480 / 124 帧 / 25 步,一镜 5 秒 ≈ 10 分钟;1344×768 同参数 ≈ 26 分钟(别用)。一个 15 秒三镜的片子光出段约 30 分钟,双采超清另算。排期提前说。

二、完整流水线(九步 SOP)

1
2
3
4
5
6
7
8
9
10
11
文本/剧本
↓ ① 分场分镜(写清空间轴与连续性红线)
↓ ② 设计锁定图(竖版电影海报式) ← Z-Image 9 步
↓ ③ 关键帧(每镜一张,硬约束反写漂移项) ← Z-Image 9 步
↓ ④ 自检:逐张看图,不合格改提示词重抽
↓ ⑤ H3 第一采(ref2va 多图参考,864×480/25步)
↓ ⑥ 二次采样精修(超分 1216×672 → beta/3步/denoise 0.2)
↓ ⑦ 自检:抽 0.3s / 中段 / 末段三帧看
↓ ⑦.5 多镜头连续性校验(接触印相 + 六判据质检 + 台账逐镜对比)
↓ ⑧ GPU 后期(补帧 48fps → 分块超分 1080p → 拼装混音)
↓ ⑨ 剪映草稿 + ffmpeg 出成片

每步交付物都落在项目目录:剧集\EP00X\、锁定图_vN\、关键帧_vN\、自检_vN\、成片\。

三、分镜:把空间关系和连续性写死

分镜不是把剧本切成段,是把空间关系写死。必写四项:

  • 空间轴:谁在左前、谁在右后。「机甲右前 / 巨兽左后,同一条对角线」——只列物品清单,模型会自作主张摆姿势;
  • 瞄准/视线同轴:攻击、对视时写「箭尖、弓身中心、目标头部三点连成同一条瞄准线」。血泪:不写这条,机甲面朝镜头摆造型、弓箭背离目标;
  • 连续性红线:配色归属(「橙色只属于机甲核心与能量箭」)、损伤特征、物种细节、点亮顺序(「背鳍点亮必须从尾向头逐片蔓延」);
  • 每段只允许一个动作:一镜一动作,确需多拍写 CUT 1 / TRANSITION / CUT 2。

还有一条跨镜头空间契约:站位锚点一句话逐镜头复读(mecha LEFT facing RIGHT, kaiju RIGHT facing LEFT),锁定图阶段必出一张同框定场图排参考第一位,景别只许 wide→medium→close 渐近。这条是拿「机甲张弓姿态连漂三次」换来的。

四、锁定图与关键帧:反写易漂移部位

提示词的核心技巧是反写——把模型最爱自作主张的部位逐条堵死:

1
2
巨兽:眼周是鳞片,没有眼睑、睫毛、眉毛,头上无角,只有锯齿背鳍没有翅膀
机甲:每一块装甲都是哑光深蓝黑,无白色银色部件,头部无天线无角

不反写的后果(全部实测发生过):巨兽眼睛退化成人眼、机甲变银白、长出高达白衬和能量翼。道具要写死数量与朝向——能量弓曾生成「一箭双头 + 滑轮复合弓弦」。

另一个反直觉点:cfg=1.0 时排除词几乎无效,要正向写「主导状态」。写「绝大多数背鳍是熄灭的深色角质」有效,写「只有三片亮」无效。

五、H3 出段:参数正解表

这些参数别自己拍脑袋,全部实测校准:

项正确值说明
分辨率864×480 或 960×5441344×768 慢 2.6 倍;清晰度缺口由二次采样补
帧数124(5 秒)必须落在 17k+5 网格;121 是非法值
步数25 步 + 不挂加速 LoRA8 步 LoRA 只配 8 步,是试片档
Schedulersimplebeta/normal 留作实验
Samplerres_multistep视频必须走高级采样
ref_image_sizematchmax 更慢,图小时几乎无差
参考图最多 9 张,顺序即编号4 锁定图 + 本镜关键帧 = 5 张

六、三条出片路线与切换时机

路线用途成本
ref2va + 独立二次采样首选成片档:第一采 864×480/25 步,再超分 1216×672 精修(euler+beta+3步+denoise 0.2)~10 分钟 + ~6 分钟/镜
ref2va 单采快速试片:验构图与运动~10 分钟/镜
fl2va降级/钉帧:首帧逐像素硬锚,配色构图必然成立—

切换时机是硬规则:ref2va 连续 2 次出现同一处漂移,立刻切 fl2va。血泪案例:机甲「张弓」姿态,3 个种子、3 版提示词、参考图换位全部漂白——只有首帧硬锚钉住了它。

还有个权重混用的坑:三条路线权重别混——fl2va 用 minimax_h3_fl2va_pruned_int8_convrot,ref2va 用 minimax_h3_ref2va_pruned_int8_convrot,拿错会生硬。加速 LoRA 只有 fl2v 版有,ref2va 没有。

七、后期与自检

后期:整段 film_net 补帧 ×2(48fps)→ 按 0.5s 分块 RealESRGAN_x4plus 到 1080p——整段一次跑要 46GB 内存,必须分块——→ ffmpeg concat -c copy → 混回原音轨。

自检四件套(自动化替代人眼的部分):

  • check_frames.py:抽 0.3s/中段/末段三帧(绕开 ffmpeg 中文路径打码);
  • shot_contact.py:接触印相,抽 9~12 帧拼网格,镜头间断裂只有看图能发现;
  • qc_video.py:切点/停滞/漂白/电梯感/抖动/暗调六判据客观质检;
  • contract_check.py:配色占比 + 角色质心轨迹判越轴——看不了图时的客观证据。

八、本机硬事实(照抄,别重新踩)

  • ComfyUI 在 E:\kuake\comfui\1训练营最新comfyui安装包\ComfyUI,端口 8799;
  • 必须屏蔽系统代理,否则 127.0.0.1:8799 被 10809 吞掉:urllib.request.install_opener(urllib.request.build_opener(urllib.request.ProxyHandler({})));
  • Git Bash 的 PATH 是坏的(dirname/cd/tail/sleep 全缺):文件操作走 PowerShell 或 Python;
  • netstat 输出是 GBK,Python 读取要 .decode("gbk", errors="replace");
  • SaveVideo 的 mp4 在输出 JSON 的 images 键里(不是 videos)——这个坑至少浪费过半小时;
  • ffmpeg 是 2019 裁剪版,中文路径会打码,输入输出先走 ASCII 临时目录;
  • 竖屏短剧可直接 480×864(9:16,与 864×480 token 成本相同),给节点的 width/height 对调即可,实测 7 秒 175 帧 25 步 ≈ 13 分钟。

九、小结

这套流水线的精华不在参数表,而在三个循环:生成→自检→重抽的质量循环、第一采→二采的档位循环、ref2va 漂移→切 fl2va 的降级循环。参数会随模型版本过时,这三个循环不会。下一篇讲怎么把两小时的课程录屏学通透。