Nodes/ComfyUI-Darkroom/HSL Selective
ComfyUI Node

HSL Selective

Lightroom's HSL panel, node form, with all 8 color bands

By jeremieLouvaert·Created 5 months ago·Updated 2 days ago· 101
HSL Selective
  • image
  • image
red_hue0
red_saturation0
red_luminance0
orange_hue0
orange_saturation0
orange_luminance0
yellow_hue0
yellow_saturation0
yellow_luminance0
green_hue0
green_saturation0
green_luminance0
aqua_hue0
aqua_saturation0
aqua_luminance0
blue_hue0
blue_saturation0
blue_luminance0
purple_hue0
purple_saturation0
purple_luminance0
magenta_hue0
magenta_saturation0
magenta_luminance0
strength1.00
presetCustom (manual)

Anyone who's edited a photo in Lightroom has used the HSL panel: eight color bands, three sliders each - hue, saturation, luminance - and you can fix the sky or the foliage without touching the model's skin. HSL Selective is that exact panel as a ComfyUI node, minus the interface cruft and plus a feathering model that keeps adjustments from hard-clipping at band boundaries.

It lives in ComfyUI-Darkroom's Camera Raw group, and it's the node I'd grab first for "this image is 90% right, fix the color of one thing." If the sky is too cyan or the grass is too yellow-green, you don't need masks or qualifiers - you need the band slider that says "blue" or "green."

How it works

The wheel is split into eight bands (red, orange, yellow, green, aqua, blue, purple, magenta), and each band has a hue shift (±30°), a saturation adjustment, and a luminance adjustment. Unlike a hard clamp, adjacent bands feather into each other, so a green adjustment gently rolls off into yellow and aqua instead of ending in a seam. Everything stacks with the pack's usual linear-light processing, and there's a strength blend on the whole node.

The inputs that matter

  • red_hue … magenta_luminance - 24 sliders total: hue/sat/lum for each of the eight bands. In practice you'll touch two or three sliders per edit.
  • preset - "Custom (manual)" plus AI Mitigation presets (Subtle / Standard / Strong) that pair with the pack's Clarity/Texture/Dehaze node of the same tier. Manual sliders add on top of whichever preset you pick.
  • strength - the global blend between original and adjusted.

Output is a single image - wire it onward or to a Preview.

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 trap is overcorrection with the hue sliders. ±30° on a band is a lot - most real edits live in the 3–10° range. Watch skin: "orange" and "red" bands both bleed into skin tones, so when you warm the reds, check the model didn't turn into a mannequin. If you only need saturation and not hue, the sibling Hue vs Sat node is a lighter-weight option for exactly that.

One power move: HSL Selective is a per-pixel color transform, so it's fully legal inside a LUT bake chain. Fix the foliage and the sky, put it between LUT Bake Inject and Extract, and your "selective" grade exports as a .cube that DaVinci, Premiere, and Photoshop will all happily apply.

CategoryAKURATE/Darkroom/Raw

Inputs (27)

NameTypeDefaultDescription
imageIMAGE
red_hueoptFLOAT0-30–30Shift Red hues (degrees)
red_saturationoptFLOAT0-100–100Red saturation adjustment
red_luminanceoptFLOAT0-100–100Red luminance adjustment
orange_hueoptFLOAT0-30–30Shift Orange hues (degrees)
orange_saturationoptFLOAT0-100–100Orange saturation adjustment
orange_luminanceoptFLOAT0-100–100Orange luminance adjustment
yellow_hueoptFLOAT0-30–30Shift Yellow hues (degrees)
yellow_saturationoptFLOAT0-100–100Yellow saturation adjustment
yellow_luminanceoptFLOAT0-100–100Yellow luminance adjustment
green_hueoptFLOAT0-30–30Shift Green hues (degrees)
green_saturationoptFLOAT0-100–100Green saturation adjustment
green_luminanceoptFLOAT0-100–100Green luminance adjustment
aqua_hueoptFLOAT0-30–30Shift Aqua hues (degrees)
aqua_saturationoptFLOAT0-100–100Aqua saturation adjustment
aqua_luminanceoptFLOAT0-100–100Aqua luminance adjustment
blue_hueoptFLOAT0-30–30Shift Blue hues (degrees)
blue_saturationoptFLOAT0-100–100Blue saturation adjustment
blue_luminanceoptFLOAT0-100–100Blue luminance adjustment
purple_hueoptFLOAT0-30–30Shift Purple hues (degrees)
purple_saturationoptFLOAT0-100–100Purple saturation adjustment
purple_luminanceoptFLOAT0-100–100Purple luminance adjustment
magenta_hueoptFLOAT0-30–30Shift Magenta hues (degrees)
magenta_saturationoptFLOAT0-100–100Magenta saturation adjustment
magenta_luminanceoptFLOAT0-100–100Magenta luminance adjustment
strengthoptFLOAT1.000–1Blend between original (0) and adjusted (1)
presetoptCOMBOCustom (manual)AI Mitigation presets pair with Clarity/Texture/Dehaze preset of the same tier. Manual sliders add on top

Outputs (1)

NameTypeDescription
imageIMAGE