Nodes/Orion4D_MetaNode/🎨 Vibrance FX
ComfyUI Node

🎨 Vibrance FX

The skin-safe saturation node

By orion4dΒ·Created 5 months agoΒ·Updated 5 months agoΒ· 5
🎨 Vibrance FX
  • image_in
  • fx
  • image
β—„enabledtrueβ–Ί
β—„labelVibranceβ–Ί
β—„vibrance0β–Ί
β—„saturation0β–Ί
β—„protect_skin_tonestrueβ–Ί
β—„strength1.00β–Ί

Saturation is a blunt instrument. Crank the global saturation slider and your already-vivid reds go neon, your skin tones go radioactive, and your highlights clip into mush. Vibrance is the smarter cousin: it boosts the colors that are under-saturated first and leaves the colors that are already loud alone. The Vibrance FX node gives you both - a vibrance slider and a saturation slider - plus a skin-tone guard, so you can add punch without wrecking a portrait.

This is the Lightroom move, and it's one of those deterministic post-processing primitives the KB's post-processing doc keeps pointing at: it's instant, cheap, and it does a job people routinely ruin by re-rolling a generation. If your render comes out of the sampler looking flat and you want life in it without touching the model, this is the node.

How it works

Like the Photo Filter FX, this is a Color Pro emitter - it builds a COLOR_FX descriptor and hands it out on fx, so it can stack with other emitters through the pack's Color Pro Receiver. It also has an image_in input for standalone use: connect an image and the effect is applied inline, returning the graded result on image.

The distinction between its two sliders is the heart of it:

  • vibrance (βˆ’100 to 100) - selective saturation. It boosts low-saturation colors first and leaves already-vivid colors roughly alone, which is what gives you punch without clipping.
  • saturation (βˆ’100 to 100) - a global, uniform multiplier. Blunt by design.

The protect_skin_tones toggle is the portrait-saver: when on, the effect is reduced in the skin-tone hue ranges (roughly 0–30Β° and 330–360Β° on the color wheel, i.e. reds/oranges/yellows), so faces don't go orange. And strength (0 to 2) scales the whole thing - the master volume for both adjustments at once.

Inputs and outputs

  • Inputs: enabled, label, vibrance (βˆ’100–100), saturation (βˆ’100–100), protect_skin_tones, strength (0–2), and optional image_in.
  • Outputs: fx (COLOR_FX) for the chain, and image (IMAGE) for standalone use.

When you'd reach for it

Any "nice but flat" render - which is most of them. The standard move is a small positive vibrance (10–30) with protect_skin_tones on, and you get richer color without the saturation blowout. For a specific family of colors you'd pair it with this pack's Hue/Sat/Light FX, but for a one-knob "make it less flat" the vibrance slider alone is the answer.

Troubleshooting

  • Faces still look off? Make sure protect_skin_tones is on - that's literally the toggle for it.
  • Effect too strong at vibrance 30? Remember saturation is global and vibrance is selective; if even the selective one is too much, drop strength below 1 rather than fighting individual sliders.
  • Not in a chain but nothing happens? Check you connected image_in; without it, the node only emits the fx descriptor, which does nothing until a Receiver applies it.

Installing it

It's part of Orion4D_MetaNode:

cd ComfyUI/custom_nodes
git clone https://github.com/orion4d/Orion4D_MetaNode

Or via ComfyUI Manager (search "Orion4D_MetaNode") and restart. It lives under Orion4D_MetaNode β†’ ColorGrading. No extra dependencies. Honest context: young, single-developer pack with a modest footprint - and remember the COLOR_FX output type is this pack's own convention, so it chains with this pack's Receiver, not with other packs' color nodes.

CategoryOrion4D_MetaNode/ColorGrading

Inputs (7)

NameTypeDefaultDescription
enabledBOOLEANtrueβ€”
labelSTRINGVibranceβ€”
vibranceFLOAT0-100–100β€”
saturationFLOAT0-100–100β€”
protect_skin_tonesBOOLEANtrueβ€”
strengthFLOAT1.000–2β€”
image_inoptIMAGEβ€”

Outputs (2)

NameTypeDescription
fxCOLOR_FXβ€”
imageIMAGEβ€”