Nodes/Orion4D_MetaNode/🎨 Color Balance FX
ComfyUI Node

🎨 Color Balance FX

Fix a Cast in Shadows, Midtones, or Highlights β€” Separately

By orion4dΒ·Created 5 months agoΒ·Updated 5 months agoΒ· 5
🎨 Color Balance FX
  • image_in
  • fx
  • image
β—„enabledtrueβ–Ί
β—„labelColor Balanceβ–Ί
β—„adjust_typemidtonesβ–Ί
β—„cyan_red0β–Ί
β—„magenta_green0β–Ί
β—„yellow_blue0β–Ί
β—„preserve_luminositytrueβ–Ί

A color cast rarely hits the whole image evenly. Shadows are too blue, highlights are too yellow, midtones are fine. One global slider can't fix that. 🎨 Color Balance FX can - it adjusts the color cast independently in the shadows, midtones, and highlights, exactly like Photoshop's Color Balance.

How it works. Pick an adjust_type - shadows, midtones, or highlights - and then balance along the three color axes: cyan_red (negative pulls cyan, positive pushes red), magenta_green, and yellow_blue. Each runs βˆ’100 to 100, default 0. So to pull blue out of a shadow region, you set adjust_type to shadows and move yellow_blue positive. To make a sunlit scene warmer you might lift yellow_blue and magenta_green a touch in the highlights. preserve_luminosity (default on) keeps the brightness from drifting while you shift color - leave it on, honestly, unless you're deliberately chasing a tone effect.

The dual-mode design is shared across the Color Pro family: it's an emitter node. Feed image_in and you get image out with the balance applied - standalone mode, good for a quick inline grade. Or take the fx output (a COLOR_FX descriptor) into the Color Pro Receiver to make this one stage of a multi-effect chain. enabled and label are the standard per-effect controls so a chained effect can be toggled without rewiring.

Where people get burned: the per-range setup is easy to miss. The sliders apply to whichever adjust_type is selected - you configure shadows, then switch to highlights, and the sliders you just set describe the highlights now (they keep their values, so check you didn't leave a big cast sitting in the wrong range). Also, negative values are not "less of a thing," they're the opposite axis: βˆ’30 on cyan_red is +30 of cyan. And in chain mode, remember image and fx are independent - the receiver applies the fx descriptor, it doesn't see what your image output did.

Install. ComfyUI Manager β†’ search "Orion4D_MetaNode", or clone https://github.com/orion4d/Orion4D_MetaNode into custom_nodes/ and restart. Category: Orion4D_MetaNode/ColorGrading. No extra dependencies.

If your outputs always come out with that same off-color in the dark areas, this is the node that finally splits the fix into ranges instead of fighting the whole image.

CategoryOrion4D_MetaNode/ColorGrading

Inputs (8)

NameTypeDefaultDescription
enabledBOOLEANtrueβ€”
labelSTRINGColor Balanceβ€”
adjust_typeCOMBOmidtones3 options: shadows, midtones, highlights
cyan_redFLOAT0-100–100β€”
magenta_greenFLOAT0-100–100β€”
yellow_blueFLOAT0-100–100β€”
preserve_luminosityBOOLEANtrueβ€”
image_inoptIMAGEβ€”

Outputs (2)

NameTypeDescription
fxCOLOR_FXβ€”
imageIMAGEβ€”