MiniMax H3 Reference Pack Bridge
Pump external images into the Extender's reference slots
- ref_1
- ref_2
- ref_3
- ref_4
- ref_5
- ref_6
- ref_7
- ref_8
- ref_9
- ref_pack
- ref_count
The MiniMax H3 Extender keeps up to nine image references inside itself - thumbnails, <Picture N> prompt tokens, the works. That's tidy, but sometimes your reference images don't live inside the Extender. They come out of a Load Image, a crop/resize node, a video-frame extractor, a Kontext-style preprocessor, or anywhere else in your graph that emits an IMAGE. MiniMax H3 Reference Pack Bridge is the adapter that lets those external images flow into the Extender's internal reference slots without bypassing the internal system.
The key idea: references are identities, not a list
This is the node that most rewards reading the docstring, because the design is the opposite of the Prompt Pack Bridge. Prompts are an ordered list - holes get compacted, numbering shifts. References are identities: ref_3 must stay Ref 3 even when ref_2 is empty, because your prompt says <Picture 3> and if the bridge silently renamed slots, your character references would land on the wrong faces.
So the bridge takes up to nine optional IMAGE inputs - ref_1 through ref_9 - and packs them into one H3_REF_PACK while preserving exact slot numbers. Plug that into the Extender's ref_pack input and here's what happens on Queue:
- Connected slots are imported into the matching internal Ref slots, where they become normal internal references - thumbnail, prompt token, project persistence, Save/Load compatibility and all.
- Empty slots leave the existing internal reference untouched.
- If an
IMAGEbatch is connected, the first image is imported. - Disconnecting the external input later doesn't remove the imported reference.
- Unchanged external images aren't rewritten on every run.
You get ref_pack and ref_count (how many slots are filled) as outputs. Note that unlike the prompt bridge, an empty middle slot does not shift later references - that's the whole point of the identity semantics.
Why you'd reach for it
The README is explicit that this is an additive entry point, not a replacement: the Extender's internal reference manager keeps working as before, and the bridge exists for "advanced ComfyUI pipelines." The practical wins:
- Reference preprocessing. Run an image through crop, upscale, brightness normalization or a face-detail pass before it becomes
<Picture N>, instead of loading the raw file inside the Extender. - Video frames as references. Grab a frame from a
Get Video Componentsoutput and use it as a character reference for an H3 clip. - Keep one external image pipeline feeding multiple tools, the Extender among them.
Install
It ships in the same pack, so the routine install applies:
cd ComfyUI/custom_nodes
git clone https://github.com/tritant/ComfyUI_MiniMax_H3_Extender.git
Restart ComfyUI (or Manager → MiniMax H3 Extender).
Honestly, most people never need this node - the Extender's built-in reference manager covers the common case. You reach for the Bridge the day you want external preprocessing in the loop, and then it's the difference between a 9-image reference set you can't touch and one you can reshape with the rest of your graph.
Inputs (9)
| Name | Type | Default | Description |
|---|---|---|---|
| ref_1opt | IMAGE | External image for Extender Ref 1. Connected slots keep their exact Ref number; empty slots are left untouched. If an IMAGE batch is connected, the first image is imported. | |
| ref_2opt | IMAGE | External image for Extender Ref 2. Connected slots keep their exact Ref number; empty slots are left untouched. If an IMAGE batch is connected, the first image is imported. | |
| ref_3opt | IMAGE | External image for Extender Ref 3. Connected slots keep their exact Ref number; empty slots are left untouched. If an IMAGE batch is connected, the first image is imported. | |
| ref_4opt | IMAGE | External image for Extender Ref 4. Connected slots keep their exact Ref number; empty slots are left untouched. If an IMAGE batch is connected, the first image is imported. | |
| ref_5opt | IMAGE | External image for Extender Ref 5. Connected slots keep their exact Ref number; empty slots are left untouched. If an IMAGE batch is connected, the first image is imported. | |
| ref_6opt | IMAGE | External image for Extender Ref 6. Connected slots keep their exact Ref number; empty slots are left untouched. If an IMAGE batch is connected, the first image is imported. | |
| ref_7opt | IMAGE | External image for Extender Ref 7. Connected slots keep their exact Ref number; empty slots are left untouched. If an IMAGE batch is connected, the first image is imported. | |
| ref_8opt | IMAGE | External image for Extender Ref 8. Connected slots keep their exact Ref number; empty slots are left untouched. If an IMAGE batch is connected, the first image is imported. | |
| ref_9opt | IMAGE | External image for Extender Ref 9. Connected slots keep their exact Ref number; empty slots are left untouched. If an IMAGE batch is connected, the first image is imported. |
Outputs (2)
| Name | Type | Description |
|---|---|---|
| ref_pack | H3_REF_PACK | — |
| ref_count | INT | — |