
最近一直在折腾 MiniMax H3 的音画生成,模型本身确实强,但有个事一直卡着——上了 Turbo LoRA 想四步出片,画面没问题,音频直接变成白噪声。
翻了一圈发现这不是个例。H3 的视频流和音频流用的 shift 不一样,视频走 12,音频走 3。原生采样器在二十步左右还能糊弄过去,一到四步,最后一跳直接把音频更新量放大到正常值的约 2.5 倍。
画面好好的,声音废了。
后来在 GitHub 上看到一个叫 comfyui-minimax-h3-audio-T8 的项目,作者是 T8mars。干的事情很直接——给 ComfyUI 原生的 MiniMax H3 写了一套独立节点,专门解决音画联合生成里那些「原生实现没顾上」的坑。
装上试了试,四步出片,音频干净。今天聊聊它到底做了什么
实测4090D48GB显卡15秒800X1056视频耗时279秒

上面视频制作所用的4步Lora和工作流留言区已躺好,免费领用哦!
提示词书写教程:9个AI视频技能一键装好,MiniMax H3小白上手指南

01
四步加速,音频为什么会炸
先说清楚问题出在哪。
MiniMax H3 是个联合音画 Transformer,一次前向同时生成视频和音频。但两套流用的调度参数不一样,视频走 shift 12,音频走 shift 3。
ComfyUI 原生的 DiT 实现为了兼容普通采样器,做了个数值近似:把音频速度乘上 d(sigma_audio)/d(sigma_video),然后标准 Euler 再统一乘视频步长。
二十步的时候,这个近似还凑合能用。
但 Turbo LoRA 的设计点就是四步。四步的时候,最后一跳会把音频的更新量放大到应有值的约 2.5 倍。
结果就是画面正常生成,音频接近白噪声。这不是 LoRA 的问题,是采样器没给音频单独算账。
20 步(原生可用)视频更新 ▮▮▮▮▮▮音频更新 ▮▮▮▮▮▮两条流步长接近,近似误差小4 步(Turbo 加速)视频更新 ▮▮▮▮▮▮音频更新 ▮▮▮▮▮▮▮▮▮▮▮▮▮▮▮最后一跳放大 2.5 倍,爆白噪声
视频和音频的更新量在四步时严重失配
02
Dual-Clock Sampler:给音频单独开一个时钟
T8 的解法叫双时钟采样器(Dual-Clock Sampler)。
思路很清晰:每一步还是只做一次联合 AV 模型前向,不拆开模型。但更新 latent 的时候,视频和音频各走各的时钟。
视频那边,照常 delta_video × velocity_video。
音频那边,先把模型返回值里的 schedule slope 除掉,再乘 delta_audio。
mask=0 的锁定区域保留 ComfyUI 原有的 inpaint 时钟,完整生成区域用音频时钟。
让音频走自己的时间线,不再被视频的步长拖着走。
Dual-Clock Sampler 核心思路
03
四步工作流怎么搭
作者给了明确的推荐连接方式,四步就能跑:
① 模型加载链路
Diffusion Model Loader → LoraLoaderBypassModelOnly → Dual-Clock Sampler.model⚠ INT8/量化模型不要改用普通 LoRA 合并链
② AV Latent 分流
Empty H3 AV Latent 的同一个 av_latent 同时接到:→ Dual-Clock Sampler.av_latent→ SamplerCustomAdvanced.latent_image
③ 采样器接线
Dual-Clock 的 model → BasicGuider.modelsampler / sigmas → SamplerCustomAdvanced 同名输入
④ 参数设置
steps=4,shift_video=12,shift_audio=3LoRA 强度使用作者建议值
这个节点直接代替了原来需要串联的 Sigma Shift、KSamplerSelect 和 scheduler 三个节点。不用再叠 Sigma Shift,也不用把 beta/simple/normal scheduler 接上去。SamplerCustomAdvanced、RandomNoise 和 BasicGuider 照常用。
可导入的 API 示例见 examples/dual_clock_4step_api.json
04
不止四步:14 个节点全览
四步双时钟是稳定版的核心,但这个插件还有不少东西。一共 14 个节点,分三个菜单:
T8/MiniMax H3/Audio稳定
| 四步 Turbo 核心 |
T8/MiniMax H3/Audio/Experimental实验
T8/MiniMax H3/Still/Experimental实验
05
四种音频模式,各管一摊
插件还定义了四种音频模式,覆盖不同的使用场景:
有个设计细节值得说一下:drive_audio 和 final_audio 是分开的——驱动轨给模型用,最终输出轨是干净的。
这意味着你可以拿人声分离出来的 vocal stem 去驱动模型,同时把原混音送到最终输出。插件不会假装内置了一个没验证过的分离模型,这种克制反而让人放心。
06
实验功能:音频多步与图片编辑
多速率采样器(Multi-Rate Sampler)是实验性节点。视频保持四个宏步,音频在每个宏步内部安排更多微步。比如 4/8 就是每个视频区间 2 个音频微步,4/10 则均衡分配为 2、3、2、3。
代价是计算量——H3 是联合 Transformer,没法只算音频分支。4/8 大约是稳定 4/4 的两倍算力,4/10 是 2.5 倍。
建议先用相同 seed 做 4/4 和 4/8 对照,音频还不够再试 4/10。更多步不保证更好,因为 Turbo LoRA 的训练设计点就是四步。
Ref2VA 静态图像编辑是另一个实验方向。用 H3 的 Ref2VA 条件生成静态候选帧,支持单张主图加最多 8 张附加参考图。三种目标模式:direct_1_frame 成本最低但偏离训练帧数,micro_video_5_frames 生成最短 5 帧再选帧,trained_124_frames 按训练下限生成做质量基准。
实测参考:pruned Ref2VA INT8 在 512×512、20 步、direct_1_frame 下成功保留手袋主体并把黑色皮革改成深红色;相同任务在 128×128 下结构崩坏。自定义画布短边不要低于 512。
07
安装与兼容
安装很简单——把项目目录丢进 ComfyUI 的 custom_nodes/minimax-h3-audio-T8,重启就行。没有额外 pip 依赖,复用 ComfyUI 自带的 PyTorch、torchaudio 和 MiniMax H3 实现。
验证基线是 ComfyUI 0.30.0、Python 3.10+。模型、VAE、CLIP 和 LoRA 还是要自己装。
H3 边界速查固定 24fps,帧数向上对齐到 17n+5训练区间约 124–362 帧,区间外 Preflight 会警告画布像素面积 ≤ 768×1344,宽高为 32 的倍数引用上限:9 张 Picture、3 个 Video、3 个独立 Audio当前只支持 batch size 1
08
写在最后
用了一段时间,最直接的感受是——这个插件做的事情不花哨,但每一步都踩在痛点上。
MiniMax H3 的音画联合生成是个好底子,但原生 ComfyUI 实现里那些「能用但不精确」的数值近似,在四步加速的场景下全暴露了。T8 没有绕开这些问题,而是正面把它们一个一个修掉。
音频时钟分离、媒体编号校验、短场景时间轴对齐、latent 契约检查——每一项都不是什么惊天动地的新功能,但缺了哪一项,你的工作流就卡在哪一步。
开源社区做插件,很多时候不是在做新功能,是在给基础模型的工程化填坑。
这些坑官方不一定顾得上,但对真正在用的人来说,每一个都卡在关键路径上。四步出片还保住音质,这件事本身不大。但它说明一件事——当模型能力到位之后,决定能不能真正用起来的,往往是这些藏在采样器细节里的工程问题。
项目地址放在 GitHub 上,搜 comfyui-minimax-h3-audio-T8 就能找到。如果你也在折腾 H3 的音画生成,值得一试。
手把手教你写 MiniMax-H3 提示词:从小白到出片高手,附赠一个系统提示词,让 AI 帮你写
夜雨聆风