Nodes/ComfyUI-MingNodes/Color Balance
ComfyUI Node

Color Balance

Photoshop's classic tool, one tonal range at a time

By mingsky-ai·Created 2 years ago·Updated 2 years ago· 505
Color Balance
  • image
  • image
adjust_typemidtones
cyan_red0
magenta_green0
yellow_blue0

If you've used Photoshop's Color Balance dialog, this node is exactly that, ported into a ComfyUI graph. It's built around the same idea: three color axes (cyan↔red, magenta↔green, yellow↔blue) applied to one of three tonal ranges at a time - shadows, midtones, or highlights. It's the tool you reach for when a global saturation or hue shift feels too blunt and you want, say, warmer highlights without touching the shadows, or a cooler shadow tone while leaving skin midtones alone.

How it works

Photographic color grading rarely wants a uniform shift across the whole tonal range - a cinematic look is often built from cooling the shadows and warming the highlights simultaneously, which a single hue slider can't express. Color Balance solves that by letting you target one range and push it along each of the three complementary color axes independently.

The catch - and this is the thing that trips people up coming from Photoshop - is that this node only adjusts one tonal range per instance. Photoshop's dialog lets you flip between Shadows/Midtones/Highlights within a single tool session and stack all three adjustments at once; here, each ColorBalanceNode handles exactly one range, set by adjust_type. If you want the classic "cool shadows, neutral mids, warm highlights" look, you chain three of these nodes in sequence, each set to a different range.

The inputs and outputs that matter

  • image - the picture to grade.
  • adjust_type - which tonal range this instance affects: midtones (the default), highlights, or shadows.
  • cyan_red, magenta_green, yellow_blue - the three classic color-balance axes, each an integer from -100 to 100, default 0. Negative pushes toward the first color named, positive toward the second - so a negative cyan_red pushes cyan in, positive pushes red in, and so on for the other two axes.

One output: image.

Unlike the pack's other tonal nodes (brightness/contrast/saturation, highlight/shadow), this one uses the full ±100 range genuinely - it maps much closer to what Photoshop users expect, so don't assume the tiny-increment caution that applies elsewhere in this pack applies here too.

How to install it

Via ComfyUI Manager: search "ComfyUI-MingNodes," install, restart. Or manually:

cd ComfyUI/custom_nodes
git clone https://github.com/mingsky-ai/ComfyUI-MingNodes

then restart. No models to download, no API keys - just the base pack.

Common issues & troubleshooting

Only one tonal range seems to be affected, and I wanted all three. That's the node working as designed, not a bug - it's single-range per instance. Chain three nodes, one per adjust_type setting, if you want a full shadows/midtones/highlights grade.

Colors shift in an unexpected direction. Double-check which end of each axis you're pushing - it's easy to reach for a positive value expecting "more of the first color" when the sign convention runs the other way (negative = first color, positive = second). Nudge one axis at a time and watch the preview rather than setting all three blind.

Chaining three nodes and the order feels like it matters. It does, a little - each node reads the already-adjusted image from the one before it, so shadows→midtones→highlights vs. the reverse order can give subtly different results, especially at higher intensities. If you're chasing a specific look, try both orders and compare rather than assuming it's commutative.

CategoryMingNodes/Image Process

Inputs (5)

NameTypeDefaultDescription
imageIMAGE
adjust_typeCOMBOmidtones3 options: midtones, highlights, shadows
cyan_redINT0-100–100
magenta_greenINT0-100–100
yellow_blueINT0-100–100

Outputs (1)

NameTypeDescription
imageIMAGE