ComfyUI Node

RC Vibrance

Boost color without ruining skin

By kj863257·Created 11 months ago·Updated 10 months ago· 16
RC Vibrance
  • image
  • IMAGE
vibrance0
saturation0
protect_skin_tonestrue
skin_protection_strength0.7

Here's the difference between saturation and vibrance: saturation cranks every color equally, and the first thing that explodes is skin. Vibrance is the smarter slider - it boosts the colors that are already muted and leaves the saturated ones alone, which is exactly how you make a landscape pop without turning faces into oranges. RC_Vibrance is this pack's implementation, and it goes one step further with an explicit skin-tone protection pass. It lives in the RC Image Compositor pack under RC/Adjustments.

How it works

The node converts each frame to HSV and operates on the saturation channel with a twist: the boost is weighted by how desaturated a pixel already is (1 - saturation), so muted colors get the big push and vivid ones get a gentle one. Then, if protect_skin_tones is on, it detects the skin-tone hue range (roughly orange/yellow) and scales the effect down there based on skin_protection_strength.

The controls:

  • vibrance (-100 to +100) - the smart saturation. Negative desaturates the muted colors first, positive saturates them.
  • saturation (-100 to +100) - the uniform saturation slider, applied to all colors equally. If you want the plain "crank it" behavior, this is where it lives - separate from vibrance so you can use both deliberately.
  • protect_skin_tones (default on) - the portrait-safety switch.
  • skin_protection_strength (0–1, default 0.7) - how hard the protection holds. 0.0 = no protection (vibrance acts uniformly), 1.0 = maximum.

Output is a single IMAGE, same size, batch-safe.

Installing it

ComfyUI Manager → search "RC Image Compositor" → install, restart. Manual:

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

Dependencies: pillow, numpy, opencv-python. Nothing to download.

Where people get burned

  • Skin protection isn't magic - it's a hue range. It targets orange/yellow. A red dress, a teal wall, or a heavily color-graded face can sit outside that range and still get boosted. If skin still burns, you're either pushing vibrance too hard or the "skin" hue is outside the protected band.
  • Vibrance and saturation stack. Both at +50 isn't "twice the vibrance," it's vibrance's smart boost plus a uniform boost on top. Start with vibrance alone; add saturation only when you want the unguarded push.
  • Negative vibrance is underrated. Desaturating muted colors while keeping the vivid ones is how you get a moody, "pulled" grade without draining the whole image. Most people never try the negative end.
  • It can't recover what isn't there. If a render's colors are already clipped or the VAE is off, boosting saturation just amplifies the artifact. Vibrance is a final-grade tool, not a rescue tool.

If you take one node from this pack's adjustment section for photography, take this one. The skin-tone protection alone makes it a better portrait tool than a dozen generic saturation sliders.

CategoryRC/Adjustments

Inputs (5)

NameTypeDefaultDescription
imageIMAGE
vibranceFLOAT0-100–100Vibrance adjustment (-100 to 100, negative=less vibrant, positive=more vibrant)
saturationFLOAT0-100–100Additional saturation adjustment (-100 to 100, applied uniformly to all colors)
protect_skin_tonesBOOLEANtrueProtect skin tones: - True: Reduce effect on orange/yellow skin tones - False: Apply vibrance uniformly to all colors
skin_protection_strengthFLOAT0.70–1Skin tone protection strength (0.0=no protection, 1.0=maximum protection)

Outputs (1)

NameTypeDescription
IMAGEIMAGE