Nodes/Difforum/Difforum · H3 Guides
ComfyUI Node

Difforum · H3 Guides

Make MiniMax H3 Perform the Move You Drew

By chillithebillis·Created 4 months ago·Updated 11 days ago· 10
Difforum · H3 Guides
  • positive
  • latent
  • vae
  • keyframes
  • direction
  • audio_vae
  • audio
  • positive
  • info
◄max_guides4►
◄skip_firstfalse►
◄indices0►

MiniMax H3 has a guide mechanism: you tell it "this picture belongs at frame 0, this one at frame 96" and it generates a clip that honours both. The official workflow has you place those pictures by hand. This node places them from your camera move - which is the difference between "here are two photos, connect them" and "here is the dolly I drew, perform it."

How it works

It's a thin wrapper, and that's to its credit: for each keyframe you give it, it calls ComfyUI's core MiniMaxH3AddGuide once, chaining the conditioning through each call. Nothing is reimplemented, so when the core node changes, this tracks it.

You feed it keyframes and indices - typically from the Keyframes node on the H3 (17k+5) grid - plus the positive conditioning and the AV latent from MiniMax H3 Reference to Video (or Image to Video) and the H3 video VAE.

The setting that matters

max_guides (default 4). H3 is trained with a few guides per clip, not twenty. This parameter keeps the first, the last, and evenly spaced ones in between, up to the cap. More guides means H3 follows your frames closely; fewer means more of its own motion and invention. The tooltip gives the useful split: 4 for a camera path, 6–8 for a look pass.

That distinction is worth internalising. If you're anchoring a camera move, you want few, well-spread anchors and let the model fill the space between them. If you're using guides to drag a look across a clip - the restyle-style workflow - you want more of them, closer together.

The rest:

  • skip_first - turn it on when frame 0 is already set by something else, like an Image to Video first_frame. Without it you get a duplicate anchor at frame 0 and H3's conditioning gets muddled.
  • audio + audio_vae - anchors a soundtrack at frame 0, with the H3 audio VAE. Do it when your direction is audio-reactive: it keeps Difforum's reactions and H3's own generated audio pointing at the same clock instead of drifting apart.
  • indices - comma-separated frame numbers matching the keyframes you're feeding, e.g. 0,48,96,123. They have to line up; the node can't guess which picture is which.

Output

positive (the chained conditioning) and info. The conditioning goes into your H3 sampler in place of the plain positive you'd otherwise use - everything else in the H3 graph stays as the official template has it.

Install

ComfyUI Manager → search "Difforum", or:

cd ComfyUI/custom_nodes && git clone https://github.com/chillithebillis/Difforum.git difforum

Restart ComfyUI. You also need ComfyUI's own core MiniMax H3 nodes and the H3 weights - Difforum ships none of them. Template 10 (h3_multikeyframe_guides) is the working reference, and H3's day-zero ComfyUI support means the core nodes have been there since launch.

Where people get burned

The licence. H3's open weights ship under the MiniMax H3 Community License, whose Applicable Territory excludes the US, EU, UK and South Korea. That's not a Difforum problem and it has nothing to do with whether the node works - it's a legal constraint on running the weights at all. Worth knowing before you build a pipeline around it.

Practically: don't over-guide. Five anchors from a camera path plus H3's own motion is a shot; twenty anchors is H3 trying to average twenty contradictory instructions, and the output goes soft. Also, guides are only as sharp as the frames you give them - Fill Reveal first if the revealed areas are gray, because anchoring a gray hole tells H3 that a gray hole is part of your film.

CategoryDifforum/5 · Video model bridges

Inputs (10)

NameTypeDefaultDescription
positiveCONDITIONINGPositive conditioning from MiniMax H3 Reference to Video.
latentLATENTThe MiniMax H3 AV latent.
vaeVAEMiniMax H3 video VAE.
max_guidesINT41–16Most keyframes anchored inside the generation. The first and last are kept, the rest evenly spaced. More = H3 follows your frames closely; fewer = more of H3's own motion and invention. 4 for a camera path, 6-8 for a look pass.
skip_firstBOOLEANfalseEnable when frame 0 is already set (e.g. Image to Video first_frame).
keyframesoptIMAGEKeyframe pictures (Keyframes, Keyframe Images or Fill Reveal).
indicesoptSTRING0Frame number of each keyframe, comma separated, e.g. 0,48,96,123.
directionoptDIFFORUM_DIRECTIONThe Director's wire: camera, energy curve, scene prompts, keys and look in one cable.
audio_vaeoptVAEMiniMax H3 audio VAE, needed with audio.
audiooptAUDIOSoundtrack anchored at frame 0.

Outputs (2)

NameTypeDescription
positiveCONDITIONING—
infoSTRING—