Nodes/comfy-plasma/Brightness & Contrast
ComfyUI Node

Brightness & Contrast

Brightness & contrast that behaves the way you expect

By Jordach·Created 3 years ago·Updated 2 years ago· 81
Brightness & Contrast
  • IMAGE
  • IMAGE
contrast1.00
brightness1.00

Some nodes are clever. This one is obedient. JDC_Contrast (display name "Brightness & Contrast") gives you two sliders that do exactly what every image editor since 1995 has trained you to expect: contrast and brightness, each centered on 1.0 meaning "no change." Move contrast above 1 and the image gets punchier; below 1 and it flattens out. Brightness does the same for overall lightness. That's the whole job, and it does it cleanly.

It's part of comfy-plasma by Jordach, the same pack as the noise generators, and it fills the "basic tonal adjustment" slot in the lineup.

How it works

Mechanically it's two passes of Pillow's ImageEnhance: contrast first, then brightness, applied on top. The order matters a little - contrast first means your brightness boost lands on an already-adjusted image, which is the standard way these two are chained and matches what most photo editors do.

  • contrast (float, 0–10, default 1) - 1 is identity. Values below 1 reduce contrast; values above 1 amplify it. Go much past ~1.5 on an already-contrasty render and you'll start clipping blacks and whites, so nudge it.
  • brightness (float, 0–10, default 1) - same story. Below 1 darkens, above 1 brightens. At 0 the image goes black; there's no negative brightness, which is the sane choice.

Both sliders are capped at 10, so you can't nuke a render into a solid white box by accident - 10 is already plenty aggressive.

Input is a single IMAGE, output is a single IMAGE. Wire it between a VAEDecode and your save node, or chain it after the pack's JDC_AutoContrast when a plain histogram stretch leaves the image looking gray and you want to add punch back manually.

When you'd reach for it

  • A generation that came out flat - give contrast a 1.1–1.3 nudge and it often snaps into place.
  • Matching the tonal feel of an img2img source so the output and input sit together.
  • Cheap and cheerful grading before saving, when you don't want to open a levels/gamma node.

Install

No requirements.txt, no model downloads - the pack only needs Pillow, numpy, torch, and requests, all standard ComfyUI.

ComfyUI Manager → Install Custom Nodes → search comfy-plasma → install, restart. Or:

cd ComfyUI/custom_nodes
git clone https://github.com/Jordach/comfy-plasma

Restart ComfyUI. It lives under image/postprocessing.

Common issues

There's not a lot to break here. The one recurring complaint pattern is over-driving the sliders: contrast past ~1.5 clips highlights and shadows because the node doesn't do any tonal re-mapping, just a straight enhance. If your whites start blowing out, you've gone too far - back off, or use auto-contrast to re-stretch afterward. And like every node in this pack, it's single-image only, so don't feed it a batch and expect per-frame handling.

Categoryimage/postprocessing

Inputs (3)

NameTypeDefaultDescription
IMAGEIMAGE
contrastFLOAT1.000–10
brightnessFLOAT1.000–10

Outputs (1)

NameTypeDescription
IMAGEIMAGE