Nodes/ComfyUI Layer Style/LayerColor: Brightness Contrast V2
ComfyUI Node Runs on cloud

LayerColor: Brightness Contrast V2

Brightness Contrast V2 — the quick brightness / contrast / saturation knob

By chflame163·Created 3 years ago·Updated 8 days ago· 3,118
LayerColor: Brightness Contrast V2
  • image
  • image
â—„brightness1.00â–º
â—„contrast1.00â–º
â—„saturation1.00â–º

Sometimes the output is a hair too dark, a touch flat, or slightly oversaturated, and you don't want to rebuild a color-grading chain to fix it. This is the three-slider node for exactly that. Brightness, contrast, saturation. One image in, one image out. Nothing clever, and that's the appeal.

It's the fastest global color tweak in the pack. Drop it near the end of a workflow to nudge a render into shape, or use it to knock back saturation on something that came out too candy-colored. If you need per-tone control or channel-by-channel work, that's what Levels and the shadow/highlight node are for - this is the blunt instrument, and most of the time the blunt instrument is what you want.

How it works

Each control is a multiplier centered on 1.0 = no change. Below 1 pulls the property down, above 1 pushes it up. The range runs 0 to 3, so you've got room to go fully desaturated (saturation 0 = grayscale) or crank contrast hard. It applies globally to the whole image - no masking, no tone targeting.

The inputs and outputs that matter

There are only three, and they're all you set:

  • brightness (0–3, default 1) - overall lightness. 1.1–1.2 lifts a dim render; below 1 darkens.
  • contrast (0–3, default 1) - separation between darks and lights. A little goes a long way; past ~1.3 it starts crushing.
  • saturation (0–3, default 1) - color intensity. 0 is grayscale, and a value around 0.85–0.9 is the classic "tone down the AI oversaturation" move.

Input is one image, output is one image. That's the entire node.

How to install it

It's part of the LayerStyle pack. ComfyUI Manager → search LayerStyle → install → restart. Manual install:

cd ComfyUI/custom_nodes
git clone https://github.com/chflame163/ComfyUI_LayerStyle
pip install -r ComfyUI_LayerStyle/requirements.txt

then restart. Find it under 😺dzNodes → LayerColor. No model download - it's pure image math.

Common issues & troubleshooting

Highlights blow out or shadows crush. These are multipliers, not smart tone curves, so pushing brightness or contrast hard clips the ends of the range and you lose detail there permanently. Make smaller moves, or use Levels if you need to protect the extremes.

Colors look washed or garish. Saturation is doing exactly what you told it. For a natural look, small nudges (0.9–1.1). If you want to match another image's color rather than just scale saturation, use ColorAdapter instead.

The node isn't in the list. If it's missing, the LayerStyle pack didn't import. The common cause is a broken transformers dependency (often a stray TensorFlow) that crashes the whole pack on load, taking every LayerColor/LayerStyle node with it. Check the console traceback, use Manager's "Try Fix," or repair the named library - this tiny node has no dependencies of its own, it just can't appear if its pack won't load.

Category😺dzNodes/LayerColor

Inputs (4)

NameTypeDefaultDescription
imageIMAGE—
brightnessFLOAT1.000–3—
contrastFLOAT1.000–3—
saturationFLOAT1.000–3—

Outputs (1)

NameTypeDescription
imageIMAGE—