Nodes/ComfyUI Extra Samplers/SamplerCustomNoise
ComfyUI Node

SamplerCustomNoise

Pick your starting noise instead of Gaussian or nothing

By Clybius·Created 3 years ago·Updated 2 years ago· 104
SamplerCustomNoise
  • model
  • positive
  • negative
  • sampler
  • sigmas
  • latent_image
  • output
  • denoised_output
add_noisetrue
noise_is_latentfalse
noise_type
noise_seed0
cfg8.0

Every diffusion generation starts from noise, and the stock KSampler only ever hands you Gaussian. SamplerCustomNoise is the single-pass version of that idea, from the ComfyUI Extra Samplers pack by Clybius: it's a drop-in KSampler replacement that lets you choose the flavor of initial noise - and, if you want, use an actual latent as part of that noise.

Why would you care? Because the initial noise isn't just decoration. On ancestral and stochastic samplers especially, the noise tensor's structure shapes composition - pyramid noise (built from stacked octaves, so lower-frequency) tends to produce different overall layouts than uniform noise or plain gaussian. The noise_type dropdown gives you gaussian, uniform, pyramid, and power. It's a low-cost way to add variety to a fixed prompt and seed, and pyramid is the one most people who reach for this node actually want.

The genuinely unusual input here is noise_is_latent. Turn it on and the node takes your latent_image, adds it onto the generated noise, then normalizes the whole thing. You're literally seeding the start of sampling with an image's structure - the code does noise += latent_image, then subtracts the mean and divides by the standard deviation. This is how you get a tinkerer's version of "start from this layout but let the prompt run with it," without the full img2img noise-injection dance. It's finicky, and honestly most people use it for experiments rather than production, but it's the one feature that has no stock equivalent.

The inputs that matter:

  • noise_type - gaussian (default, safe), or uniform / pyramid / power for a different look.
  • noise_seed - controls the noise; bump it along with the KSampler-style seed for more variety.
  • noise_is_latent - the interesting one; off by default. On = start from a normalized blend of noise plus your latent.
  • add_noise - off with a real latent input and it behaves more like img2img (your latent is the starting point, no fresh noise).
  • cfg, sampler, sigmas - the same settings you'd tune on a KSampler, because it is one.

Outputs: output (the sampled LATENT → wire to VAEDecode) and denoised_output (the clean "x0" latent prediction from the sampling run - useful if you're chaining or inspecting).

The source is a thin wrapper around ComfyUI's sample_custom, so once you've installed the pack this node costs you nothing in performance or exotic dependencies. Install is the standard custom-node dance - no models to download:

cd ComfyUI/custom_nodes
git clone https://github.com/Clybius/ComfyUI-Extra-Samplers

restart ComfyUI, or use ComfyUI Manager and search "ComfyUI Extra Samplers." The pack's one dependency is kornia; Manager installs it for you.

Where people get burned: noise_is_latent plus a latent that's a wildly different size than what your scheduler expects can produce garbage that looks like a broken model, not a broken setting. Start with a latent that matches your base resolution, keep noise_type at gaussian while you learn the knob, and only then start swapping noise flavors. If you just want the hires-fix version of this node, that's the SamplerCustomNoiseDuo variant in the same pack.

Categorysampling/custom_sampling

Inputs (11)

NameTypeDefaultDescription
modelMODEL
add_noiseBOOLEANtrue
noise_is_latentBOOLEANfalse
noise_typeCOMBO4 options: gaussian, uniform, pyramid, power
noise_seedINT00–18446744073709550000
cfgFLOAT8.00–100
positiveCONDITIONING
negativeCONDITIONING
samplerSAMPLER
sigmasSIGMAS
latent_imageLATENT

Outputs (2)

NameTypeDescription
outputLATENT
denoised_outputLATENT