Nodes/ComfyUI_Fill-Nodes/FL Audio Reactive Saturation
ComfyUI Node

FL Audio Reactive Saturation

Color pumps in and out with the music

By filliptm·Created 3 years ago·Updated about 17 hours ago· 628
FL Audio Reactive Saturation
  • frames
  • mask
  • frames
envelope_json
base_saturation1.00
saturation_intensity0.20
invertfalse

The "color pumps to life on the beat" effect: this node blends each frame between grayscale and full color based on an audio envelope, so color intensity itself becomes the reactive element instead of brightness or edges. Think of a music video where a shot sits desaturated through a verse and snaps into full color on the drop's first kick.

How it works

For every frame, it converts the color version to grayscale using Rec. 709 luma coefficients - the standard modern HDTV luma weighting, as opposed to the older Rec. 601 weighting some other tools use, which is a small but real difference in exactly which hues read as "brighter" once desaturated - then blends between that grayscale version and the original color based on the envelope value at that frame and your saturation settings.

The inputs and outputs that matter

Required: frames, envelope_json.

Optional: mask - restrict the effect to a region, leaving the rest of the frame untouched; base_saturation (0–3, default 1 - the resting saturation level: 1 is untouched, 0 means the rest state is fully grayscale, above 1 is an oversaturated rest state); saturation_intensity (-1 to 1, default 0.2 - how much the envelope swings saturation; negative values mean the beat desaturates instead of saturates, giving a "flash to gray" pump rather than "flash to color"); invert - flips which part of the envelope curve maps to which saturation direction.

Output: frames.

How to install it

ComfyUI Manager: search ComfyUI_Fill-Nodes, install, restart. Or:

cd ComfyUI/custom_nodes
git clone https://github.com/filliptm/ComfyUI_Fill-Nodes

then restart. No extra dependencies beyond standard image math - nothing to download.

Common issues & troubleshooting

Want the classic "black and white until the drop" look. Set base_saturation near 0 and saturation_intensity positive - quiet sections sit desaturated by default, and only genuine hits push color back in. This is the more common creative use of the node compared to the reverse.

Effect is invisible. If your source footage is already close to monochrome, or your envelope_json is nearly flat (worth checking with FL_Audio_Envelope_Visualizer first), there's nothing meaningful for the saturation blend to swing between - the node needs actual chroma variation in the source and actual variation in the envelope to produce a visible pump.

Pump looks washed out rather than punchy. Push saturation_intensity closer to its ±1 limits rather than leaving it near the subtle default of 0.2 - the default is intentionally conservative so the effect doesn't overwhelm a first test, but most finished edits push it harder once the timing is confirmed correct.

Category🏵️Fill Nodes/Audio

Inputs (6)

NameTypeDefaultDescription
framesIMAGE
envelope_jsonSTRING
maskoptIMAGE
base_saturationoptFLOAT1.000–3
saturation_intensityoptFLOAT0.20-1–1
invertoptBOOLEANfalse

Outputs (1)

NameTypeDescription
framesIMAGE