DP Load Dual CLIP With Info
The two-encoder loader, with the recipes built in
- clip
- model_info
Modern diffusion architectures - SDXL, SD3, Flux - mostly ship without a text encoder baked into the checkpoint, so you load it separately. Some of them need two encoders working together for full prompt understanding. This node is that dual-loader, and it does something genuinely useful for beginners: its own description ships the correct pairing recipe for each architecture, so you're not guessing which two files go together.
How it works
You pick two CLIP files (clip_name1, clip_name2) and tell the node which architecture they're for via type. The node's own documentation spells out the pairings directly:
- sdxl: clip-l, clip-g
- sd3: clip-l, clip-g / clip-l, t5 / clip-g, t5 (any of the three pairs work)
- flux: clip-l, t5
That's worth taking at face value - it's the node author's own stated recipe, and it matches how these architectures actually load their encoders elsewhere in the ComfyUI ecosystem. Get the pairing wrong (say, two clip-l files for an architecture that wants clip-l plus t5) and you'll either get an error or a model that technically loads but produces broken or nonsensical results, because the second encoder slot is expecting a fundamentally different kind of model.
The device option matters mostly for VRAM management: loading the CLIP encoders on cpu instead of default (GPU) frees up VRAM for the diffusion model itself, at the cost of slower text encoding - usually a fine trade, since text encoding happens once per prompt while the diffusion model runs for every sampling step.
Inputs and outputs
Required:
clip_name1/clip_name2- dropdowns populated from your CLIP models folder.type- sdxl, sd3, flux, or hunyuan_video. Picks which pairing convention applies.
Optional:
device- default or cpu.
Two outputs:
clip- the combined CLIP object, wire this into your text encode node(s).model_info- a string with info about what was loaded, useful for a text-preview node or for logging which encoders a given run used.
How to install it
Search ComfyUI-Desert-Pixel-Nodes in ComfyUI Manager, or:
cd ComfyUI/custom_nodes
git clone https://github.com/DesertPixelAi/ComfyUI-Desert-Pixel-Nodes
Restart, look under Desert Pixel/loaders. The node itself has no dependencies beyond a standard ComfyUI install - you'll need the actual CLIP/T5 model files in ComfyUI/models/clip (or text_encoders, depending on your ComfyUI version's folder layout) separately; this node loads what's already there, it doesn't fetch anything.
Common issues & troubleshooting
Dropdowns are empty. No CLIP files found in the folder ComfyUI scans for text encoders - download the ones your architecture needs (clip-l and clip-g for SDXL, clip-l and t5xxl for Flux) and restart ComfyUI so it picks them up. Custom-node dropdowns like this one are populated at startup, not live.
Loaded fine, but generations look wrong/garbled. Almost always a pairing mismatch - check type matches what you actually selected. A Flux checkpoint fed only clip-l twice, missing its t5 encoder, is a classic version of this mistake, and it tends to fail quietly rather than with an obvious error.
Running low on VRAM with a big diffusion model. Switch device to cpu for the text encoders. This is a standard move on Flux-class setups specifically - the diffusion model itself is often loaded in fp8 for the same VRAM-saving reason (fp8 is close to lossless for inference and halves memory versus fp16, which is why it became the default way to run Flux-scale models on consumer cards), and pairing an fp8 diffusion model with CPU-loaded text encoders is a common way to fit everything on a 12-16GB card. If your T5 file itself is available in an fp8 variant, that's worth downloading too - it's a large chunk of the total VRAM footprint on Flux and SD3.
T5 encoding is slow. T5 (used in sd3 and flux pairings) is a heavier encoder than clip-l/clip-g and takes noticeably longer, especially on cpu. That's expected behavior, not a bug - it only runs once per prompt change, so the cost is smaller than it feels if you're used to instant CLIP-only encoding.
Inputs (4)
| Name | Type | Default | Description |
|---|---|---|---|
| clip_name1 | COMBO | 0 options: | |
| clip_name2 | COMBO | 0 options: | |
| type | COMBO | 4 options: sdxl, sd3, flux, hunyuan_video | |
| deviceopt | COMBO | 2 options: default, cpu |
Outputs (2)
| Name | Type | Description |
|---|---|---|
| clip | CLIP | — |
| model_info | STRING | — |