Int Offset
Seed offset in one node, the way the pack's README intends
- INT
Int Offset adds a fixed number to an integer - and unlike the pack's increment/decrement twins, it's explicitly built for the most common real-world case: deriving a seed offset from a main seed. The README says so outright, and it shows in the design. One integer in, one offset in, one integer out. input + offset. That's the node.
Here's the workflow it's for. You have a base seed that drives the "hero" generation, and you want a second, third, or fourth pass that stays close to it - same seed space, predictable relationship - but isn't identical. Wire the base seed into input, set offset to a few thousand, and you get a sibling seed that never collides with the base and follows the same lockstep if you change the base. The KB's troubleshooting advice is to keep your seed fixed while debugging, and offset-from-base is the way to keep that discipline while still varying something: the base stays fixed, the relationship does the varying.
How it works
The implementation is a one-line input + offset. What's worth noting is the input range: offset is capped at 0 to 4,294,967,295 (2^32−1), matching the classic seed space. There's no wrap-around on the sum - if input is near the top of the range and you add, you can produce a number above 2^32, which some samplers handle fine and others quietly remap. If you're feeding the output straight into a KSampler seed port, keeping the offset small (a few hundred to a few thousand) avoids the question entirely.
Inputs and outputs
- input - the INT you're offsetting, marked
forceInputso it's meant to be wired - offset - INT, 0 to 2^32−1, default 0. What gets added
The output is a single INT. Use the offset value as your "how different should this pass be" knob.
Installing it
With the rest of the XJNodes pack. ComfyUI Manager → search "ComfyUI-XJNodes" → install → restart. By hand:
cd ComfyUI/custom_nodes
git clone https://github.com/alexjx/ComfyUI-XJNodes
# restart ComfyUI
No dependencies beyond ComfyUI's Python environment. Category is XJNodes/util.
The honest trade-off
For this one specific job - seed offsets - it's the cleanest tool in the pack: purpose-built, obvious, and it keeps the relationship between seeds visible in the graph. The trade-off is that it can only add. There's no sign switch for subtracting, and offset can't go negative, so if you want base - n you're back to Integer Decrement (or a math node). And if your idea of "vary the seed" is "make it totally different," offsetting is the wrong tool - a few thousand apart in seed space can produce results that look suspiciously related. Offset for controlled variation, a random seed node for chaos. The two live very different lives in the same workflow.
Inputs (2)
| Name | Type | Default | Description |
|---|---|---|---|
| input | INT | — | |
| offset | INT | 00–4294967295 | — |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| INT | INT | — |