Smart CLIP Loader MXD
The Smart CLIP Loader MXD
- CLIP
This is the simplest node in the SmartModelLoaders family, so let's be honest about what it's for. The Smart CLIP Loader MXD is a drop-in replacement for ComfyUI's core CLIPLoader with one change: its single clip_name dropdown shows both safetensors and .gguf text encoders from models/text_encoders, and it routes to the right loader by file extension. If you never touch GGUF text encoders, it behaves identically to the core node - same path, same result.
The reason it exists is that single-encoder setups still benefit from quantization. A GGUF T5-XXL for Flux is the classic case: the encoder alone is nearly 5GB at fp16, and on a 12GB card shaving that down is often the difference between fitting and swapping. Same logic applies to Qwen2/Qwen3-style encoders used by newer models - the loader's GGUF support covers t5, llama, qwen2vl, qwen3, and gemma3 architectures. When you're VRAM-capped, quantizing the encoder is usually the cheapest win available.
How it works
Standard shape: pick a file, set a type, get a CLIP out. Two differences from the core node. First, the merged dropdown - the pack registers a parallel "clip_gguf" folder key pointing at your text encoders directory, so GGUF files appear alongside everything else. Second, the extension check at load time: non-GGUF files go through the exact same comfy.sd.load_clip call the built-in node uses, while GGUF files load via gguf_clip_loader with GGML ops and a GGUFModelPatcher. Tokenizer handling for GGUF T5s is where sentencepiece and protobuf in the pack's requirements come in - the tokenizer is rebuilt from the file's own metadata.
The type dropdown is forwarded straight from the core CLIPLoader, so it's the familiar list: stable_diffusion, stable_cascade, sd3, ltxv, pixart, cosmos, wan, hidream, chroma, and more. Whatever you'd have set on the built-in node, set the same here.
Inputs and outputs
clip_name1- the single text encoder file. The one thing you actually touch.type- architecture selector; same list as coreCLIPLoader.
Output is CLIP, wired into a CLIP Text Encode node. One-for-one swap with the core loader.
Install
ComfyUI Manager - search "Smart Model Loaders" - or manually:
cd ComfyUI/custom_nodes
git clone https://github.com/Maxed-Out-99/ComfyUI-SmartModelLoaders-MXD
cd ComfyUI-SmartModelLoaders-MXD
pip install -r requirements.txt
Restart; it shows under advanced/loaders. No model downloads; the requirements are gguf>=0.13.0, sentencepiece, protobuf.
Common issues
- Error instead of load on a GGUF - the loader raises on text encoders it can't make sense of ("incompatible with llama.cpp" is the tell), which usually means a conversion without tokenizer metadata. Grab a maintained conversion rather than an obscure one-off.
- Output changed after switching to a quant - expected. Q8 is effectively indistinguishable from fp16; Q4 and below start showing on typography and fine detail. If it fits at Q8, take Q8.
If you already run the dual loader from this pack, this one is largely redundant - the dual's second slot can just sit unused. But if you're on a single-encoder model and want one node that accepts any text encoder format you'll ever drop in the folder, it does the job with zero fuss.
Inputs (2)
| Name | Type | Default | Description |
|---|---|---|---|
| clip_name1 | COMBO | 0 options: | |
| type | COMBO | 25 options: stable_diffusion, stable_cascade, sd3, stable_audio, mochi, ltxv, +19 |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| CLIP | CLIP | — |