Nodes/ComfyUI-Darkroom/Color Qualifier
ComfyUI Node

Color Qualifier

A DaVinci-style HSL qualifier, with 19 preset looks built in

By jeremieLouvaert·Created 5 months ago·Updated 3 days ago· 101
Color Qualifier
  • image
  • image
  • matte_preview
presetCustom (manual)
hue_center25
hue_width70
hue_softness0.30
sat_center0.50
sat_width1.00
sat_softness0.20
lum_center0.50
lum_width1.00
lum_softness0.20
matte_blur1.0
matte_shrink0
hue_shift0
saturation_adjust0
luminance_adjust0
invert_matteno
strength1.00

In DaVinci Resolve, a qualifier is how you select "just the skin" or "just the sky" by color range and then do something to that selection. ComfyUI's masking tools are great, but they're geometry - a color qualifier selects by chroma, which is a different muscle. Color Qualifier brings that DaVinci move to ComfyUI, and it bundles 19 action presets that do the selecting and the correcting in one step.

It lives in ComfyUI-Darkroom's Camera Raw group, alongside HSL Selective and the white balance/exposure nodes. Where HSL Selective moves colors in fixed bands, this node lets you define the band yourself - center, width, softness - then apply hue/sat/lum corrections to exactly those pixels. It's the node for "fix the green cast on the foliage without touching the grass" or "warm the skin without warming the white shirt."

How it works

You define a selection window in HSL space: a hue center and width, a saturation center and width, and a luminance center and width, each with its own softness (feathering). Pixels inside the window become the matte; pixels outside are protected. Then you adjust hue, saturation, and luminance within the matte. There's matte blur for smoother edges, matte shrink/grow for tightening or loosening, and an invert option to correct everything except the selection. The 19 presets do the heavy lifting - "Warm up skin tones", "Deepen blue sky", "Teal sky", "Autumn foliage" - and each preset's values stack with any manual sliders you add.

The inputs that matter

  • preset - 19 choices. Start here; manual mode is for when a preset is 90% right.
  • hue_center - the big one. The tooltip gives you the map: 0=red, 30=orange, 60=yellow, 120=green, 180=cyan, 240=blue, 300=magenta.
  • hue_width and hue_softness - how much of the wheel you grab and how hard the edges cut.
  • matte_blur / matte_shrink - polish the selection's edges once the range is right.
  • hue_shift / saturation_adjust / luminance_adjust - the corrections applied inside the selection.
  • invert_matte - correct everything except the range. Underrated for "protect the skin, grade the rest."
  • strength - global blend of the whole effect.

Outputs are two: image (the corrected result) and matte_preview (the selection as a grayscale mask). That second output is gold for beginners - wire it to a Preview and you'll see exactly what you're selecting before you trust the grade.

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/Raw.

The classic mistake is setting hue_center where you think a color lives instead of checking. Skin isn't at 25° because you read it in a chart - it's wherever your image's skin actually sits, and cast-shifted skin moves. Use matte_preview, eyeball where the white glow lands, then nudge. Also note the pack's own caveat: Color Qualifier uses local masks, so it's only partially safe in a LUT bake chain - keep it out of the bake and apply it to the graded photo instead.

CategoryAKURATE/Darkroom/Raw

Inputs (18)

NameTypeDefaultDescription
imageIMAGE
presetCOMBOCustom (manual)Action presets: select a color range AND apply a correction in one step. Use 'Custom (manual)' for full control over selection + corrections
hue_centeroptFLOAT250–360Center hue: 0=red, 30=orange, 60=yellow, 120=green, 180=cyan, 240=blue, 300=magenta
hue_widthoptFLOAT701–360Hue range width in degrees
hue_softnessoptFLOAT0.300–1Hue edge softness (0 = hard cut, 1 = very soft)
sat_centeroptFLOAT0.500–1Center saturation for selection
sat_widthoptFLOAT1.000–1Saturation range width
sat_softnessoptFLOAT0.200–1Saturation edge softness
lum_centeroptFLOAT0.500–1Center luminance for selection
lum_widthoptFLOAT1.000–1Luminance range width
lum_softnessoptFLOAT0.200–1Luminance edge softness
matte_bluroptFLOAT1.00–20Blur matte edges for smoother transitions
matte_shrinkoptINT0-10–10Shrink (+) or grow (-) the selection
hue_shiftoptFLOAT0-180–180Shift hue of selected pixels (degrees). Adds to preset value
saturation_adjustoptFLOAT0-100–100Adjust saturation of selected pixels. Adds to preset value
luminance_adjustoptFLOAT0-100–100Adjust luminance of selected pixels. Adds to preset value
invert_matteoptCOMBOnoInvert — correct everything EXCEPT the selected range
strengthoptFLOAT1.000–1Blend between original (0) and corrected (1)

Outputs (2)

NameTypeDescription
imageIMAGE
matte_previewIMAGE