Nodes/ComfyUI-BadmanNodes/Color Match Combine Presets (Badman)
ComfyUI Node

Color Match Combine Presets (Badman)

Average several color-match presets into one

By MariusKM·Created 2 years ago·Updated 3 months ago· 4
Color Match Combine Presets (Badman)
    • name
    • path
    preset_1
    preset_2
    preset_3
    preset_4
    preset_5
    preset_6
    preset_7
    preset_8
    preset_9
    preset_10
    save_as
    overwritefalse

    This one only makes sense once you already know its companion node. This pack's Color Match node lets you learn a color-drift correction from a reference pair and save it as a named preset. Combine Presets is the next step: take several of those saved presets and average them into a single new one - a "universal" correction built out of several specific ones, rather than picking just one and hoping it generalizes.

    Why you'd want an averaged preset

    Say you're correcting color drift across a project with multiple characters, each with their own drifted-versus-clean reference pair, each saved as its own Color Match preset. Any single one of those presets is tuned to that one character's palette - apply the preset learned from a pale character's portrait to a much darker-skinned character and it can visibly overcorrect. Combine Presets lets you fold several character-specific presets into one blended correction that's less overfit to any single reference, closer to a general "this project's color drift" fix than any one pair alone could give you. It's the same logic as averaging several calibration measurements instead of trusting one.

    Inputs and outputs

    Up to ten preset slots - preset_1 through preset_10 - each an enum populated from the presets you've already saved via Color Match. Per the pack's own description, you need at least 2 and can use up to all 10; leave the ones you're not using at whatever their default is. save_as and overwrite work exactly like they do on Color Match: name the combined preset and decide whether it's allowed to replace an existing one of that name.

    The one hard rule, stated plainly in the README: all presets you combine must share the same method. Color Match presets are learned under either reinhard or hist, and those are different mathematical transforms - averaging a reinhard-learned preset with a hist-learned one doesn't produce a sensible middle ground, it produces nonsense. Build your preset library with a consistent method in mind if you're planning to combine any of them later.

    Two outputs, both STRING: name and path - confirming what the combined preset got saved as and where. This node is_output_node, meaning it's meant to be a terminal step in the graph - its job is writing the combined preset to disk, not passing an image forward.

    Installing it

    ComfyUI Manager: search ComfyUI-BadmanNodes, install, restart. Manual: cd ComfyUI/custom_nodes && git clone https://github.com/MariusKM/ComfyUI-BadmanNodes. No dependencies beyond the pack itself - this is preset file management, not inference.

    Where people get burned

    Method mismatch is, again, the thing to check first if a combined preset looks wrong - it's an easy trap to fall into once you've built up a few presets over time and forgotten which method each one used. Second, this node only combines presets that already exist; it doesn't help you build the individual presets in the first place, so treat it as a finishing step after you've generated a handful of reference-pair corrections with Color Match, not a starting point. And because it's an averaging operation, a combined preset can't be "more correct" than its inputs - if two of the presets you feed in were themselves poorly learned (say, from a reference pair with barely any actual drift, or one with a genuinely wrong target color), averaging them in dilutes your better presets rather than canceling out the bad one. Curate what goes into the combine, don't just throw in everything you've saved.

    CategoryBadman/color

    Inputs (12)

    NameTypeDefaultDescription
    preset_1COMBO1 options: anti-terracotta
    preset_2COMBO1 options: anti-terracotta
    preset_3COMBO1 options: anti-terracotta
    preset_4COMBO1 options: anti-terracotta
    preset_5COMBO1 options: anti-terracotta
    preset_6COMBO1 options: anti-terracotta
    preset_7COMBO1 options: anti-terracotta
    preset_8COMBO1 options: anti-terracotta
    preset_9COMBO1 options: anti-terracotta
    preset_10COMBO1 options: anti-terracotta
    save_asSTRING
    overwriteBOOLEANfalse

    Outputs (2)

    NameTypeDescription
    nameSTRING
    pathSTRING