Color Blender
A mini Lightroom panel that never leaves the graph
- image
- image
Most color nodes in ComfyUI give you three sliders and call it a day. Color Blender gives you fourteen and an invert switch, which is either overwhelming or exactly what you've been missing. It's a full color-grade pass in a single node - hue, saturation, brightness, contrast, exposure, temperature, tint, vibrance, blacks, whites, highlights, shadows - and if you've ever fought a "flat" render by re-rolling the whole generation, this is the node that says "no, fix it in post."
It's deliberately not AI. Everything here is deterministic pixel math - the same operations Photoshop and Lightroom have had for decades. The code converts to HSV for the hue/saturation/brightness work, applies temperature and tint by shifting the color channels, adjusts vibrance on the low-saturation pixels so it boosts color without nuking skin tones, and does the blacks/whites/highlights/shadows as tonal-range adjustments. Knowing that tells you what the knobs actually do: temperature pushes the whole image warm or cool, vibrance is the gentle cousin of saturation (it leaves already-saturated areas mostly alone), and exposure is an overall brightness that moves white point along with everything else.
The inputs that matter
hue(−180 to 180) - rotates the entire hue wheel. A little goes a long way; this is a global shift, not a selective one.saturation(0–2) andvibrance(−1 to 1) - the blunt and the subtle version of the same idea.temperatureandtint- your white-balance pair for fixing color casts.contrast,exposure,brightness- the tonal backbone.blacks,whites,highlights,shadows- the range controls for rescuing clipped or muddy areas.invert- flips to a negative. Fun for creative use, mostly.
One image out, ready to wire into a preview or a save. The node's frontend also keeps a preview cached on the node itself, so you can see the grade as you tweak without opening a separate Preview node.
Where it fits
This belongs at the tail of a workflow - after the sampler, before save - which is the post-processing layer the KB calls "the deterministic pixel operations that Photoshop, GIMP and ImageMagick have had for thirty years, wrapped as nodes." The failure mode it prevents is doing color correction with img2img, which burns a diffusion pass (and its face-rewriting and seed lottery) on work a lookup table does instantly. If you're compositing an inpainted region, matching a generated subject to a background, or just want your output to stop looking washed out, one of these beats a re-gen every time.
Install
Ships in Steaked-nodes:
cd ComfyUI/custom_nodes
git clone https://github.com/StealthNinja1O1/Steaked-nodes
Restart ComfyUI, or search "Steaked-nodes" in ComfyUI Manager. Dependencies are torch, numpy and Pillow - already installed. No models, no downloads.
Common issues
The main trap is cranking sliders to the extremes and clipping: saturation at 2 or contrast at 2 will crush channels hard, and unlike a raw editor there's no highlight-recovery safety net. Work in small steps and use vibrance instead of saturation when you're trying to fix color rather than style it. Also note hue and the temperature/tint controls interact - rotate the wheel after setting white balance, not before, or you'll chase your own adjustments.
Inputs (14)
| Name | Type | Default | Description |
|---|---|---|---|
| image | IMAGE | — | |
| hue | FLOAT | 0-180–180 | — |
| saturation | FLOAT | 1.000–2 | — |
| brightness | FLOAT | 0.00-1–1 | — |
| contrast | FLOAT | 1.000–2 | — |
| exposure | FLOAT | 0.00-2–2 | — |
| temperature | FLOAT | 0.00-1–1 | — |
| tint | FLOAT | 0.00-1–1 | — |
| vibrance | FLOAT | 0.00-1–1 | — |
| blacks | FLOAT | 0.00-1–1 | — |
| whites | FLOAT | 0.00-1–1 | — |
| highlights | FLOAT | 0.00-1–1 | — |
| shadows | FLOAT | 0.00-1–1 | — |
| invert | BOOLEAN | false | — |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| image | IMAGE | — |