ComfyUI Node

Color Temperature

Warm it up or cool it down, tint included

By APZmedia·Created 11 months ago·Updated 5 months ago· 7
Color Temperature
  • image
  • image
input_modetensor
temperature0
tint0
image_path

ColorTemperature is the white-balance-ish node of the pack: two sliders - temperature for warm/cool, tint for green/magenta - and an adjusted image out. It's the quick mood-setter you reach for when an image reads too clinical and blue, or too sterile and green, and you want to fix it in one shot instead of building a three-node color-balance rig. One image in, one image out, nothing else to wire.

How it works

Straightforward channel math in numpy. Positive temperature pushes red up and blue down (warmer); negative does the reverse (cooler). Positive tint pushes red and blue up together (more magenta); negative pushes green up (more green). Both are scaled by the ±100 range, so full warm is a strong, obvious shift and small values are subtle. It's additive on channels and clamped to [0,1], so it stays stable and never clips wildly.

The one honest note: this is a relative warmth/tint control, not a true correlated-color-temperature computation. It won't tell you your image is at 6500K and won't convert to a Kelvin target. It's the "make it feel warmer" control that photo apps ship, applied as a node. If you need real Kelvin-grade balancing you're in LittleCMS/OCIO territory and this isn't that.

The inputs that matter

  • temperature - −100 to 100, default 0. Warm = positive (amber), cool = negative (blue). ±15–25 is a tasteful daylight correction; ±100 is dramatic.
  • tint - −100 to 100, default 0. Negative adds green (fix a magenta cast), positive adds magenta (fix a green cast - common from fluorescent lighting in reference photos).
  • input_mode - tensor (default) or file with image_path, like the other pack nodes.

The workflow

Drop it right after VAE Decode or after an img2img pass. A generated image that leans blue gets −20 temperature; a reference photo with a greenish cast gets +15 tint. It's also a genuinely useful batch tool: same correction across a whole generation set keeps the look consistent, which is exactly what you want when the color is off in a repeatable way rather than per-image.

Install

Part of the pack:

cd ComfyUI/custom_nodes
git clone https://github.com/APZmedia/ComfyUI-color-tools

Or ComfyUI Manager, search "ComfyUI Color Profile Reader," then restart. The README's manual clone URL is a placeholder (yourusername/...) - use APZmedia/ComfyUI-color-tools. Dependencies are numpy and OpenCV, both in the pack's optional-deps list that install.py handles on first startup (which can make the first launch slow for a couple of minutes). No models, no downloads.

A small tip while you're here: because temperature shifts red/blue additively, running it after a GammaCorrection pass interacts cleanly - gamma sets the tone curve, temperature sets the mood. It's a two-node "grade" that covers a surprising amount of ground for casual color work.

CategoryColor Tools/Conversion

Inputs (5)

NameTypeDefaultDescription
input_modeCOMBOtensor2 options: file, tensor
temperatureFLOAT0-100–100
tintFLOAT0-100–100
imageoptIMAGE
image_pathoptSTRING

Outputs (1)

NameTypeDescription
imageIMAGE