Nodes/ComfyUI-Darkroom/Lift Gamma Gain
ComfyUI Node

Lift Gamma Gain

The Resolve primary corrector, all 16 wheels in one node

By jeremieLouvaert·Created 5 months ago·Updated 2 days ago· 101
Lift Gamma Gain
  • image
  • image
lift_r0.00
lift_g0.00
lift_b0.00
lift_master0.00
gamma_r1.00
gamma_g1.00
gamma_b1.00
gamma_master1.00
gain_r1.00
gain_g1.00
gain_b1.00
gain_master1.00
offset_r0.000
offset_g0.000
offset_b0.000
offset_master0.000
strength1.00

If you've ever watched a colorist work in DaVinci Resolve, the first thing they touch is the primary corrector: lift, gamma, gain, offset - four controls, each with a master and R/G/B. That's the whole foundation of professional color grading, and it's exactly what Lift Gamma Gain brings to ComfyUI: sixteen precision sliders plus a strength blend, doing what Resolve's wheels do.

It's the heaviest-hitting grading node in ComfyUI-Darkroom, and it's the one to reach for when a look is starting from zero - before presets, before film stocks, you balance the image with this. Everything else (HSL, warper, film stock) is decoration on top of a solid primary grade.

How it works

Each control does a different job and they're applied in order:

  • Lift - offsets the shadows. Lift red positive warms the blacks; negative cools them.
  • Gamma - changes midtone brightness/color without moving the extremes. Gamma > 1 brightens mids.
  • Gain - multiplies highlights. This is where you push color into the whites.
  • Offset - a flat shift across the whole tonal range, additive like a brightness bias.

Each has a Master slider and per-channel R/G/B sliders, and the per-channel values add to the Master, so you can do a warm master look then pull the skin back with a per-channel correction. All processing happens in linear light like the rest of the pack.

The inputs that matter

  • lift_r/g/b + lift_master - shadow color. The classic move: lift_g a touch for green-shadow film tone, or lift_r for warm shadows.
  • gamma_r/g/b + gamma_master - midtone control. Per-channel gamma is how you fix a color cast without touching skin's shadow/highlight balance.
  • gain_r/g/b + gain_master - highlight color. Push gain_r and pull gain_b and you've started your teal-and-orange.
  • offset_master - the flat global shift. Often the fastest way to lift a too-dark frame.
  • strength - blend between original and graded. This is your "how committed am I" knob.

Output is image - standard wiring.

Install and gotchas

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

Or search "Darkroom" in ComfyUI Manager and restart. It's under AKURATE/Darkroom/Grading.

The beginner failure mode is touching everything. A good primary grade is often two or three sliders: one master gamma for exposure, one per-channel lift for the cast, one gain for the highlight mood. Anything more and you're chasing your own tail. Note the sliders have small ranges on purpose - lift is ±1, gain 0–4 - so the node punishes heroics and rewards restraint. And it's a per-pixel transform, so it's fully welcome in a LUT bake chain; a lift/gamma/gain grade is exactly the kind of thing worth exporting as a .cube so your "one look" follows you across projects.

CategoryAKURATE/Darkroom/Grading

Inputs (18)

NameTypeDefaultDescription
imageIMAGE
lift_roptFLOAT0.00-1–1Red channel lift (shadow color offset)
lift_goptFLOAT0.00-1–1Green channel lift (shadow color offset)
lift_boptFLOAT0.00-1–1Blue channel lift (shadow color offset)
lift_masteroptFLOAT0.00-1–1Master lift — applies to all channels
gamma_roptFLOAT1.000.1–4Red channel gamma (midtone brightness). >1 = brighter mids
gamma_goptFLOAT1.000.1–4Green channel gamma (midtone brightness)
gamma_boptFLOAT1.000.1–4Blue channel gamma (midtone brightness)
gamma_masteroptFLOAT1.000.1–4Master gamma — multiplies into all channels
gain_roptFLOAT1.000–4Red channel gain (highlight multiplier)
gain_goptFLOAT1.000–4Green channel gain (highlight multiplier)
gain_boptFLOAT1.000–4Blue channel gain (highlight multiplier)
gain_masteroptFLOAT1.000–4Master gain — multiplies into all channels
offset_roptFLOAT0.000-0.5–0.5Red channel offset (flat global shift)
offset_goptFLOAT0.000-0.5–0.5Green channel offset (flat global shift)
offset_boptFLOAT0.000-0.5–0.5Blue channel offset (flat global shift)
offset_masteroptFLOAT0.000-0.5–0.5Master offset — adds to all channels
strengthoptFLOAT1.000–1Blend between original (0) and graded (1)

Outputs (1)

NameTypeDescription
imageIMAGE