Seed
Give your seed a home — one visible value that feeds every sampler
- seed
The seed is the most important number in your workflow and historically the worst-placed one: buried inside every KSampler, buried among a dozen other widgets. Seed is the fix. It's a single node that holds the seed value and outputs it, so you can have one labeled place to set it and wire it into every sampler that needs it. It ships with ComfyUI core in 2026 - nothing to install.
The discipline behind it is old and worth restating: the community's number-one rule for debugging generations is "change one variable at a time with a fixed seed." This node is that rule made structural. Change the seed in one place, and every KSampler in the graph uses the same value, so a comparison of prompts or CFG values is actually a fair one.
How it works
It's a pass-through - honest, minimal, useful. You set an integer, it outputs that integer. The input range goes from 0 up to the max a 64-bit signed integer can hold (about 9.2 quintillion), which is the full range ComfyUI samplers accept. The seed output plugs directly into the seed input on any KSampler or sampler node.
The one thing to know: it's a fixed seed node. There's no randomize button here - that behavior lives on the KSampler's own seed widget. So think of this node as your "locked, reproducible value" - the one you keep still while everything else moves. If you want per-run randomization, that's still the sampler widget's job.
Inputs and outputs
One input, seed - an integer from 0 up to ~9.2×10^18. One output, seed - the same integer, ready to fan out to multiple samplers.
That fan-out is the whole value proposition. A workflow with a first pass, a second pass, and a detail pass - or a video pipeline sampling multiple frames - wants all of them on the same seed for consistency. Wire this one node to all of them and you've got a single knob.
Where people get burned
The classic mistake is expecting a seed to make two different models reproducible. A seed only means anything within one model's random state; the same seed on a different checkpoint gives a different image, and that's normal, not a bug.
Second: a shared seed can be a trap if you actually wanted variation. If two samplers both run a random seed from this node, they're locked together - which is what you want for consistency, but if you wanted the second pass to vary, keep its seed separate.
Third: don't confuse the discipline with magic. Fixed seed isolates variables, it doesn't make output good. If a prompt is bad, the seed being stable just makes the badness reproducible - which, annoyingly, is exactly what you want while you fix it.
Inputs (1)
| Name | Type | Default | Description |
|---|---|---|---|
| seed | INT | 0–9223372036854776000 | — |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| seed | INT | — |