Nodes/MiniMax H3 Continuation/MiniMax H3 Guided Continuation Window
ComfyUI Node

MiniMax H3 Guided Continuation Window

Stretching a MiniMax H3 clip past its 15-second limit starts here

By ttulttul·Created about a month ago·Updated 27 days ago· 2
MiniMax H3 Guided Continuation Window
  • previous_av_latent
  • latent
  • window_length
  • overlap_video_tokens
  • overlap_audio_tokens
  • transition_video_tokens
  • transition_audio_tokens
overlap_frames22
extension_frames119

MiniMax H3 is the 33B open-weight video model with native stereo audio, and it's great - right up until you need a scene longer than its ~15-second ceiling. That's the wall every H3 user eventually hits. This node is the first step over it: it plans the next chunk of your clip, before anything has been sampled.

It comes from ttulttul's ComfyUI-Minimax-H3-Continuation pack, which is a three-node set designed around ComfyUI's native H3 support. There's no patched model, no VAE round trip, no API call - the pack only rearranges latents that ComfyUI already produces.

What it actually does

Feed it your completed initial H3 latent, and it allocates a fresh, all-zero AV target that's deliberately longer than the frames you want to see. The leading part is the hidden overlap - motion context that will get sampled and then thrown away. The trailing part is your visible extension, the frames you actually keep.

Why the overlap at all? Because the previous clip's ending needs somewhere to anchor. A sibling node in the pack injects that ending as a native guide, the overlap is where it lands, and once sampling is done the overlap is discarded and only the new suffix survives. Think of it as scaffolding: useful while you build, removed afterward.

The two numbers that matter

  • overlap_frames (default 22) - hidden context span. It has to satisfy the model's own 17k + 5 video-grid rule, which is why it's capped at a minimum of 5 and steps by 17.
  • extension_frames (default 119) - the visible new frames, and it must be a multiple of 17. At 24 fps, 119 frames is about five seconds.

Those defaults aren't the author being cute; they're the model's native temporal grid. H3's video latent doesn't tile by single frames - it works in 17-frame groups. 22 + 119 = 141, and that's exactly what the window_length output reports.

Outputs and how to wire them

The outputs are the connective tissue for the whole pack, and there are more of them than a typical node. The ones you actually touch:

  • latent - the fresh unmasked target. Feed it to your continuation sampler's latent input.
  • window_length - plug this into the extension MiniMax H3 Image to Video node's length input. This is the wire people forget, and the mismatch is how you get a conditioning length that doesn't match your target.
  • overlap_video_tokens and overlap_audio_tokens - small ints that describe the hidden overlap in the model's own token units (22 frames is 7 video tokens; the audio count is 36 or 37 depending on where you are on the global 40 Hz timeline). Wire them into the guide and append nodes.
  • transition_video_tokens / transition_audio_tokens - always zero in the current release, since the whole overlap is discarded after sampling.

Installing it

Install via ComfyUI Manager (search "MiniMax H3 Continuation"), or clone it:

cd ComfyUI/custom_nodes
git clone https://github.com/ttulttul/ComfyUI-Minimax-H3-Continuation

Then restart ComfyUI. There are no Python dependencies - the pyproject.toml dependency list is empty - and the pack ships no model files. You still need the MiniMax H3 weights themselves (the MiniMaxAI/MiniMax-H3 repo, a chunky ~42.5 GB download) loaded through ComfyUI's normal UNET/CLIP/VAE loaders. And check your ComfyUI is on commit e01fb4c or newer: that's the upstream change that added arbitrary-frame H3 guides, and this pack won't run without it.

One more thing worth a glance: the MiniMax H3 Community License excludes the US, EU, UK and South Korea from running the local weights. The nodes don't care about any of that, but you should.

Where people get burned

The most common mistake is treating window_length as optional. It isn't - the extension node's length has to equal your overlap plus extension, or the conditioning and the sampled target disagree. And don't touch first_frame/last_frame on that extension node: a competing guide inside the overlap is exactly what this workflow rejects.

CategoryMiniMax H3/continuation

Inputs (3)

NameTypeDefaultDescription
previous_av_latentLATENTThe completed cumulative H3 AV latent to continue.
overlap_framesINT225–3600Hidden motion-context span; must satisfy 17k + 5.
extension_framesINT11917–3570New visible frame count; must be a multiple of 17.

Outputs (6)

NameTypeDescription
latentLATENTFresh unmasked AV target for the continuation sampler.
window_lengthINTConnect to MiniMax H3 Image to Video's length input.
overlap_video_tokensINT
overlap_audio_tokensINT
transition_video_tokensINTAlways zero: the complete hidden overlap is discarded after sampling.
transition_audio_tokensINTAlways zero: the complete hidden overlap is discarded after sampling.