Nodes/ComfyUI-MiniMax-H3-Turbo/MiniMax-H3 Turbo Sampler (4-step)
ComfyUI Node

MiniMax-H3 Turbo Sampler (4-step)

Why your MiniMax H3 audio comes out garbled at 4 steps — and the fix

By Larryvrh·Created 19 days ago·Updated 11 days ago· 505
MiniMax-H3 Turbo Sampler (4-step)
    • SAMPLER

    If you've run MiniMax H3 at 4 steps on a slightly-out-of-date ComfyUI and the audio came out as distorted mush while the video looked fine, this is the node that fixes it. It's a near-zero-effort SAMPLER you feed into SamplerCustomAdvanced, and its entire job is making the audio survive the 4-step shortcut that the Turbo LoRA unlocks.

    It's the second half of the ComfyUI-MiniMax-H3-Turbo pack - the little brother to the MiniMaxH3TurboLoRA node. That one applies the speed LoRA to the model; this one provides the sampler that actually steps both streams correctly at low step counts.

    Why it exists

    Here's the weird part of H3: the model denoises its video stream and its audio stream on two different flow schedules. Video uses a time shift of 12, audio a shift of 3. Recent ComfyUI handles that natively - its ModelSamplingAV carries the audio latent scaled onto the video schedule, so a stock sampler steps both correctly. Older ComfyUI doesn't, so a plain single-schedule sampler steps both streams on the video clock, and at 4 steps that badly over-steps the audio. Result: crunchy, broken sound.

    The node's trick is that it auto-detects which ComfyUI it's running on. On recent builds it steps the whole packed latent as a plain single-schedule flow sampler - bit-for-bit the stock result. On older builds it splits the latent into its video and audio segments (it finds the split point from the model's latent_shapes) and steps each on its own clock, re-deriving the audio sigma via the shift-12→shift-3 transform. Same workflow slot either way; you don't change anything when you update ComfyUI.

    Using it

    You set literally nothing. The node has no inputs - open it and you get a SAMPLER out:

    • SAMPLER output → wire into SamplerCustomAdvanced's sampler port.

    That's the whole node. Then:

    1. Start from the official MiniMax-H3 workflow (t2v or i2v).
    2. Drop MiniMaxH3TurboLoRA between the model loader and SamplerCustomAdvanced (this part handles the model).
    3. Set your BasicScheduler to simple at ≥ 4 steps.

    Everything else - conditioning, VAE decode, audio decode - stays as in the official graph. The scheduler should stay on simple; the useful range is 4–8 steps, and past 8 the turbo LoRA starts over-sharpening anyway. One honest note: if you're on recent ComfyUI, a stock euler sampler produces the same result - the Turbo Sampler is there so old graphs keep working unchanged, and so you don't have to think about which ComfyUI you're on.

    Install

    Same as its sibling - ComfyUI Manager (search "MiniMax-H3 Turbo") or:

    cd ComfyUI/custom_nodes
    git clone https://github.com/Larryvrh/ComfyUI-MiniMax-H3-Turbo
    

    Restart ComfyUI. No extra Python dependencies; the pack rides on ComfyUI's own sampler machinery.

    Gotchas

    • Never re-apply the audio shift manually. The node knows whether your ComfyUI already handles the audio schedule; double-shifting corrupts the audio. Just leave it in the graph and let it decide.
    • If your audio is still broken at 4 steps, add steps (6–8) before touching anything else - and keep the LoRA node's strength at 1.0.
    • It expects the proper MiniMax-H3 video+audio latent from the official EmptyMiniMaxH3LatentAV / MiniMaxH3ImageToVideo nodes. Feed it a plain single-stream latent and it'll throw a clear error instead of silently producing garbage - that's a wiring check, not a node failure.
    CategoryMiniMaxH3Turbo

    Inputs (0)

    No inputs

    Outputs (1)

    NameTypeDescription
    SAMPLERSAMPLER