Nodes/ComfyUI/RandomNoise
ComfyUI Node Runs on cloud

RandomNoise

The seed, as an object you can hand to a sampler

By Comfy-Org·Created 4 years ago·Updated about an hour ago· 129,865
RandomNoise
    • NOISE
    noise_seed0

    When you set a seed on KSampler, you're not really setting "the seed" - you're telling the sampler to generate a specific noise pattern that fills the latent before denoising. RandomNoise is that concept extracted into its own node: it produces a NOISE object carrying a seed, which you then hand to a sampler instead of letting the sampler invent one internally.

    It exists because SamplerCustomAdvanced - the fully deconstructed sampler - doesn't take a seed directly. It takes a noise input, and RandomNoise is how you supply one. It's the connective tissue between "the seed" and "the advanced sampling graph."

    How it works

    The node holds a seed and, when asked, generates the noise tensor for whatever latent shape it's given (via ComfyUI's prepare_noise, the same routine the built-in samplers use). Same seed + same latent shape = same noise, which is what makes reproducibility work. Change the latent's dimensions and the noise changes even with the same seed - the seed seeds a generator, not a fixed tensor.

    The input and output

    • noise_seed (INT, 0 to ~1.8e19, default 0) - with the control_after_generate behavior you know from every other seed widget (randomize, increment, fixed).
    • NOISE output - into SamplerCustomAdvanced's noise port.

    There's a sibling worth knowing: DisableNoise produces the same NOISE type but generates all zeros - that's the "don't add noise" option as an object, handy when you want a clean-latent start without re-running the sampler.

    Where it fits

    In a SamplerCustomAdvanced graph it's one of the four pillars - noise, guider, sampler, sigmas - and it's the one beginners routinely skip, because SamplerCustom (the less-deconstructed sibling) hides the noise internally behind an add_noise toggle. If you've only ever used SamplerCustom, RandomNoise is why SamplerCustomAdvanced feels like it's missing a seed field: the seed lives here, in the graph, where you can see and route it.

    Common issues

    • Wiring it into the wrong port. It goes to noise, not to anything labeled seed. If your advanced sampler has no seed and you're confused, this is the piece you're missing.
    • Expecting the seed to fix a sampler issue. RandomNoise controls the starting noise pattern. Same seed, same result - that's all it promises. If two runs differ with the same seed, look at the sampler (ancestral/SDE samplers add noise mid-run, so they never fully reproduce), not the noise node.
    • Forgetting it's per-shape. Rerun at a different resolution with the same seed and you'll get a different image. That's expected, but it trips people up when comparing "same seed, different size" renders.

    It's a small node with a single job, but it's the one that makes the advanced sampler graph legible - and once you've seen the seed as an object, going back to the hidden-internal version feels like a step backward.

    Categorymodel/sampling/noise

    Inputs (1)

    NameTypeDefaultDescription
    noise_seedINT00–18446744073709550000

    Outputs (1)

    NameTypeDescription
    NOISENOISE