Nodes/LF Nodes/Brightness
ComfyUI Node

Brightness

Gamma, midpoint, and localized lift

By lucafoscili·Created 2 years ago·Updated 2 years ago· 50
Brightness
  • image
  • ui_widget
  • image
  • image_list
brightness_strength0.00
gamma1.0
midpoint0.50
localized_brightnessfalse

A plain brightness slider just multiplies pixel values, which is why it so often looks wrong - it blows out highlights or crushes shadows while your midtones barely move. LF_Brightness is the LF Nodes take that understands exposure, and it's worth reaching for over a naive adjustment because it separates brightness from gamma and lets you pick the tonal midpoint.

The two main controls are:

  • brightness_strength - −1 to 1. Negative darkens, positive brightens. Combined with midpoint, it does this around a chosen tonal anchor instead of brute-forcing the whole range.
  • gamma - 0.1 to 3, default 1. Values below 1 brighten the shadows, values above 1 darken the highlights. This is the control that actually rescues an underexposed image without nuking the sky.

There's also a localized_brightness boolean, which "enhances brightness locally in darker regions" - a smarter shadow-lift that doesn't touch the already-bright areas. That's the hidden hero for fixing faces that fell into shadow in a render.

How it fits

Like the rest of the LF filter family, it takes a batch (single tensor or list), returns image and image_list, and shows a KUL_COMPARE before/after widget on the node. Pair it with LF_LoadImages to grade a whole set of renders in one pass, or drop it post-sampling for a quick exposure fix before saving.

The workflow where people really feel this one: a prompt that rendered too dark (models love to do this with "night" or "candlelight" keywords). A quick pass - gamma 0.8, a touch of localized brightness - brings the subject back without the flat, washed look a plain brightness bump gives you.

Installing it

Standard LF Nodes:

cd ComfyUI/custom_nodes
git clone https://github.com/lucafoscili/comfyui-lf

or ComfyUI Manager → LF Nodes → install → restart. No dependencies, no models. The pack is the frozen legacy repo (the author moved on to lf-nodes), so this node is stable and finished.

Where people get burned

  • midpoint defaults to 0.5, which is a mid-gray anchor. If your image is mostly dark, leave it - but if you're adjusting a highlight-heavy image, moving the midpoint up makes the adjustment act on the brighter end.
  • Gamma and brightness stack. Set brightness_strength first, then fine-tune with gamma; doing both at max just makes a hazy mess.
  • It's a per-frame correction, not a scene-referred exposure tool. For heavy color-grading you want a real color node (the pack also has LF_ColorAnalysis for matching); this is for the quick, visible fix.

If "it came out too dark" is a recurring sentence in your life, this is the node that fixes it properly.

Category✨ LF Nodes/Filters

Inputs (6)

NameTypeDefaultDescription
imageIMAGEInput image tensor or a list of image tensors.
brightness_strengthFLOAT0.00-1–1Adjust the brightness of the image. Negative values darken, positive values brighten.
gammaFLOAT1.00.1–3Adjust the gamma correction. Values < 1 brighten shadows, > 1 darken highlights.
midpointoptFLOAT0.500–1Defines the tonal midpoint for brightness scaling.
localized_brightnessoptBOOLEANfalseEnhance brightness locally in darker regions.
ui_widgetoptKUL_COMPARE[object Object]

Outputs (2)

NameTypeDescription
imageIMAGE
image_listIMAGE