KSampler SDXL (Eff.)
KSampler SDXL (Eff.)
- sdxl_tuple
- latent_image
- optional_vae
- script
- SDXL_TUPLE
- LATENT
- VAE
- IMAGE
This is the Efficiency pack's sampler built specifically for the SDXL base-plus-refiner setup. Back when SDXL shipped with a separate refiner model, the "proper" way to run it was two samplers handing a partially-denoised latent between them - base does most of the work, refiner polishes the last few steps. This node does that whole handoff internally, so you don't have to wire two KSamplers and split latents by hand.
It's designed to sit right after the Eff. Loader SDXL node, which bundles your base and refiner checkpoints into a single SDXL_TUPLE.
How it works
The sdxl_tuple input carries the base model, the refiner, and their conditioning together - that's the bundle from Eff. Loader SDXL. Inside, the node samples with the base, then at a step you choose it swaps to the refiner for the remaining steps. Everything else - preview, VAE decode, script execution - works like the other Efficient KSamplers.
The inputs that matter
sdxl_tuple- the base+refiner bundle from Eff. Loader SDXL. This is the whole point; without it the node has nothing to sample.refine_at_step- the step where control passes from base to refiner. Default is-1, which means don't hand off - base only, no refiner. Set it to something like the last 20% of your steps to actually engage the refiner. This is the dial people miss.start_at_step- where sampling begins; useful when you're feeding in an already-partly-denoised latent.steps,cfg,sampler_name,scheduler- the usual. Note the sampler list is large (44 options) and SDXL-family models want the classic DDPM-friendly samplers; the exotic flow-matching solvers in the list aren't meant for SDXL.preview_methodandvae_decode- live preview and whether to emit a finishedIMAGEdirectly (true,true (tiled),false, or output-only variants).
Outputs are SDXL_TUPLE (pass the bundle onward), LATENT, VAE, and IMAGE. The optional_vae and script inputs let you supply a VAE or attach an XY Plot / HiRes-Fix script.
Installing it
ComfyUI Manager → search Efficiency Nodes for ComfyUI, or:
cd ComfyUI/custom_nodes
git clone https://github.com/jags111/efficiency-nodes-comfyui
Restart afterward. No extra models for the sampler itself.
Common issues
Honest take: the base+refiner era is mostly behind us. A lot of modern SDXL finetunes are trained to run refiner-free, and plenty of people get better results running base only and doing a hires pass instead. If you're not deliberately using a refiner, refine_at_step = -1 (the default) is fine and you might not need this node over the plain KSampler (Efficient) at all.
There's also a long-standing, documented quirk in this pack: on SDXL, a LoRA applied through the stack has historically only affected the base model and not the refiner. If your LoRA looks weaker than expected on an SDXL base+refiner run, that's likely why - test it against a base-only setup to confirm.
And the pack-wide ones: IMPORT FAILED on startup (often a pip freeze error) means an environment problem - update ComfyUI, packages and the node. Breakage after a ComfyUI update usually clears by updating the node to the latest commit.
Inputs (13)
| Name | Type | Default | Description |
|---|---|---|---|
| sdxl_tuple | SDXL_TUPLE | — | |
| noise_seed | INT | 00–18446744073709550000 | — |
| steps | INT | 201–10000 | — |
| cfg | FLOAT | 7.000–100 | — |
| sampler_name | COMBO | 44 options: euler, euler_cfg_pp, euler_ancestral, euler_ancestral_cfg_pp, heun, heunpp2, +38 | |
| scheduler | COMBO | 13 options: simple, sgm_uniform, karras, exponential, ddim_uniform, beta, +7 | |
| latent_image | LATENT | — | |
| start_at_step | INT | 00–10000 | — |
| refine_at_step | INT | -1-1–10000 | — |
| preview_method | COMBO | 4 options: auto, latent2rgb, taesd, none | |
| vae_decode | COMBO | 5 options: true, true (tiled), false, output only, output only (tiled) | |
| optional_vaeopt | VAE | — | |
| scriptopt | SCRIPT | — |
Outputs (4)
| Name | Type | Description |
|---|---|---|
| SDXL_TUPLE | SDXL_TUPLE | — |
| LATENT | LATENT | — |
| VAE | VAE | — |
| IMAGE | IMAGE | — |