从文本到成片:本地 ComfyUI + MiniMax H3 短剧流水线实战
从文本到成片:本地 ComfyUI + MiniMax H3 短剧流水线实战
这是「短剧创作体系」系列的生产篇:上一篇讲 12 个可复用模块的工作流设计,这篇讲流水线里最硬的部分——本地出图出片。全套在 E 盘 ComfyUI(端口 8799)跑通,零积分,参数全部实测。
一、开工前三条铁律
这套流水线是用几个通宵的血泪换来的,先立三条规矩:
- 自己看图、自己判卷。每出一张图/一段片,必须打开逐张看,对照分镜检查。发现不对就改提示词重抽,不要硬着头皮往下走——硬赶的结果是后面全白干。
- 先锁定,后生成。角色一致性靠「设计锁定图」,不靠长描述。单张独立生成必然漂移。
- 成本心里有数。864×480 / 124 帧 / 25 步,一镜 5 秒 ≈ 10 分钟;1344×768 同参数 ≈ 26 分钟(别用)。一个 15 秒三镜的片子光出段约 30 分钟,双采超清另算。排期提前说。
二、完整流水线(九步 SOP)
1 | 文本/剧本 |
每步交付物都落在项目目录:剧集\EP00X\、锁定图_vN\、关键帧_vN\、自检_vN\、成片\。
三、分镜:把空间关系和连续性写死
分镜不是把剧本切成段,是把空间关系写死。必写四项:
- 空间轴:谁在左前、谁在右后。「机甲右前 / 巨兽左后,同一条对角线」——只列物品清单,模型会自作主张摆姿势;
- 瞄准/视线同轴:攻击、对视时写「箭尖、弓身中心、目标头部三点连成同一条瞄准线」。血泪:不写这条,机甲面朝镜头摆造型、弓箭背离目标;
- 连续性红线:配色归属(「橙色只属于机甲核心与能量箭」)、损伤特征、物种细节、点亮顺序(「背鳍点亮必须从尾向头逐片蔓延」);
- 每段只允许一个动作:一镜一动作,确需多拍写
CUT 1 / TRANSITION / CUT 2。
还有一条跨镜头空间契约:站位锚点一句话逐镜头复读(mecha LEFT facing RIGHT, kaiju RIGHT facing LEFT),锁定图阶段必出一张同框定场图排参考第一位,景别只许 wide→medium→close 渐近。这条是拿「机甲张弓姿态连漂三次」换来的。
四、锁定图与关键帧:反写易漂移部位
提示词的核心技巧是反写——把模型最爱自作主张的部位逐条堵死:
1 | 巨兽:眼周是鳞片,没有眼睑、睫毛、眉毛,头上无角,只有锯齿背鳍没有翅膀 |
不反写的后果(全部实测发生过):巨兽眼睛退化成人眼、机甲变银白、长出高达白衬和能量翼。道具要写死数量与朝向——能量弓曾生成「一箭双头 + 滑轮复合弓弦」。
另一个反直觉点:cfg=1.0 时排除词几乎无效,要正向写「主导状态」。写「绝大多数背鳍是熄灭的深色角质」有效,写「只有三片亮」无效。
五、H3 出段:参数正解表
这些参数别自己拍脑袋,全部实测校准:
| 项 | 正确值 | 说明 |
|---|---|---|
| 分辨率 | 864×480 或 960×544 | 1344×768 慢 2.6 倍;清晰度缺口由二次采样补 |
| 帧数 | 124(5 秒) | 必须落在 17k+5 网格;121 是非法值 |
| 步数 | 25 步 + 不挂加速 LoRA | 8 步 LoRA 只配 8 步,是试片档 |
| Scheduler | simple | beta/normal 留作实验 |
| Sampler | res_multistep | 视频必须走高级采样 |
| ref_image_size | match | max 更慢,图小时几乎无差 |
| 参考图 | 最多 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 的降级循环。参数会随模型版本过时,这三个循环不会。下一篇讲怎么把两小时的课程录屏学通透。

