ComfyUI Node

Selective Color

Nudge just the reds without touching anything else

By chrisfreilich·Created 2 years ago·Updated about a year ago· 93
Selective Color
  • image
  • IMAGE
color_range
cyan0.00
magenta0.00
yellow0.00
black0.00
method

This is Photoshop's most surgical color adjustment tool, ported to ComfyUI: pick one color or brightness range - reds, blues, whites, whatever's actually wrong - and adjust it in isolation, without any other color in the image shifting. It's the node for the "everything is fine except the greens are a little too yellow" problem, where a global Hue/Saturation pass would touch things you don't want touched. You can also chain multiple Selective Color nodes to fix several ranges independently in sequence.

How it works

You choose a color_range - one of nine options covering the six primary/secondary hues plus whites, neutrals, and blacks - and the node adjusts how much cyan, magenta, yellow, and black ink that range "contains," exactly like Photoshop's CMYK-based Selective Color model even though the image itself is RGB. The method setting decides how those four adjustments get applied: absolute changes values by a fixed amount regardless of the pixel's current values, while relative scales the change as a percentage of what's already there, which produces a gentler, more proportional shift.

The inputs and outputs that matter

  • image - the image to adjust.
  • color_range - one of nine ranges: reds, yellows, greens, cyans, blues, magentas, whites, neutrals, blacks.
  • cyan, magenta, yellow, black (-1 to 1 each, default 0) - how much of each to add (positive) or remove (negative) from the selected range.
  • method - absolute for a direct, fixed-amount change, or relative for a percentage-based, subtler change.

Output is a single IMAGE.

How to install it

ComfyUI Manager: search Virtuoso Nodes for ComfyUI, install, restart. Or by hand:

cd ComfyUI/custom_nodes
git clone https://github.com/chrisfreilich/virtuoso-nodes
pip install -r virtuoso-nodes/requirements.txt

There's one extra step specific to this node that's easy to miss: the pack's README calls out that Selective Color needs FFmpeg installed as a system-level dependency - not something pip install -r requirements.txt pulls in for you. If you don't already have FFmpeg on your machine and on your PATH, grab it separately before you expect this node to work. The pack's own release notes, going back to when this node first shipped, still carry the same warning - it's not a one-off gotcha that got fixed later.

Common issues & troubleshooting

Node fails to load, or errors specifically on Selective Color while the rest of the pack works fine. That's almost always the missing FFmpeg dependency. It's the one node in this pack with a system-level requirement instead of a pure-Python one, so it's also the one most likely to work on your dev machine and break on a fresh install or a server that doesn't have FFmpeg on its PATH.

Adjustment looks too strong or too subtle. Try switching method before changing the slider values themselves - absolute and relative can produce noticeably different results from the same numbers, especially on saturated images, since relative scales down as you get closer to the extremes.

You corrected one range and it doesn't look like it "stuck" once you adjust another. Selective Color nodes are meant to be chained - adjusting reds in one node and blues in a second, wired in sequence, rather than trying to find one color_range that covers everything you need to fix in a single pass.

CategoryVirtuoso/Adjustment

Inputs (7)

NameTypeDefaultDescription
imageIMAGE
color_rangeCOMBO9 options: reds, yellows, greens, cyans, blues, magentas, +3
cyanFLOAT0.00-1–1
magentaFLOAT0.00-1–1
yellowFLOAT0.00-1–1
blackFLOAT0.00-1–1
methodCOMBO2 options: absolute, relative

Outputs (1)

NameTypeDescription
IMAGEIMAGE