Easy MiniMax H3 Reference Bridge
The H3 Reference Node That's Really a Plumbing Shuffle
- clip
- vae
- audio_vae
- ref_image_0
- ref_image_1
- ref_image_2
- ref_image_3
- ref_image_4
- ref_image_5
- ref_image_6
- ref_image_7
- ref_image_8
- ref_video_0
- ref_video_1
- ref_video_2
- ref_video_audio_0
- ref_video_audio_1
- ref_video_audio_2
- ref_audio_0
- ref_audio_1
- ref_audio_2
- positive
- latent
Meet the node you'll probably never add by hand
MiniMax H3's reference-to-video mode is where the model shines: feed it up to nine reference images, a few reference videos with their audio, and it generates a clip that holds characters and sounds across the scene - the "like Kling" motion transfer people raved about at launch. The ComfyUI plumbing for that is genuinely awkward though, because the core MiniMaxH3ReferenceToVideo node uses an Autogrow-style input that doesn't play nicely when it's constructed inside an expanded/looped graph.
This node is the pack's workaround: a fixed-slot wrapper that calls the core H3 reference node directly, with every reference input spelled out as an individual socket. Hence "bridge."
What it actually does
The source is a routing exercise, not a new algorithm:
target = getattr(comfy_nodes, "NODE_CLASS_MAPPINGS", {}).get(
"MiniMaxH3ReferenceToVideo", MiniMaxH3ReferenceToVideoFallback)
return target.execute(clip=clip, vae=vae, audio_vae=audio_vae,
prompt=prompt, width=width, height=height,
length=length, ref_image_size=ref_image_size,
**grouped_inputs)
It takes whatever reference slots you've filled, groups them by prefix (ref_image_, ref_video_, ref_video_audio_, ref_audio_), and hands them to ComfyUI's native H3 reference node. If your ComfyUI build somehow doesn't have it, a pack-internal fallback kicks in. That's the entire mechanism - and it's marked dev-only, which should tell you its audience.
Inputs and outputs
The surface is one big socket sprawl:
clip,vae,prompt,width(1344),height(768),length(124),ref_image_size(match/max) - the generation settings, same as the parent node.audio_vae- required the moment you connect any reference audio.ref_image_0…ref_image_8- up to 9 still references.ref_video_0…ref_video_2- up to 3 reference videos, each with a pairedref_video_audio_0…2socket.ref_audio_0…ref_audio_2- up to 3 standalone audio references.
Outputs are positive (CONDITIONING) and latent (LATENT), ready for your H3 sampler.
When you'd reach for it (and when you wouldn't)
Honestly? Most people shouldn't. The pack's own easy minimaxH3ToVideo node does the same thing with a friendlier interface - it takes plain images/videos/audios inputs, auto-expands them, and wires this bridge internally. You only need this node directly if you're building a workflow that must pass references through a loop or an expanded subgraph where Autogrow inputs break down - the exact scenario this bridge exists for.
Install-wise it's just part of Easy-Media (Manager or git clone, restart). Two practical traps:
- Reference audio without
audio_vae→ hard error. If you connectref_audio_0orref_video_audio_0, you must provideaudio_vae. - Paired sockets.
ref_video_audio_0belongs toref_video_0, notref_video_1. It's an easy mismatch to make when the graph gets busy, and you'll see it as audio being silent or attached to the wrong clip.
If you're doing serious H3 reference work with loops, this node is the load-bearing part of the pack's H3 machinery. If you're new to H3, use the parent node and let this one stay hidden where it belongs.
Inputs (26)
| Name | Type | Default | Description |
|---|---|---|---|
| clip | CLIP | — | |
| vae | VAE | — | |
| prompt | STRING | — | |
| width | INT | 134432–16384 | — |
| height | INT | 76832–16384 | — |
| length | INT | 1245–3600 | — |
| ref_image_size | COMBO | match | 2 options: match, max |
| audio_vaeopt | VAE | — | |
| ref_image_0opt | IMAGE | — | |
| ref_image_1opt | IMAGE | — | |
| ref_image_2opt | IMAGE | — | |
| ref_image_3opt | IMAGE | — | |
| ref_image_4opt | IMAGE | — | |
| ref_image_5opt | IMAGE | — | |
| ref_image_6opt | IMAGE | — | |
| ref_image_7opt | IMAGE | — | |
| ref_image_8opt | IMAGE | — | |
| ref_video_0opt | IMAGE | — | |
| ref_video_1opt | IMAGE | — | |
| ref_video_2opt | IMAGE | — | |
| ref_video_audio_0opt | AUDIO | — | |
| ref_video_audio_1opt | AUDIO | — | |
| ref_video_audio_2opt | AUDIO | — | |
| ref_audio_0opt | AUDIO | — | |
| ref_audio_1opt | AUDIO | — | |
| ref_audio_2opt | AUDIO | — |
Outputs (2)
| Name | Type | Description |
|---|---|---|
| positive | CONDITIONING | — |
| latent | LATENT | — |