MiniMax H3 Generation Tail Loader
The 50–63 layer tail that unlocks Qwen3-VL for the H3 conditioning CLIP
- clip_tail
Here's a quirk of the MiniMax H3 ecosystem you'll hit the moment you want the structured enhancer to work: the conditioning CLIP that ships with the H3 workflow is a truncated Qwen3-VL - the first 50 layers. That's plenty for encoding prompt text into conditioning, but it can't generate text, which is exactly what the Prompt Enhancer needs it to do. Generation Tail Loader is the side loader that patches that gap: it selects the missing layers 50–63, final norm, and LM head so the truncated CLIP can write prose, and it does it without permanently loading the extra weights.
The mechanism is what makes it interesting. This node doesn't load anything itself - the tooltip says plainly it uses no VRAM. It just produces a lightweight clip_tail descriptor you connect to Prompt Enhancer.clip_tail. The enhancer then temporarily loads just the tail weights while it writes the prompt, and unloads them afterward. So you get Qwen3-VL generation capability from a conditioning-only CLIP, without keeping the whole tail resident between runs.
The other side of the coin: you only need this for the 50-layer conditioning CLIP. A complete Qwen3-VL or Qwen3.5 CLIP is already generation-capable and needs no tail at all. The node's description says this explicitly - don't add the tail to a complete model.
Input and output
tail_file- an enum listing compatible safetensors underComfyUI/models/text_encoders. The pack looks for files whose name containsgeneration_tail_50_63. If only the "[none - connected CLIP is already complete]" entry shows, then either you don't have the tail installed, or you're using a complete CLIP and don't need this node.- Output:
clip_tail- the descriptor for Prompt Enhancer'sclip_tailinput.
Install
cd ComfyUI/custom_nodes
git clone https://github.com/ethanfel/ComfyUI-MiniMax-H3-Guide
The pack itself has no Python dependencies. The tail, however, is a model file you must download into ComfyUI/models/text_encoders - it doesn't come with the pack. If the dropdown only shows "none," that's the missing piece; install the compatible H3 tail and refresh ComfyUI. (For exact download URLs, check the H3 workflow files and the Qwen enhancer doc in the pack - docs/QWEN_ENHANCER.md - which cover the model options.)
Gotchas
- Don't feed it to a complete CLIP. If you connect the tail to a full Qwen3-VL, you're adding nothing and possibly confusing the enhancer's check. Complete models bypass the tail path entirely.
- The tail is temporary by design. Don't expect the weights to stay loaded; the enhancer manages that. That's not a bug - it's the memory-savings feature.
- If the enum is empty, you're missing the file. The loader's job is to enumerate what's actually in your
text_encodersfolder. No tail file, no entry, no generation.
This is a small, quiet node - three lines of mechanism, one descriptor output. But if you're running the H3 conditioning CLIP and want LLM-enhanced prompts without downloading a whole second Qwen model, it's the difference between a working enhancer and a dead input socket.
Inputs (1)
| Name | Type | Default | Description |
|---|---|---|---|
| tail_file | COMBO | Select the layers 50-63 generation-tail safetensors stored under ComfyUI/models/text_encoders. If only the 'none' entry is shown, install the compatible MiniMax H3 tail and refresh ComfyUI. The weights are loaded temporarily by the enhancer, then unloaded; this node itself uses no VRAM. |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| clip_tail | MINIMAX_H3_GENERATION_TAIL | Connect this to Prompt Enhancer.clip_tail. This lightweight descriptor lets the enhancer temporarily load layers 50-63, final norm, and LM head only while it writes the prompt. |