RandomNoise
The seed, as an object you can hand to a sampler
- NOISE
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 thecontrol_after_generatebehavior you know from every other seed widget (randomize, increment, fixed).NOISEoutput - into SamplerCustomAdvanced'snoiseport.
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.
Inputs (1)
| Name | Type | Default | Description |
|---|---|---|---|
| noise_seed | INT | 00–18446744073709550000 | — |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| NOISE | NOISE | — |