Nodes/Bubba Nodes/Bubba Seed Control
ComfyUI Node

Bubba Seed Control

Bubba Seed Control

By bubbafett5611·Created 5 months ago·Updated 2 months ago· 0
Bubba Seed Control
    • seed
    • info
    seed0

    Bubba Seed Control is a one-trick pony, and the trick is exactly the one you want when a workflow has more than one sampler: it holds a single seed and fans it out to as many samplers as you connect. One widget to edit, one seed everywhere, no hunting through the graph to find the three KSamplers that each have their own stale seed number.

    You can do this with core ComfyUI by converting each KSampler's seed widget to an input and wiring them all to a single PrimitiveInt. This node is that, but with the two ergonomic details that make it worth the swap: a native control_after_generate dropdown and a "Manual Random Seed" button, both matching Bubba KSampler so a model-comparison workflow behaves consistently across every sampler.

    How it works

    You set seed (an integer up to 2^64−1 - big enough for anything), and the node outputs that same integer on the seed output. Wire that into each sampler's seed input and you're done. The info output is a plain string summary of the current seed, handy if you want to display it or log it.

    The control_after_generate control is the part beginners sleep on. It's the dropdown that decides what happens to the number after a run: fixed (leave it), increment, decrement, or randomize. And here's the injury every ComfyUI user gets once, straight from the KB's node-plumbing essay: by default the control fires after generation, which means the seed shown in the box is the one that will run next, not the one that just produced the image. You find a great result on a random seed, flip to "fixed" to keep it, and it's already gone - the good seed was overwritten at the end of the run. The global fix is ComfyUI's "widget control mode" setting, switched from After to Before, and you should set it once and never look back.

    Where you'd reach for it

    Model comparison is the canonical case, and it's the one the Bubba README centers: wire Bubba Seed Control near the branch point, run its seed output into every sampler's seed input, and every branch samples the same noise. That's the entire point - if you're A/B testing checkpoints, a different seed per branch makes the comparison meaningless. LoRA testing grids and hires-fix passes have the same need: same seed, different everything else.

    How to install it

    Part of the Bubba_Nodes pack. ComfyUI Manager → "Bubba Nodes" → install → restart, or manually:

    cd ComfyUI/custom_nodes
    git clone https://github.com/bubbafett5611/bubba_nodes.git
    

    Restart, and pip install -r requirements.txt if dependencies complain (it's just aiohttp and pydantic). The pack needs ComfyUI v0.27.0+ since it registers via the newer V3 comfy_api.latest API.

    Gotchas

    The seed box itself is a widget, and if you don't wire its output anywhere the node does nothing useful - that one's on you. The real trap remains the control_after_generate timing above; if your seeds keep changing between runs, that dropdown is why. Also note this node is pure plumbing: it stores no state, holds no metadata, and won't remember anything between sessions. And as with the whole pack (which is new enough that the community signal is basically zero so far), the README is the best documentation that exists - the model-comparison section walks this exact wiring step by step.

    CategoryBubba Nodes/Workflow

    Inputs (1)

    NameTypeDefaultDescription
    seedINT00–18446744073709550000

    Outputs (2)

    NameTypeDescription
    seedINT
    infoSTRING