LayerColor: ColorBalance
ColorBalance
- image
- image
If you've ever touched Photoshop's Color Balance, this is that, in a node. LayerColor: ColorBalance grades an image along the three classic opponent axes - cyan/red, magenta/green, and yellow/blue - letting you push the color one way or the other. It's the go-to when you want a tasteful color shift rather than a blunt channel offset, because the shift is weighted rather than flat, so it reads more like a proper grade than a filter slapped on top.
The three inputs are the whole node, and they map exactly to those axes:
- cyan_red - negative pulls toward cyan, positive toward red.
- magenta_green - negative toward magenta, positive toward green.
- yellow_blue - negative toward yellow, positive toward blue.
Each runs from -1 to 1 in fine 0.001 steps, defaulting to 0 (no change). The tiny step size is deliberate: color balance is a nudge tool, and you'll usually live in the ±0.1 to ±0.3 range. Past that it gets cartoonish fast. The single image output carries the graded result onward.
Why reach for this over the RGB node? Because the two do different jobs. RGB adds a flat number to a whole channel - every pixel, equally. ColorBalance works on those perceptual opposite-color axes and gives you a more filmic, less "I dumped red on it" result. This is the node for mood: warming a portrait, cooling a night scene, pushing teal-and-orange, correcting a color cast that's a tendency rather than a hard number. If you think in terms of "this needs to feel warmer" rather than "R is exactly 20 too low," ColorBalance is the friendlier surface.
The honest limitation: unlike the real Photoshop tool, there aren't separate shadow/midtone/highlight controls here - it's one global balance across the image. So you can't do the "warm the shadows, cool the highlights" split-tone in a single node. If you need that, stack two grade nodes and mask, or lean on the Film node's built-in look. For a straightforward "shift the overall color the right direction," though, this is clean and quick, and it plays nicely as one link in a chain with Exposure, ColorTemperature, and the LUT node.
Install is the pack standard. Easiest path is ComfyUI Manager - search ComfyUI Layer Style (or "LayerStyle"), install, restart. Manual: cd ComfyUI/custom_nodes && git clone https://github.com/chflame163/ComfyUI_LayerStyle, then pip install -r requirements.txt from inside the folder using ComfyUI's Python, and restart. If you're on a hosted ComfyUI, it's almost certainly already in the image.
The pack-level thing to be ready for: Layer Style is well known for import failures. You install, restart, and the whole node collection is red or missing. It's rarely the individual node - it's a dependency conflict. The pack pulls in a heavy stack (transformers, onnxruntime, opencv), and a single mismatched version - a stray transformers or tensorflow in the environment is the usual one - takes the entire pack down on import. The reliable fix: check the ComfyUI startup log for the traceback (it names the package that actually failed), reinstall requirements against ComfyUI's own Python, and use Manager's Try Fix. If ColorBalance is missing, so is every other LayerStyle node, and that shared import problem is the real thing to solve.
Inputs (4)
| Name | Type | Default | Description |
|---|---|---|---|
| image | IMAGE | — | |
| cyan_red | FLOAT | 0.000-1–1 | — |
| magenta_green | FLOAT | 0.000-1–1 | — |
| yellow_blue | FLOAT | 0.000-1–1 | — |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| image | IMAGE | — |