Nodes/ComfyUI/SamplerCustom
ComfyUI Node Runs on cloud

SamplerCustom

The sampler that sits between 'just click it' and 'build it from parts'

By Comfy-Org·Created 4 years ago·Updated about 20 hours ago· 130,493
SamplerCustom
  • model
  • positive
  • negative
  • sampler
  • sigmas
  • latent_image
  • output
  • denoised_output
add_noisetrue
noise_seed0
cfg8.0

Somewhere between KSampler - the all-in-one "model, prompt, settings, go" node - and SamplerCustomAdvanced - where you assemble noise, guider, sampler, and sigmas from four separate plugs - sits SamplerCustom. It's the middle child, and honestly it's the one I'd hand a beginner who wants to understand what the parts are without drowning in them.

It takes a sampler and sigmas as explicit inputs, which KSampler hides behind dropdowns. But it still handles noise, CFG, and conditioning itself, which SamplerCustomAdvanced makes you build by hand. In other words: it exposes the two knobs people actually swap around (sampler + schedule) while keeping the rest of the plumbing internal.

How it works

Internally it does what KSampler does, just with parts handed in as objects instead of chosen from a menu. It builds the noise from your noise_seed (or skips noise if add_noise is off), runs the classic CFG formula against your positive/negative conditioning at the given cfg, and walks the sigmas schedule with the given sampler. The output is two latents, not one:

  • output - the denoised result, the thing you'd normally decode to an image.
  • denoised_output - the model's final clean prediction (the x0 estimate at the last step), which is a genuinely useful artifact for intermediate steps, previews, and some hybrid workflows.

The inputs that matter

  • model, positive, negative, latent_image - the usual suspects.
  • add_noise (BOOLEAN, default true) - leave on for text-to-image; turn off and you're doing img2img-style sampling from an already-noised or structured latent.
  • noise_seed - the seed, with the usual randomize/increment controls.
  • cfg (FLOAT, default 8.0) - note the SD-1.5-era default. Flow-matching and distilled models want far lower (often 1).
  • sampler (SAMPLER) and sigmas (SIGMAS) - the parts this node exists to expose. Feed them from SamplerSelect / a scheduler.

Where people get burned

  • The cfg default. 8.0 is a relic. On an SD 1.5/SDXL checkpoint it's a fine starting point; on Flux or anything distilled it will oversaturate. Change it, don't trust it.
  • denoised_output vs output. They look similar and are easy to wire into the wrong place. output is the final latent; denoised_output is a prediction artifact. If your image looks subtly "off," check which one you decoded.
  • Double noise, again. add_noise on plus an upstream AddNoise node = noising twice. Pick one place to add noise.

It ships with core, no install. If you're moving up from KSampler to understand the sampler/sigmas split but aren't ready for the full custom-sampler graph, this is the right next step - and for most workflows, honestly, it's a perfectly good final step.

Categorymodel/sampling/custom

Inputs (9)

NameTypeDefaultDescription
modelMODEL
add_noiseBOOLEANtrue
noise_seedINT00–18446744073709550000
cfgFLOAT8.00–100
positiveCONDITIONING
negativeCONDITIONING
samplerSAMPLER
sigmasSIGMAS
latent_imageLATENT

Outputs (2)

NameTypeDescription
outputLATENT
denoised_outputLATENT