💪TB | Set Base Seed
The seed node that writes into a GENPARAMS blob instead of a sampler
- genparams
- genparams
You've seen a seed node before. What makes this one different is where the number goes. 💪TB | Set Base Seed doesn't wire into a sampler directly - it stamps the seed into a GENPARAMS object, that shared blob of settings that flows through every node in the TinyBreaker pack. If you're using the pack's own workflow (the Unified Prompt Input → genparams chain → Tiny Dual Sampler), this is the node you reach for when you want a fixed, repeatable image instead of rolling the dice every run.
Why "base" seed, and why it matters
TinyBreaker is a hybrid: a PixArt-Σ based base model that draws the composition, then a Photon/SD1.5 refiner that polishes detail. Both stages denoise, which means both have a noise seed. This node sets denoising.base.noise_seed - the starting noise for the base stage, the one that decides the whole composition. The refiner's seed is a separate setting you'd touch through 💪TB | Set Image Details's image_shift, which is how you get subtle variations of the same image without changing anything structural.
The practical upshot: same seed in this node plus the same genparams chain equals the same image, and it's the first thing you change when you like a composition but want to see what else it can be.
The inputs that matter
Only two, and honestly only one is interesting:
genparams- the generation parameters blob to update. Feed it whatever genparams node came before (Unified Prompt Input, Select Style, or just the METADATA output of the checkpoint loader).seed- an integer from 1 up to 2^64-1, the number that initializes the noise generator. It hascontrol_after_generate, so ComfyUI will offer the usual "fixed / increment / randomize" behavior on the widget.
There are no optional inputs and no hidden config. The output is a single genparams that carries the updated seed, ready to chain into the next genparams node - which is exactly the pack's philosophy: every setting is a small node that copies the blob, edits one key, and passes it on.
Install
Same story for every node in this pack. Either use ComfyUI Manager (Manager → Custom Nodes Manager → search "tinybreaker" → install ComfyUI-TinyBreaker → restart), or:
cd ComfyUI/custom_nodes
git clone https://github.com/martin-rizzo/ComfyUI-TinyBreaker
Then restart ComfyUI. This specific node needs no model files on its own, but the pack as a whole won't do anything useful until you've dropped the TinyBreaker checkpoint into ComfyUI/models/checkpoints and the fp8 T5 encoder into ComfyUI/models/clip (or text_encoders) - see the pack's main loader article for that.
What usually trips people up
Because it's a genparams node, it's useless on its own. If you grab it from the node list and plug it into a vanilla KSampler, nothing happens - the sampler has no idea what a GENPARAMS is. It has to sit in the pack's own chain, upstream of the Tiny Dual Sampler (or the deprecated Double Stage Sampler in older workflows). Also note the seed only controls the base stage; if you're chasing a specific image and "nothing changes" between seeds, check that the refiner stage isn't dominating - bump image_shift instead. And a minor gotcha in the pack's early versions: this node used to be called Set Seed, so old saved workflows may reference a display name that no longer exists. The modern equivalent is this one.
That's the whole node. Small, single-purpose, and exactly as boring as a seed node should be - the kind of thing you set once and stop thinking about.
Inputs (2)
| Name | Type | Default | Description |
|---|---|---|---|
| genparams | GENPARAMS | The generation parameters to be updated. | |
| seed | INT | 11–18446744073709550000 | The seed number to apply. |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| genparams | GENPARAMS | The generation parameters with the updated seed number. (you can use this output to chain other genparams nodes) |