QuadrupleCLIPLoader (GGUF)
The four-encoder loader for HiDream
- CLIP
Four text encoders in one node. If that sounds like overkill, it's because this loader exists for one particular model family: HiDream. HiDream-I1 drives its conditioning through four encoders, and this is the GGUF-aware version of ComfyUI's QuadrupleCLIPLoader that loads all of them - with the option to run the heavy ones as quantized .gguf files so the thing actually fits on your card. It's the most niche loader in city96's pack, and the low search traffic reflects that, but if you're on HiDream it's not optional.
Why four, and why GGUF matters so much here
HiDream-I1 was April 2025's biggest open release - the first credible MIT-licensed challenger to Flux - and it earned its prompt-adherence reputation the expensive way. It stacks four text encoders: the two CLIP encoders (CLIP-L and CLIP-G) plus T5-XXL and Llama-3.1-8B-Instruct. The last two are where the instruction-following comes from, and they're also where the weight comes from. A 17B diffusion transformer plus a T5 plus an 8B Llama is a genuinely awkward footprint; the entire month after HiDream launched, the community spent quantizing it down to something a 16GB card could run.
That's the job this node does. Because each encoder loads independently, you can keep the small CLIPs at full precision and run GGUF quants of the two big ones - the T5 and the Llama - which is where nearly all the savings live. GGUF is the ladder that made HiDream runnable at all on consumer hardware, the same way it did for Flux: Q8 is essentially lossless, Q4-Q5 for tighter cards, dropping further only when you're genuinely out of room.
The inputs and output
- clip_name1 / clip_name2 / clip_name3 / clip_name4 - the four encoder files, read from
models/clip(newer ComfyUI:models/text_encoders). For HiDream that's CLIP-L, CLIP-G, T5-XXL, and Llama-3.1-8B-Instruct. The loader accepts both.ggufand plain.safetensors/.bin, so you can mix quantized big encoders with full-precision CLIPs.
There's no type selector - four encoders in this arrangement means HiDream, so the node doesn't ask. The single output is CLIP, which feeds your HiDream CLIPTextEncode node.
Installing it
It ships in city96's ComfyUI-GGUF pack. ComfyUI Manager: search "ComfyUI-GGUF", install, restart. Manual: cd ComfyUI/custom_nodes && git clone https://github.com/city96/ComfyUI-GGUF, then pip install --upgrade gguf, then restart. On Windows portable, clone into ComfyUI/custom_nodes/ComfyUI-GGUF and run the embedded Python against the pack's requirements.txt. The gguf library is the only dependency.
Drop your GGUF encoders in models/clip. You'll want GGUF quants of T5-XXL and the Llama-3.1-8B encoder specifically, since those are the two doing the damage to your VRAM; city96 and others host HiDream-oriented conversions on HuggingFace, and quant packs for popular models tend to show up fast. The node lands under the bootleg category.
Common issues
The one that catches people is slot order - with four dropdowns it's easy to put the Llama where the T5 should go, and HiDream will produce nonsense rather than an error. Line them up the way your workflow expects (CLIP-L, CLIP-G, T5, Llama) and make sure all four dropdowns are populated; an empty one usually means a misplaced file or a stale node list that a refresh fixes. Beyond that, this is a heavy model even quantized - four encoders plus a 17B transformer is a lot to hold resident, so don't be surprised if you're leaning on quants harder here than on any other model. And the general encoder-quant caution applies doubly: A/B a Q4 Llama against Q8 rather than assuming the aggressive quant is free, since the encoders are what carry HiDream's prompt adherence. macOS Sequoia needs torch 2.4.1 (see the pack's issue #107).
Inputs (4)
| Name | Type | Default | Description |
|---|---|---|---|
| clip_name1 | COMBO | 0 options: | |
| clip_name2 | COMBO | 0 options: | |
| clip_name3 | COMBO | 0 options: | |
| clip_name4 | COMBO | 0 options: |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| CLIP | CLIP | — |