ZImage Turbo Seed Control
Two seeds from one control, because the refine pass shouldn't use the same one
- base_seed
- refine_seed
Tiny node, small but real job: it produces two seeds instead of one. base_seed for your main generation pass, refine_seed for the second-pass refiner - and by default they're not the same number.
Why does that matter? In a two-pass workflow - generate on ZImageTurboSampler, then run the result through ZImageTurboTwoPassRefiner - the refiner runs a fresh partial-denoise pass, and if you feed it the exact same seed as the base pass, you're re-rolling the same noise the model just spent its steps on. It can work, but a slightly different seed gives the refine pass genuinely new detail to work with instead of rehashing what it already saw. This node is the pack's answer to "what seed goes where."
Inputs:
- seed_mode -
random(default) orfixed. Random grabs a fresh Pythonrandom.randint(0, 0xFFFFFFFF)on every execution; fixed uses yourfixed_seed. - fixed_seed - the seed you actually control, when you want a reproducible run.
- refine_seed_offset - added to the base seed to produce the refine seed. Default 101, so
base_seedandrefine_seedstay clearly distinct. Crank it if you want the refine pass to diverge more.
Outputs: base_seed and refine_seed, both INTs. Wire base_seed into the sampler's seed and refine_seed into the refiner's seed. If you only have one generation pass, take base_seed and ignore the rest.
Two things worth knowing before you rely on it. First, in random mode the node uses Python's random module directly, so it doesn't participate in ComfyUI's seeded workflow-control behavior - set seed_mode to fixed when you want a run you can reproduce exactly. Second, refine_seed is literally base_seed + offset; if you set an offset of 0 you've recreated the same-seed situation the node exists to avoid, so leave the default alone unless you have a reason.
Install is pack-level: ComfyUI Manager → "ZImageTurboHQNodes", or git clone https://github.com/marduk191/ComfyUI-ZImageTurboHQNodes into ComfyUI/custom_nodes, restart. No dependencies, no models.
It's a boring node, and that's the point - it's the "keep your seeds straight" bit of plumbing that stops you from debugging a mysterious two-pass mismatch that turns out to be the same seed doing the same thing twice.
Inputs (3)
| Name | Type | Default | Description |
|---|---|---|---|
| seed_mode | COMBO | random | 2 options: random, fixed |
| fixed_seed | INT | 133713370–18446744073709550000 | — |
| refine_seed_offset | INT | 1010–1000000 | — |
Outputs (2)
| Name | Type | Description |
|---|---|---|
| base_seed | INT | — |
| refine_seed | INT | — |