Nodes/Dream Project Animation Nodes/🎨 Palette Color Shift
ComfyUI Node

🎨 Palette Color Shift

Warm it up, cool it down, keep the light level

By alt-key-projectΒ·Created 3 years agoΒ·Updated 2 years agoΒ· 114
🎨 Palette Color Shift
  • palette
  • palette
β—„red_multiplier1.0β–Ί
β—„green_multiplier1.0β–Ί
β—„blue_multiplier1.0β–Ί
β—„fixed_brightnessβ–Ύβ–Ί

Palette Color Shift [Dream] is the color-balance dial for your palettes. Where Color Align drags one palette toward another, this one just multiplies the red, green, and blue channels independently - bump red and you warm everything up, cut blue and it cools down, drop all three and the palette darkens. The killer feature is the fixed_brightness option: say "yes" and it renormalizes each color so the overall brightness stays put while the hue shifts. That means you can swing a palette from teal to warm orange without the whole image getting darker or brighter, which is precisely the move color-coherent animation keeps needing.

The mechanism is straightforward multiplication per pixel: r Γ— red_multiplier, g Γ— green_multiplier, b Γ— blue_multiplier, clamped to valid range. With fixed_brightness = "yes", it computes the original pixel's total brightness and scales the result back up so that sum is preserved. With "no," you get pure channel multiplication - dimmer (or brighter) along with the hue change, which can be the right call when you want the brightness to move. The multipliers range 0 to 100, so 0 blacks out a channel and 100 blows it up; defaults of 1.0 are a no-op.

The inputs that matter

  • palette - the RGB_PALETTE to recolor.
  • red_multiplier / green_multiplier / blue_multiplier - per-channel gains, default 1.0 each. Start with 1.2/0.9/0.9 for a warm shift; 0.9/1.0/1.2 for cool.
  • fixed_brightness - "yes" or "no". "Yes" preserves perceived brightness; "no" lets the multiplication change luminance too. This toggle changes the whole feel of the node.

Output is a single palette, ready for Noise from Palette or any palette consumer. Pair it with a curve from this pack to animate the multipliers over time and you've got a color grade that evolves frame by frame.

Installing it

Part of Dream Project Animation Nodes - ComfyUI Manager (search "Dream Project Animation Nodes") or:

cd ComfyUI/custom_nodes
git clone https://github.com/alt-key-project/comfyui-dream-project.git
cd comfyui-dream-project
pip install -r requirements.txt

Restart ComfyUI. Watch the numpy<2.0 pin in requirements.

Common issues

The usual surprise is that fixed_brightness isn't a precise preservation - it's a per-pixel rescale of the channel sum, so it can shift how saturated things feel even when brightness holds. If your colors look washed after a strong shift, ease off the multipliers rather than fighting the toggle. And remember it operates on palettes, not images - for the same idea applied directly to an image, the pack has Image Color Shift [Dream]. Pack-wide caveat: unmaintained per its README, but this node runs fine on current ComfyUI.

Category✨ Dream/πŸŒ„ image/🎨 color

Inputs (5)

NameTypeDefaultDescription
paletteRGB_PALETTEβ€”
red_multiplierFLOAT1.00–100β€”
green_multiplierFLOAT1.00–100β€”
blue_multiplierFLOAT1.00–100β€”
fixed_brightnessCOMBO2 options: yes, no

Outputs (1)

NameTypeDescription
paletteRGB_PALETTEβ€”