AutoColor Config
One switchboard, every Auto Adjust node on the same page
- auto_levels
- auto_tone
- auto_color
- flip_horizontal
AutoColorConfigNode is the pack's shared-toggle trick. It exists because of a real annoyance: when you run several AutoAdjustNode blocks in parallel - say, the original scan, a denoised pass, and an upscaled variant, all needing identical color correction before they get compared - you have to click the same four toggles four times, and the moment you change your mind you get to hunt them down again. This node makes that a one-click job.
It's deliberately minimal: four boolean inputs - auto_levels, auto_tone, auto_color, and flip_horizontal - and four matching boolean outputs with the same names. Nothing is computed here; it just mirrors what you set into clean wires. You set it once, then drag each output into the matching input on every AutoAdjustNode in your graph. The inputs exist on AutoAdjust for exactly this purpose, so the wiring is one-to-one and there's no adapter involved.
The thing to understand is what it's not: it is not a settings bundle for the clip percentages, gamma, or precision knobs - those stay local to each Auto Adjust node. If you're changing correction strength across branches, this won't help you; if you're only flipping entire passes on and off consistently, it's perfect. The README frames it as "drive multiple Auto Adjust blocks with one config when branches need the exact same look," which is the whole use case in one sentence.
flip_horizontal being in here is the one that surprises people. It mirrors the same-named toggle on AutoAdjust, so if all your source scans need a horizontal flip before correction, you flip the whole set from one place.
Install
Nothing special - it's part of PortraitUtils. ComfyUI Manager → search "PortraitUtils", or:
cd ComfyUI/custom_nodes
git clone https://github.com/heyburns/PortraitUtils
Then restart. It's plain torch/JSON-less plumbing, so no extra dependencies and no model downloads.
Common issues
- Config node does nothing - it can't; it has no image input. If you wired it expecting an output image, you've grabbed the wrong node. Its outputs are booleans only.
- Outputs left dangling - the node will happily sit there with nothing connected and won't error, but then it's just decoration. Connect every output you intend to use.
- Forgetting it doesn't share the heavy knobs - if your branches still look different, check the clip percentages on the individual Auto Adjust nodes, not this one.
It's a thin node, and that's the point. In a graph that's already a spaghetti of correction passes, a single source of truth for on/off toggles removes a whole class of "why do these two branches differ" debugging.
Inputs (4)
| Name | Type | Default | Description |
|---|---|---|---|
| auto_levels | BOOLEAN | false | — |
| auto_tone | BOOLEAN | false | — |
| auto_color | BOOLEAN | false | — |
| flip_horizontal | BOOLEAN | false | — |
Outputs (4)
| Name | Type | Description |
|---|---|---|
| auto_levels | BOOLEAN | — |
| auto_tone | BOOLEAN | — |
| auto_color | BOOLEAN | — |
| flip_horizontal | BOOLEAN | — |