Icy CLIPLoader
The text-encoder loader for models that keep their CLIP separate (Flux, SD3, Wan…)
- CLIP
IcyCLIPLoader is the IcyHider clone of the core CLIPLoader, and this one genuinely earns a look because the whole text-encoder ecosystem has changed shape. A checkpoint used to carry its own text encoder; modern models - Flux, SD3, Wan, Mochi, CogVideoX - don't. Their prompt understanding lives in a separate model file you load explicitly. This node is how you load it.
What it does
It pulls a text encoder out of your models/text_encoders folder and hands you a CLIP output, ready for a CLIPTextEncode. Two fields decide everything:
clip_name- the file, chosen from a dropdown populated by whatever's in your text_encoders directory. Nothing in the folder, empty dropdown.type- the architecture. This is where beginners stumble, because "CLIP" is a lie of convenience: the list includes CLIP-L, CLIP-G, T5, UMT5, Gemma, Llama, Qwen… all the encoders the modern models actually use. Pick the wrong type and the loader either refuses the file or loads it as garbage.
The node's own description carries the cheat sheet, which is worth quoting because it's the map:
sd: clip-l · stable cascade: clip-g · sd3: t5 xxl / clip-g / clip-l · stable audio: t5 base · mochi: t5 xxl · cogvideox: t5 xxl · wan: umt5 xxl · hidream: llama-3.1 (recommended) or t5 · omnigen2: qwen vl 2.5 3B · cosmos: old t5 xxl · lumina2: gemma 2 2B
There's also an optional device dropdown (default / cpu). Forcing cpu offloads the encoder's weights off VRAM - slower prompt encoding, but it's a real lever when a giant T5 or Qwen encoder won't fit alongside your diffusion model.
How it fits a workflow
Text encoder → CLIPTextEncode → conditioning → sampler. In a typical Flux setup, for instance, you'll see CLIPLoader (for the T5) feeding one encode branch, plus a second encoder for the CLIP side, with both conditionings combined before the sampler. Match the type to the model's required encoder or nothing downstream will make sense.
The "Icy" caveat, straight
This wrapper outputs CLIP, not an image - no preview exists for IcyHider to hide, so the Icy prefix is cosmetic here. It's the pack's automatic clone of every core node, same class, same math. If you're following a modern-model workflow that calls for CLIPLoader, the plain core node does everything this one does; pick whichever keeps your graph tidy.
Install
One install gets the whole Icy family: ComfyUI Manager → search "IcyHider" → Install → restart. Or:
cd ComfyUI/custom_nodes
git clone https://github.com/icekiub-ai/ComfyUI-IcyHider.git
Restart ComfyUI. Zero Python dependencies, and importantly no text-encoder model ships with the pack - you source the .safetensors file and drop it in models/text_encoders yourself. The node is under IcyHider Comfy Core; an empty clip_name dropdown almost always means "file not in the right folder, and you didn't restart."
Inputs (3)
| Name | Type | Default | Description |
|---|---|---|---|
| clip_name | COMBO | 0 options: | |
| type | COMBO | 25 options: stable_diffusion, stable_cascade, sd3, stable_audio, mochi, ltxv, +19 | |
| deviceopt | COMBO | 2 options: default, cpu |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| CLIP | CLIP | — |