Motion Context:把两段 H3 接成长视频 — MiniMax H3 教程
安装 Motion Context 节点,用上一段的音画 latent 续接下一段,完成一次画面与声音都连续的两段拼接。
适用人群: 已经能在 ComfyUI 稳定生成单段 H3,想突破单次时长而不接受明显画面接缝或声音重启的用户。
硬件要求: 能稳定运行 H3 的 NVIDIA 环境;两段必须保持完全相同的分辨率,建议先用短片和原生采样验证。
前置条件
- 可运行的 T2V、I2V 或 Ref2VA H3 ComfyUI 工作流
- ComfyUI 0.32 或 0.33;升级后需重新核验节点兼容性
- 第一段的完整 latent、画面和音频输出
- 提前写好两段 Prompt,第二段开头保留上一段结尾的构图与人物关系
执行步骤
- 把 ComfyUI-H3-Motion-Context 克隆到 ComfyUI/custom_nodes/ 并重启。控制台应显示 h3_motion_context: nodes registered;出现冲突时先移除重复安装或实现同类 patch 的节点包。
- 复制已经跑通的 H3 工作流作为长视频专用版本。把 H3 conditioning 接入 H3 Motion Context,再把它的输出接回 guider/sampler;不要直接改动原始基线。
- 在采样器后加入 H3 Motion Context Save Latent。第一段设 Save clip_index=1,context_latent 保持未连接;正常生成第一段并保留其 decoded IMAGE、AUDIO 与 latent。
- 第二段加入 H3 Motion Context Load Latent,Load clip_index=1,输出只接 H3 Motion Context 的 context_latent。不要把它接到普通 Decode;原生 Save/Load Latent 也不能处理 H3 成对的音画 latent。
- 把当前第二段采样器输出同时接到 Save Latent,并设 Save clip_index=2。这样重试第二段时仍会读取 clip 1,只覆盖 clip 2;接受结果后再把 Load/Save 编号一起向前移动。
- 将解码后的 IMAGE 和 AUDIO 接入 H3 Motion Context Trim,并把 Motion Context 输出的 trim_frames 连过去。Trim 必须同时裁画面和声音,否则上下文帧会重复出现在成片开头。
- 使用起始参数:context_length=22、audio_context_length=24、match_tail=on,分辨率与上一段完全一致,Spectrum=off。22 帧会从交付的第二段开头裁掉约 0.92 秒。
- 写第二段 Prompt 时,开头先保持上一段结束构图约 2 秒,不立刻换景或增加新人;让演员有呼吸、重心移动或视线变化,避免静帧。之后再明确切镜与新动作。
- 生成第二段后,先分别播放裁切前后结果,检查接缝画面、动作方向、声音波形/节拍和响度。满意后再用无重编码或统一参数的工具拼接两段。
- 继续第三段时 Load clip_index=2、Save clip_index=3。链越长越要逐段试听;声音高频会逐渐变钝,适合在自然音乐转场处开启新链,而不是无限续接。
命令
cd ComfyUI/custom_nodes
git clone https://github.com/NikoDemon80/ComfyUI-H3-Motion-Context
git -C ComfyUI-H3-Motion-Context pull
python ComfyUI-H3-Motion-Context/tests/_mock_harness.py
python ComfyUI-H3-Motion-Context/tests/_node_smoke_test.py
注意事项
- 必须使用项目自己的 Save/Load Latent;ComfyUI 原生节点不能保存 H3 成对的音画 latent。
- latent 不能缩放,链中分辨率不一致时节点会拒绝运行;需要改分辨率就从新链开始。
- 链式生成会累积模型平滑,声音高频尤其容易逐段变闷;长作品需规划重新起链的位置。
- Turbo 与 Spectrum 都会损失音频细节,二者叠加会进一步放大问题;这条基线先关闭 Spectrum。
- ComfyUI 更新可能改变节点布局。升级后若组件位置错乱,删除旧 Motion Context 节点、重新添加并接线。
查看原始来源 · NikoDemon80 · 2026-08-23