Nodes/Umbra Nodes/Seed Value (Umbra Lab)
ComfyUI Node

Seed Value (Umbra Lab)

The seed node that understands batches and repeats, so you don't have to

By Nocturne-Ai-Labs·Created 2 months ago·Updated 10 days ago· 0
Seed Value (Umbra Lab)
    • seed
    • seed_list
    seed0
    modefixed
    batch_modesingle
    batch_count1
    repeat_behaviorincrement_per_repeat
    repeat_step1
    style_seed_behaviornormal

    Seeds are the most lied-about number in ComfyUI, and Seed Value (Umbra Lab) is the node that finally treats them like the first-class workflow input they are. It's a seed source with an actual brain: fixed or random per run, and - the part that separates it from a plain integer - per-batch and per-repeat progression that the KSampler can actually use.

    What makes it more than a number-in-a-box

    The base mechanic is the same "one source, many consumers" pattern as CFG Value or Steps Value: a single seed feeds every sampler, so one change re-randomizes the whole graph in lockstep. But where the plain value nodes stop, this one keeps going. It outputs two things:

    • seed - a single INT, for the ordinary sampler input.
    • seed_list - an INT list, for nodes (like the Umbra KSamplers) that accept a list and use a different seed per image in a batch.

    The clever part is how the list is built. In single batch mode every image gets the same seed. Switch batch_mode to increment_per_item and image n gets seed + n×batch_count... well, seed + n×step. random_per_item rolls a fresh SystemRandom seed for every item, which is what you want when you're deliberately letting each image in the batch diverge. The repeat_behavior controls what happens across repeated queue runs: increment_per_repeat (the default) advances a per-node counter each time the workflow runs, random_per_repeat rolls a new base, and none locks it. There's also same_seed_style_cycle - a mode tied to Umbra's Power Prompter prompt-card system where style-expanded jobs reuse the same base seed instead of advancing the counter, so variations stay on a stable seed.

    The inputs that matter

    The full schema is bigger than it looks, but a beginner genuinely sets maybe three things:

    • seed - the base value.
    • mode - fixed or randomize. Randomize rolls a new seed every run; fixed keeps yours until you change it.
    • batch_mode - single, increment_per_item, or random_per_item. This is where the batch behavior lives.

    Leave repeat_behavior and repeat_step alone until you understand what the Umbra KSampler's own repeat_behavior is doing - the two nodes cooperate (the sampler detects an UmbraSeedValue upstream and lets it own repeat progression), so double-configuring them is the most common way people get seeds advancing twice as fast as intended.

    Installing it

    Ships in Umbra-Nodes, the ComfyUI companion pack for Umbra Studio (NocturneLabs' open-source local AI suite). ComfyUI Manager → search "Umbra Nodes", or:

    cd ComfyUI/custom_nodes
    git clone https://github.com/Nocturne-Ai-Labs/Umbra-Nodes
    

    Restart ComfyUI. No pip deps, no models.

    Gotchas

    The one trap is the same control_after_generate injury the whole ecosystem shares (covered in the KB plumbing docs): a seed node that randomizes after the run means the number on screen isn't the one that made the image you're looking at. This node's randomize mode rolls before sampling, which is the behavior you want - but if you wire this into a KSampler that also has its own control_after_generate set to increment, you've built a race. Pick one owner for the seed. When a batch comes back with every image identical or every image different and you didn't intend either, batch_mode is the first thing to check.

    CategoryUmbra Lab

    Inputs (7)

    NameTypeDefaultDescription
    seedINT00–18446744073709550000
    modeCOMBOfixed2 options: fixed, randomize
    batch_modeoptCOMBOsingle3 options: single, increment_per_item, random_per_item
    batch_countoptINT11–9007199254740991
    repeat_behavioroptCOMBOincrement_per_repeat3 options: increment_per_repeat, random_per_repeat, none
    repeat_stepoptINT11–18446744073709550000
    style_seed_behavioroptCOMBOnormal2 options: normal, same_seed_style_cycle

    Outputs (2)

    NameTypeDescription
    seedINT
    seed_listINT