ComfyUI Client Set Seed (Yogurt Nodes)
Seed every sampler on the remote in one shot
- client
- client
Seeds are the reproducibility dial, and on a multi-sampler remote workflow they're scattered across a dozen KSampler widgets. ComfyUI Client Set Seed fixes that with a different shape than the other Set nodes: instead of targeting one node with a node/key pair, it takes a single seed value and applies it to every seed input in the remote workflow - or just the ones you list.
How it works
The node walks the workflow's nodes and writes your seed into each node's seed widget. The nodes field is optional: leave it blank and every seed-bearing node gets the value; fill it with a comma- or newline-separated list of ids/titles and only those get patched. That's the right design for a seed node, honestly - you don't want to patch seven samplers one Set node at a time, and you also don't always want a single seed across a workflow that's deliberately using different seeds per stage (say, a fixed seed for the base pass and random for a detail pass - for that you'd leave the detail nodes out of the list).
Chaining works like the rest of the family: client in, patched client out, on to the next Set node or to Run. Since it fires before Run submits, the remote run gets your seed and - assuming the remote workflow is otherwise deterministic - you get reproducible results from a machine you never touch.
Inputs
- client - the handle from Load or a previous Set node.
- seed - the value to write. Default 0; wire it from a Seed/Int node locally, or fix it to reproduce a specific result. This is also how you drive a remote batch: vary the seed per run from local logic and the remote stays in lockstep.
- nodes - optional. The list of node ids/titles to apply the seed to; blank = all.
Outputs
- client - the patched handle.
Install
Standard Yogurt Nodes install. ComfyUI Manager → search "ComfyUI-YogurtNodes", or:
cd ComfyUI/custom_nodes
git clone https://github.com/yogurt7771/ComfyUI-YogurtNodes.git
cd ComfyUI-YogurtNodes && pip install -r requirements.txt
Then restart ComfyUI.
Where people get burned
Two things trip people up. First, "applies to every seed" is only as true as the workflow's seed inputs are plain widgets. Some nodes hide seeds behind combos or fixed values, and some workflows derive seeds from a RandomNoise-style node that Set Seed doesn't touch - if your remote still produces different images with the same seed, check whether the seed you think you're patching is actually the one the sampler reads. Second, the blank-nodes = everything behavior is a footgun in the other direction: run it on a workflow where one node's seed is intentionally fixed (an AnimateDiff motion seed, say) and you've just changed behavior you didn't mean to. Listing the nodes explicitly is cheap insurance. And the family-wide reminder: seeds only reproduce if everything else is deterministic - if the remote has any nondeterminism (a sampler with stochastic settings, a differing GPU), the same seed won't give the same pixels across machines, so don't go chasing a bug that's really just hardware.
Inputs (3)
| Name | Type | Default | Description |
|---|---|---|---|
| client | COMFYUI_CLIENT | — | |
| seed | INT | 0 | 统一设置的随机种子 |
| nodesopt | STRING | 指定节点(可用逗号/换行分隔 ID 或标题),留空则应用到全部节点 |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| client | COMFYUI_CLIENT | — |