Nodes/ComfyUI-SuperNodes/🐧 Adjust White Balance
ComfyUI Node

🐧 Adjust White Balance

Temperature plus tint

By sonnyboxΒ·Created 11 months agoΒ·Updated 4 days agoΒ· 12
🐧 Adjust White Balance
  • image
  • IMAGE
β—„temperature_k6500β–Ί
β—„tint0.00β–Ί

The 🐧 Adjust White Balance node does what its name says and does it the way you already think: you get a temperature slider in Kelvin and a tint slider, exactly like the white-balance controls in DaVinci Resolve or Premiere. No weird percentages, no "amount" knob - you set the light's color temperature and nudge green/magenta, and the image gets corrected. It's the rare color node that speaks your language.

That framing makes it the right tool whenever you need shots to agree with each other. Got footage from two cameras that doesn't color-match? Fix one to match the other's temperature. Killing an orange indoor cast? Dial temperature down. Toning tiles or reference frames before a comparison? This is the node. It's cheap, deterministic, and designed for the "warm/cool/green-magenta" mental model - which is exactly what video workflows are built around.

How it works

The "CAT" in the class name stands for chromatic adaptation transform, and the implementation is honest color science rather than a channel-tweak. It works in linear light:

  1. sRGB β†’ linear RGB.
  2. Kelvin β†’ CIE chromaticity using a piecewise correlated-color-temperature approximation (the standard 1650K–25000K fit).
  3. Chromaticity β†’ CIE 1960 UCS uv, then build a Bradford chromatic adaptation matrix from the reference white point to your chosen one.
  4. Apply the 3Γ—3 matrix in linear space, then convert back to sRGB.

Alpha and any extra channels are split off, adapted, and recombined, so an RGBA image survives intact. temperature_k runs 1650–25000 with a 6500 default (that's daylight - leave it there for a neutral image); tint runs βˆ’1 to +1 for the green/magenta axis. Single IMAGE output.

Installing it

Part of ComfyUI-SuperNodes (GitHub: sonnybox/ComfyUI-SuperNodes) by SuperCC. ComfyUI Manager β†’ search SuperNodes β†’ install β†’ restart, or:

cd ComfyUI/custom_nodes
git clone https://github.com/sonnybox/ComfyUI-SuperNodes
# restart ComfyUI

Only dependency is matplotlib; needs a current ComfyUI (the pack uses the newer comfy_api extension API).

Where people get burned

Two scaling gotchas. First, tint is a Β±1 slider, not the Β±100 scale some tools use - small values go a long way, so nudge, don't slam. Second, anything below 1650K clamps to 1650, so don't try to "warm to candlelight" by typing 800 and expecting a gradual falloff - it'll hit the clamp. And remember the direction: this is white balance correction, so setting a lower temperature removes a warm cast (it adapts the image to a colder illuminant). If the image gets more orange when you move the slider down, you're thinking about it backwards.

CategorySuperNodes/Color

Inputs (3)

NameTypeDefaultDescription
imageIMAGEβ€”
temperature_kINT65001650–25000β€”
tintFLOAT0.00-1–1β€”

Outputs (1)

NameTypeDescription
IMAGEIMAGEβ€”