Nodes/comfy-ovum/Combo Mirror Ovum
ComfyUI Node

Combo Mirror Ovum

One dropdown to drive a dozen matching dropdowns

By sfinktah·Created about a year ago·Updated 10 months ago· 7
Combo Mirror Ovum
    • combo
    • strings
    value
    choice_index-1
    choice_regex
    combo_options_str

    Pick a sampler once and have every sampler dropdown in the workflow follow along. That's the pitch, and it's a good one - anyone who has manually synchronized five model or scheduler dropdowns across a big graph knows the pain. Combo Mirror adopts the option list from any combobox input you connect it to, lets you pick a value once, and feeds that same selection into as many compatible combo inputs as you want.

    The mechanism is a frontend/backend split, which is typical of this pack. The frontend reads the options from whatever combo input you've connected, mirrors them into the node's own value widget, and the backend simply reports the currently-selected string at execution time. There's also a hidden combo_options_str field that carries the raw options for inspection.

    The inputs that matter

    • value (COMBO) - the mirrored options; this is what you actually pick from. Connect the node's output to the combo input you want to mirror, and the options appear here.
    • choice_index (INT, default -1) - force a selection by numeric index. If it's not -1, it overrides everything else and manual picking is disabled.
    • choice_regex (STRING) - auto-pick by pattern. The matching order is: regex search, then exact (case-sensitive), then exact (case-insensitive), then substring contains.

    Outputs:

    • combo (COMBO) - the selected value, wired into your target combo inputs.
    • strings (LIST) - all the mirrored option strings, for debugging or fan-out.

    How to use it

    Place it near a node with a combobox (model, scheduler, sampler). Connect ComboMirror's output to that input, and the options mirror into the widget. Pick once, then wire the combo output into every other compatible combo input you want to stay in sync. For automation, drive it with choice_index or choice_regex instead of a human.

    When it's genuinely useful

    The textbook case is a workflow with multiple samplers that must run the same scheduler or the same sampler name - switching models in a multi-pass graph, syncing the VAE/scheduler selections across an ensemble. If you find yourself editing the same dropdown in three places for every change, this earns its slot.

    The honest counterpoint: if your dropdowns live on one node or you change them rarely, a mirrored selector is added ceremony. It shines specifically when "keep N combos consistent" is a recurring chore.

    Installing it

    Part of comfy-ovum:

    cd ComfyUI/custom_nodes
    git clone https://github.com/sfinktah/comfy-ovum
    

    Restart, or ComfyUI Manager → search "comfy-ovum". No models, no extra deps - but note the mirroring lives in the frontend, so the pack's JS must load (it does, by default).

    Gotchas

    The combo_options_str field is marked "internal use only" - leave it alone. The regex matching order matters if your options overlap ("euler" vs "euler_ancestral"): it tries regex first, so a sloppy pattern can grab the wrong option. And since mirroring happens at UI time, options that update dynamically during a run can lag a step behind what you see.

    Categoryovum

    Inputs (4)

    NameTypeDefaultDescription
    valueCOMBO
    choice_indexoptINT-1-1–18446744073709550000Overrides all other inputs if not -1
    choice_regexoptSTRINGstring/regex: overrides combo input if not empty
    combo_options_stroptSTRINGInternal use only

    Outputs (2)

    NameTypeDescription
    comboCOMBO
    stringsLIST