Eff. Loader SDXL
Eff. Loader SDXL
- lora_stack
- cnet_stack
- SDXL_TUPLE
- LATENT
- VAE
- DEPENDENCIES
This is the Efficient Loader's SDXL-specific cousin. It loads a base checkpoint and a refiner checkpoint together, encodes your prompts for both, sets up the empty latent, and bundles the whole lot into a single SDXL_TUPLE that plugs straight into the KSampler SDXL (Eff.) node. If you're running the classic SDXL base+refiner pipeline, this collapses what used to be a small forest of loader and encode nodes into one.
How it works
The magic export here is that SDXL_TUPLE output - it carries the base model, the refiner model, and both sets of conditioning as one connection. The matching sampler knows how to unpack it and hand off from base to refiner at the step you pick. You wire this loader's tuple into the sampler and you're basically done with setup.
It also carries SDXL's refiner-specific conditioning knobs that the plain loader doesn't have.
The inputs that matter
base_ckpt_name/refiner_ckpt_name- your two checkpoints.refiner_ckpt_namecan beNoneif you only want the base loaded through this node.positive/negative- multiline prompt boxes, encoded on the node with the sametoken_normalizationandweight_interpretationcontrols as the standard loader.base_clip_skip/refiner_clip_skip- both default to-2. On SDXL, clip skip is largely a non-event because both text encoders already read from the penultimate layer, so don't expect the dial to do much here - it matters far more on SD1.5/anime models than on SDXL.positive_ascore/negative_ascore- SDXL's aesthetic-score conditioning, feeding the refiner. Defaults are6and2; these are the "how much do you want the refiner to lean toward pretty" numbers and the defaults are sensible starting points.empty_latent_width/empty_latent_height- default1024, which is SDXL's native resolution. Stay near there.
For extra models, the optional lora_stack and cnet_stack inputs take a LoRA Stacker and a ControlNet stack.
Outputs: SDXL_TUPLE (into the sampler), LATENT, VAE, and DEPENDENCIES - that last one feeds an XY Plot node so grid comparisons know your model setup.
Installing it
ComfyUI Manager → search Efficiency Nodes for ComfyUI, or:
cd ComfyUI/custom_nodes
git clone https://github.com/jags111/efficiency-nodes-comfyui
Restart after. The "🔍 View model info…" right-click menu needs pythongosssss's ComfyUI-Custom-Scripts to be installed.
Common issues
Worth saying plainly: the separate-refiner workflow this node is built for has fallen out of fashion. Many current SDXL finetunes are trained to run without a refiner, and a lot of people get cleaner results from base-only plus a hires pass. If you're not specifically committed to a refiner model, the plain Efficient Loader plus KSampler (Efficient) is simpler.
There's also a documented pack quirk here: on SDXL, a LoRA applied through the stack has historically only affected the base and not the refiner. If a LoRA seems underpowered on a base+refiner run, that's the likely culprit - verify against a base-only setup.
Pack-wide: an IMPORT FAILED on startup (frequently a pip freeze non-zero-exit error) means the pack didn't load - update ComfyUI, the packages, and the node. After a ComfyUI update breaks things, updating the node to the latest commit is the standard fix.
Inputs (16)
| Name | Type | Default | Description |
|---|---|---|---|
| base_ckpt_name | COMBO | 0 options: | |
| base_clip_skip | INT | -2-24–-1 | — |
| refiner_ckpt_name | COMBO | 1 options: None | |
| refiner_clip_skip | INT | -2-24–-1 | — |
| positive_ascore | FLOAT | 6.000–1000 | — |
| negative_ascore | FLOAT | 2.000–1000 | — |
| vae_name | COMBO | 1 options: Baked VAE | |
| positive | STRING | CLIP_POSITIVE | — |
| negative | STRING | CLIP_NEGATIVE | — |
| token_normalization | COMBO | 4 options: none, mean, length, length+mean | |
| weight_interpretation | COMBO | 5 options: comfy, A1111, compel, comfy++, down_weight | |
| empty_latent_width | INT | 102464–16384 | — |
| empty_latent_height | INT | 102464–16384 | — |
| batch_size | INT | 11–64 | — |
| lora_stackopt | LORA_STACK | — | |
| cnet_stackopt | CONTROL_NET_STACK | — |
Outputs (4)
| Name | Type | Description |
|---|---|---|
| SDXL_TUPLE | SDXL_TUPLE | — |
| LATENT | LATENT | — |
| VAE | VAE | — |
| DEPENDENCIES | DEPENDENCIES | — |