Nodes/MachinePainting Nodes/πŸ‘Ύ Brightness Contrast Adjust
ComfyUI Node

πŸ‘Ύ Brightness Contrast Adjust

The two sliders you've been faking with math

By machinepaintingΒ·Created 10 months agoΒ·Updated 4 months agoΒ· 9
πŸ‘Ύ Brightness Contrast Adjust
  • image
  • IMAGE
β—„brightness0β–Ί
β—„contrast0β–Ί

Some nodes deserve a dissertation. This one deserves two sliders. Brightness Contrast Adjust takes an image, adds a brightness offset, applies a contrast factor, and hands the result back - no modes, no masks, no hidden surprises. It's the pixel-editing equivalent of a cup of coffee: boring, dependable, and you'll reach for it constantly once it's in your toolbox.

The two inputs

  • brightness (βˆ’100 to 100, default 0) - a simple additive offset, mapped so +100 shifts everything up by half a stop-worth of value (the code adds brightness/200).
  • contrast (βˆ’100 to 100, default 0) - scales values around the 0.5 midpoint. +100 is a 2x stretch (punchy), βˆ’100 collapses toward mid-gray (flat and milky).

That's the entire input surface. One image in, one IMAGE out. It runs on the first frame of the batch and leaves the rest of your pipeline untouched, which makes it perfect as a quick fix between a VAE decode and a Save node.

Why you'd use this instead of the fancier stuff

Because sometimes "fix it with one drag" beats "open the full color suite." The same pack has Levels Adjust (black/white point + gamma) and Curves Adjust Pro (full channel control) - those are the surgical tools. Brightness Contrast is the blunt one, and blunt is right when you just need a batch of renders to stop looking slightly under-exposed. It's also a nice neutral "before" stage: do your contrast pass here, then let the creative grading happen in curves or a LUT on top.

Install

It's part of the MachinePainting Nodes pack:

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

or ComfyUI Manager β†’ search "MachinePaintingNodes" β†’ install β†’ restart. Like every node in this pack, the install drags along opencv-python-headless and rembg even though this particular node only needs numpy - the price of buying the whole toolkit at once.

Gotchas

Contrast around 0.5 midpoint means it will blow out highlights if you push it hard on an already-bright image - at +100 contrast, anything above mid-gray gets shoved toward white fast. If your output looks clipped, dial contrast back before you blame the image. And note it works on the luminance/values uniformly across channels; there's no separate brightness-per-channel here. For that, Color Adjust Blend or Channel Mask Pro in the same pack have you covered. One more: it's a straight full-image pass - no mask input - so if you need to brighten only a face, take the mask route instead.

CategoryMachinePaintingNodes/Color

Inputs (3)

NameTypeDefaultDescription
imageIMAGEβ€”
brightnessFLOAT0-100–100β€”
contrastFLOAT0-100–100β€”

Outputs (1)

NameTypeDescription
IMAGEIMAGEβ€”