ComfyUI Node

Int Offset

Seed offset in one node, the way the pack's README intends

By alexjx·Created 10 months ago·Updated 4 months ago· 0
Int Offset
    • INT
    input
    offset0

    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 forceInput so 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.

    CategoryXJNodes/util

    Inputs (2)

    NameTypeDefaultDescription
    inputINT
    offsetINT00–4294967295

    Outputs (1)

    NameTypeDescription
    INTINT