VACE Seed Int
A seed widget you can actually do math with
- seed
ComfyUI's seed widget is great - right up until you need to do something with the seed. It's baked into the KSampler, so you can't easily add iteration_index to it or combine it with anything else. VACE Seed Int is a standalone seed INT with the native control-after-generate behavior, so you get the familiar fixed / increment / decrement / randomize widget and a plain integer output you can feed into math nodes. It's the smallest node in this pack, and one of the most quietly useful.
How it works
Honestly, there's not much mechanism to it: it passes an INT through unchanged. The value is in what the node declares about itself. Its seed input carries the control_after_generate flag, which is what makes ComfyUI render the seed widget the same way it does on a KSampler - a randomize button, increment/decrement on each run, all of it. So you get the exact UX you're used to, but as a standalone node whose output is a normal integer you can pipe anywhere.
The tooltip on the seed input sums up the intended usage: "Use the widget mode for fixed, increment, decrement, or randomize." Set the widget, and the seed output gives you the current value as an INT.
Inputs and outputs
seed(INT, default 0, range 0 to 2^64-1) - the widget. Full native control-after-generate behavior.- Output:
seed(INT) - the current value, for wiring into math or samplers.
Installing it
Part of the comfy-vace-automation pack, no extra pip dependencies:
cd ComfyUI/custom_nodes
git clone https://github.com/EnviralDesign/comfy-vace-automation
Restart ComfyUI, or install via ComfyUI Manager (search "comfy-vace-automation").
When it bites you
There's not much to trip on - it's a passthrough. The two things worth knowing:
- It doesn't randomize for you in a graph sense. If you connect the
seedoutput into a KSampler's seed input, you're just feeding a fixed integer; you still use the widget (orcontrol_after_generate) to change it between runs, exactly as you would on a sampler's own seed. - Where it shines in this pack: seed math per seam.
VACE Clip Loop Startoutputsiteration_indexas a cleanINT. Add it toVACESeedInt's output and feed the sum into your KSampler, and every seam in a multi-clip join gets a different seed from one base value. It's the difference between the same transition rendered five times and five distinct transitions.
Is it a node you'll think about? No. Is it the kind of thing you'll reach for the moment you want per-seam variation? Yes. Sometimes the most useful node in a pack is the one that just hands you an integer.
Inputs (1)
| Name | Type | Default | Description |
|---|---|---|---|
| seed | INT | 00–18446744073709550000 | Standalone seed integer. Use the widget mode for fixed, increment, decrement, or randomize. |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| seed | INT | — |