Nodes/ComfyUI-UtilsCollection/MiniMax H3 CLIP Projection Patcher
ComfyUI Node

MiniMax H3 CLIP Projection Patcher

Run MiniMax H3 with a 4B or 8B Qwen3-VL encoder instead of the 32B monster

By silveroxides·Created 2 months ago·Updated about 7 hours ago· 24
MiniMax H3 CLIP Projection Patcher
  • clip
  • clip
projection

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 be minimax for 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.

Categoryadvanced/model/patches

Inputs (2)

NameTypeDefaultDescription
clipCLIP
projectionCOMBODownload 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)

NameTypeDescription
clipCLIP