ComfyUI Node Runs on cloud

KSampler (Efficient)

KSampler (Efficient)

By jags111·Created 3 years ago·Updated 4 months ago· 1,486
KSampler (Efficient)
  • model
  • positive
  • negative
  • latent_image
  • optional_vae
  • script
  • MODEL
  • CONDITIONING+
  • CONDITIONING-
  • LATENT
  • VAE
  • IMAGE
seed0
steps20
cfg7.00
sampler_name
scheduler
denoise1.00
preview_method
vae_decode

This is a regular KSampler with two of the most common downstream nodes folded in. Instead of wiring KSampler → VAE Decode → Preview Image every single time, this one samples and shows you the picture. That's the whole pitch, and honestly it's a good one. Once you've built the same three-node tail forty times you start to appreciate a node that just does it.

It comes from the Efficiency Nodes pack, whose entire reason for existing is collapsing those repeated multi-node sequences into single compact nodes so your graph stays readable. This is the one people actually came for.

Why you'd reach for it

Two reasons. First, the built-in preview: you can watch the latent evolve step by step, or have it VAE-decode the final image right on the node, without a separate branch cluttering the canvas. Second, and this is the sneaky-important one, it's the sampler that runs the pack's scripts - XY Plot, HiRes-Fix, and the rest. Those don't sample on their own; they hand this node a SCRIPT and it executes them. If you want the famous XY grid comparisons, you need one of these Efficient samplers underneath.

The inputs that actually matter

Most of the sockets are the standard KSampler set - model, positive, negative, latent_image, seed, steps, cfg, sampler_name, scheduler, denoise - and they behave exactly like they do on the vanilla node. The two you're here for:

  • preview_method - auto, latent2rgb, taesd, vae_decoded_only, or none. latent2rgb and taesd are cheap approximations that let you eyeball progress; vae_decoded_only gives you the real thing but costs a full decode.
  • vae_decode - true, true (tiled), or false. Set it to true and the node emits a finished IMAGE directly. Use true (tiled) when a big decode would blow up your VRAM.

Heads up on sampler_name: this pack ships a huge list (44 of them). Plenty are exotic solvers pulled from other packs, and not all of them suit every model. Sampler choice is architecture-dependent - the old "DPM++ 2M Karras for everything" habit only really holds for SD1.5/SDXL-family models, and aggressive Karras schedules actively misbehave on newer flow-matching models. Pick for your base, don't cargo-cult.

The outputs are generous pass-throughs: MODEL, CONDITIONING+, CONDITIONING-, LATENT, VAE, and IMAGE. That means you can daisy-chain a second sampler for a refiner or hires pass without re-dragging everything from the loader - the model, conditioning and VAE all come straight out the back. The optional_vae input lets you feed a VAE in if your loader didn't bake one; script is where the script nodes connect.

Installing it

Through ComfyUI Manager, search Efficiency Nodes for ComfyUI and install. Or clone it:

cd ComfyUI/custom_nodes
git clone https://github.com/jags111/efficiency-nodes-comfyui

Restart ComfyUI afterward. No models needed just for the sampler itself.

Common issues

The pack's number-one gotcha is import failure - the classic symptom is IMPORT FAILED in the console with a message about pip freeze returning a non-zero exit status. The pack runs a pip check when it loads, so a wonky Python environment takes the whole thing down with it, sampler included. The fix is boring but real: update ComfyUI and your packages, update the node to the latest, and make sure your pip is healthy.

The other recurring one is breakage right after a ComfyUI update - this pack has a long history of lagging Comfy's frontend changes. Maintainer jags111's own standing advice is to update ComfyUI and all dependencies first, then update the node, before you go filing a bug. Nine times out of ten a fresh node update sorts it.

CategoryEfficiency Nodes/Sampling

Inputs (14)

NameTypeDefaultDescription
modelMODEL
seedINT00–18446744073709550000
stepsINT201–10000
cfgFLOAT7.000–100
sampler_nameCOMBO44 options: euler, euler_cfg_pp, euler_ancestral, euler_ancestral_cfg_pp, heun, heunpp2, +38
schedulerCOMBO13 options: simple, sgm_uniform, karras, exponential, ddim_uniform, beta, +7
positiveCONDITIONING
negativeCONDITIONING
latent_imageLATENT
denoiseFLOAT1.000–1
preview_methodCOMBO5 options: auto, latent2rgb, taesd, vae_decoded_only, none
vae_decodeCOMBO3 options: true, true (tiled), false
optional_vaeoptVAE
scriptoptSCRIPT

Outputs (6)

NameTypeDescription
MODELMODEL
CONDITIONING+CONDITIONING
CONDITIONING-CONDITIONING
LATENTLATENT
VAEVAE
IMAGEIMAGE