MiniMax H3 CLIP Projection Patcher
Run MiniMax H3 with a 4B or 8B Qwen3-VL encoder instead of the 32B monster
- clip
- clip
MiniMax H3 conditions on a Qwen3-VL 32B text encoder. That's a lot of VRAM before you've even loaded the 33B diffusion model - on a 24GB card you're fighting for every byte. UC_MiniMaxH3ClipProjectionPatcher is the escape hatch: it projects a Qwen3-VL 4B or 8B encoder into H3's 32B conditioning space, so you can drive H3's conditioning from a far smaller text encoder and free up the memory for the part that actually renders. It's part of silveroxides/ComfyUI-UtilsCollection's MiniMax H3 tooling.
The mechanics are a projection, not a swap-and-hope: a learned projection maps the smaller encoder's output into the 32B space H3's cross-attention expects. The pack ships no weights for this - you download one matching projection model, and the node loads it. Matching matters: 4B encoder needs a 4B projection, 8B needs 8B.
What's on the node
- clip - your Qwen3-VL encoder, loaded with Core's Load CLIP node using type
minimax. This is the part people miss: the loader type has to beminimaxfor the projection to fit. - projection - a dropdown of projection files found in
ComfyUI/models/clip_projections/. If the list is empty, the tooltip points you at the README's model links - that's the signal to download one. - clip output - the patched encoder, ready to feed your H3 conditioning path.
Getting the projection file
Download one matching your encoder size from the NicoLab28/ClipProj-MiniMax-H3 repository on HuggingFace, into ComfyUI/models/clip_projections/:
mmh3-4b-ClipProj-v3.1.safetensors(Qwen3-VL 4B)mmh3-4b-ClipProj-v3.1-mlp.safetensors(4B with residual MLP)mmh3-8b-ClipProj-v3.1.safetensors(Qwen3-VL 8B)mmh3-8b-ClipProj-v3.1-mlp.safetensors(8B with residual MLP)
Only one projection is used at a time. And a warning straight from the README: the control/ and obsolete/ files in that repo are not normal generation models - don't grab the first thing you see.
Installing it
Via the pack:
- ComfyUI Manager: search "ComfyUI-UtilsCollection".
- Or:
cd ComfyUI/custom_nodes
git clone https://github.com/silveroxides/ComfyUI-UtilsCollection
Restart ComfyUI. The node itself needs no extra pip packages beyond the pack's standard opencv-python and typing-extensions.
Gotchas
The tradeoff is real: a 4B encoder projected into 32B space conditions faster and leaner, but it's not identical to running the real 32B encoder - expect subtly different prompt-following, especially for long, detailed prompts. Use the 8B projection if your VRAM can take it; use 4B when you're squeezing. The "with residual MLP" variants are a quality-vs-size choice - if the plain projection's conditioning feels flat, try the MLP version. And if the dropdown comes up empty, don't fight it: the node is telling you the projection isn't where it expects, which is ComfyUI/models/clip_projections/, exactly one file at a time.
Inputs (2)
| Name | Type | Default | Description |
|---|---|---|---|
| clip | CLIP | — | |
| projection | COMBO | Download one matching 4B or 8B .safetensors projection into ComfyUI/models/clip_projections. If none are listed, see README.md for model links and loader settings. |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| clip | CLIP | — |