Nodes/ComfyUI/SamplerCustomAdvanced
ComfyUI Node Runs on cloud

SamplerCustomAdvanced

The assembly point of the sampler graph

By Comfy-Org·Created 4 years ago·Updated 36 minutes ago· 129,963
SamplerCustomAdvanced
  • noise
  • guider
  • sampler
  • sigmas
  • latent_image
  • output
  • denoised_output

If KSampler is the "one node does everything" path, SamplerCustomAdvanced is the "show me the parts" path. Instead of a cfg widget and a sampler dropdown, it takes five typed objects - noise, guider, sampler, sigmas, and a latent_image - and runs the denoise using exactly what you hand it. It's the hub of ComfyUI's custom-sampler system, the thing that lets you swap in an ER-SDE sampler, a custom noise schedule, or a guider that isn't plain CFG.

It landed in April 2024 and has been the standard skeleton of advanced workflows ever since. It ships with ComfyUI core (comfy_extras.nodes_custom_sampler).

How the parts fit together

Think of it as the sampler node's plumbing, broken into pieces:

  • noise - where the initial random noise comes from. Normally RandomNoise with a seed, or DisableNoise when you want zero added noise (img2img / refine passes).
  • guider - how the prompt steers the run. CFGGuider gives you classic CFG with a cfg widget; BasicGuider is the no-CFG variant for guidance-distilled models.
  • sampler - the denoising algorithm, produced by KSamplerSelect or a dedicated sampler node.
  • sigmas - the noise schedule, produced by a scheduler node like BasicScheduler or LTXVScheduler. This is the piece that makes a model-specific scheduler possible.
  • latent_image - the latent to denoise, same as anywhere else.

The two outputs

  • output - the denoised latent. That's the one you VAE Decode.
  • denoised_output - the model's clean prediction (x0) captured during the run. It's the "where is the image right now" estimate. You'll mostly ignore it, but it's what makes certain advanced tricks work - feeding a predicted-clean latent into another pass, or comparing what the model thinks the final image is at an intermediate step.

Why you'd bother

The honest answer: for 90% of generations you don't. KSampler does the same job with fewer wires. You rebuild the graph when you need to change one piece that KSampler won't let you touch - a custom sigma schedule (SplitSigmas, ExtendIntermediateSigmas), a guider that isn't plain CFG, or a sampler with tunable parameters like ER-SDE or the CFG++ family. Video workflows especially lean on it because LTX and others ship their own schedulers that only make sense as sigmas.

Where people get burned

The most common failure is version mismatch: older saved workflows load with a different SamplerCustomAdvanced signature and die with not enough values to unpack or a tensor-boolean error the moment you touch them (r/comfyui threads 1gpppbs, 1gx4ryq). The fix is usually updating ComfyUI and re-connecting the inputs, not debugging your graph. The second gotcha is wiring: every one of the five inputs must resolve to a real object. Miss a wire and you get a type error, not a friendly warning. And remember that the guider carries the cfg now - you won't find a CFG box on this node, and that confuses everyone once.

Categorymodel/sampling/custom

Inputs (5)

NameTypeDefaultDescription
noiseNOISE
guiderGUIDER
samplerSAMPLER
sigmasSIGMAS
latent_imageLATENT

Outputs (2)

NameTypeDescription
outputLATENT
denoised_outputLATENT