DJ Load SDXL CLIPs
Loading the extracted SDXL CLIP pairs that plain ComfyUI refuses
- CLIP
If you've run SDXL as GGUF, you've probably met the wall this node is for: your extracted CLIP encoders won't load. ComfyUI's standard loaders expect standalone CLIP weights with clean keys, but the CLIPs that come out of an SDXL extraction pipeline are still in checkpoint format - conditioner.embedders.0 and .1 prefixes, missing layers like text_projection, and a logit_scale that ComfyUI insists on. The result is "missing keys" errors or a loader that silently constructs a broken CLIP.
DJ Load SDXL CLIPs is the fix for that specific situation. It's built for the bundled CLIP files produced by the author's SDXL GGUF Quantize Tool, which extract CLIP-L and CLIP-G and pack them into a single safetensors. Load one of those through this node and it sorts the whole thing out.
How it works
The node reads from ComfyUI/models/clip - the clip_name dropdown simply lists the files in that folder. When you pick one, it:
- Splits the state dict by key prefix:
conditioner.embedders.1/clip_l.keys become CLIP-L,conditioner.embedders.0/clip_g.become CLIP-G. - Normalizes the keys: adds the missing
transformer.prefix to CLIP-L'sresblocks, strips an extra one from CLIP-G. - Injects placeholder
text_projectionandlogit_scaleweights into CLIP-L so the loader stops complaining about missing layers. - Feeds both dicts to ComfyUI's own
load_text_encoder_state_dicts, which assembles the SDXL dual-CLIP.
One input, one output: clip_name in, CLIP out, wired straight to a CLIPTextEncode node.
The honest caveats
Those injected weights are placeholders - text_projection is literally an identity matrix and logit_scale is hardcoded. The author chased these missing keys through a notebook and a pile of LLM help, and he's upfront that the result is "not better, but not worse" than a ComfyUI-extracted clip_l. Also note the node prints DEBUG key counts to your console on every run; harmless, just noise.
The bigger caveat is scope. This node is tuned for the bundled CLIP files his Quantize tool produces. If your CLIPs were extracted by a different tool with different prefixes, the key-splitting may not match and you'll see weird key counts in that DEBUG output. And if you're loading full .safetensors SDXL checkpoints, you don't need this at all - ComfyUI loads their CLIPs natively.
Installing it
cd ComfyUI/custom_nodes
git clone https://github.com/magekinnarus/ComfyUI-V-Prediction-Node
Restart ComfyUI. No requirements.txt, no pip packages - it only uses ComfyUI internals. Drop your bundled CLIP safetensors into ComfyUI/models/clip, refresh the dropdown, and go. For most people this is a one-time step in a GGUF-on-low-VRAM pipeline, but when your CLIPs won't load, it's the difference between a working workflow and an afternoon of key-mismatch errors.
Inputs (1)
| Name | Type | Default | Description |
|---|---|---|---|
| clip_name | COMBO | 0 options: |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| CLIP | CLIP | — |