Nodes/ComfyUI-Interactive/Interactive Seed
ComfyUI Node

Interactive Seed

Roll a new seed on demand instead of every single queue

By lquesada·Created 2 years ago·Updated about a year ago· 52
Interactive Seed
    • seed_value
    seed_value0

    The standard seed widget in ComfyUI gives you two modes that both fight you a little: fixed (never changes, so you re-roll by hand every time) or randomize (changes on every single queue, so you can't hold a good seed still while you tweak something else). InteractiveSeed is a third option - a seed value that stays put until you explicitly click a button to roll a new one. You get the stability of "fixed" for as long as you want it, and the convenience of "randomize" exactly when you ask for it, without ever switching modes.

    How it works

    The node holds an integer seed value on its widget. Queue your workflow as many times as you like and that value doesn't move - it feeds the same seed downstream every run, same as a fixed seed would. When you're ready for a different one, click the node's button and it generates a fresh seed value, which then holds steady again until you click again. It's the same pattern as InteractiveSave's manual trigger, just applied to seed generation instead of a file write.

    This is most useful in the same interactive workflows the rest of the pack targets: you're iterating on prompt, LoRA weight, or a chosen branch from an InteractiveSwitch, and you want the seed to stay put while you dial in everything else - then roll a new one only once you've settled on a direction and want variation again.

    The inputs and outputs that matter

    • seed_value (required, INT, default 0) - the seed itself. Set it directly if you want a specific known seed, or leave it and use the button to roll a new one.
    • seed_value (output, INT) - wire this into your KSampler (or wherever else takes a seed) the same way you'd wire a Primitive int node.

    That's the whole node - one widget doing double duty as both the manually-set value and the thing the button randomizes.

    How to install it

    Via ComfyUI Manager: search "ComfyUI-Interactive" and install. Manually:

    cd ComfyUI/custom_nodes
    git clone https://github.com/lquesada/ComfyUI-Interactive
    

    Restart after either. No dependencies, no model downloads.

    Common issues & troubleshooting

    The seed keeps changing when I don't click anything. Double-check you haven't got auto-queue running against a workflow that also has something else driving randomization - this node itself only changes on an explicit click, so if the value is moving on its own, look for a different seed source or control_after_generate setting elsewhere in the graph that's overriding what you expect.

    Clicking the button doesn't seem to register. Same pack-wide requirement as everything else here: auto-enqueue off, queue empty. If ComfyUI is actively processing, a click can land awkwardly relative to what's currently running.

    I want this to feed multiple KSamplers with the same seed. That works fine - wire the single seed_value output to as many downstream int inputs as you need. It behaves like any other INT output; there's nothing special that limits it to one consumer.

    Why not just use control_after_generate: fixed and re-roll manually in the widget? You can, and for a single sampler that's honestly just as fast. InteractiveSeed earns its keep once you've got several nodes that should share one seed, or once seed-rolling is one decision in a larger interactive workflow (alongside branch selection, save gating, etc.) and you want it to follow the same click-driven pattern as everything else instead of being the one node that behaves differently.

    Categoryinteractive

    Inputs (1)

    NameTypeDefaultDescription
    seed_valueINT0

    Outputs (1)

    NameTypeDescription
    seed_valueINT