Nodes/RyanOnTheInside/Color Feature Node βš‘πŸ…‘πŸ…žπŸ…£πŸ…˜
ComfyUI Node

Color Feature Node βš‘πŸ…‘πŸ…žπŸ…£πŸ…˜

Drive a reactive effect off a video's color instead of its brightness

By ryanontheinsideΒ·Created 2 years agoΒ·Updated 5 months agoΒ· 852
Color Feature Node βš‘πŸ…‘πŸ…žπŸ…£πŸ…˜
  • images
  • FEATURE
β—„extraction_methodβ–Ύβ–Ί
β—„frame_rate30.0β–Ί
β—„width512β–Ί
β—„height512β–Ί

The color sibling of BrightnessFeatureNode - same family, same shape, different measurement. Where brightness reads light and dark, this reads hue and saturation, turning your video's color content into a FEATURE signal you can drive other nodes with. If your source footage swings between a red-lit scene and a blue-lit one, or between a saturated shot and a washed-out one, this is the extractor built to catch that.

How it works

Pick an extraction_method and it computes that measure per frame, at frame_rate and internally at widthΓ—height. Per the author's tooltip: dominant_color gives the most prominent color in the scene, color_variance is how much colors vary (higher for busy, colorful scenes), saturation is overall color intensity, and red_ratio/green_ratio/blue_ratio each give the relative amount of that channel present. A scene cutting between a warm-lit interior and cool exterior daylight will show up clearly on red_ratio vs blue_ratio; a desaturated, moody grade will read low on saturation.

The inputs and outputs that matter

  • images (IMAGE, required) - "Input images to analyze," per the tooltip.
  • extraction_method - dominant_color, color_variance, saturation, red_ratio, green_ratio, or blue_ratio.
  • frame_rate (default 30, range 1–120) - the input video's frame rate.
  • width / height (default 512, range 64–4096) - resolution the feature is computed at.

Output: a single FEATURE, the per-frame color curve - feed it into any node in the pack with a FEATURE input to modulate a parameter with it, or into EffectVisualizer first to see the raw numbers before you commit to an effect.

How to install it

Via ComfyUI Manager: search "RyanOnTheInside," install, restart. By hand:

cd ComfyUI/custom_nodes
git clone https://github.com/ryanontheinside/ComfyUI_RyanOnTheInside.git
cd ComfyUI_RyanOnTheInside
pip install -r requirements.txt

then restart. Runs on standard image-processing libraries from the pack's requirements.txt - no model download involved.

Common issues & troubleshooting

dominant_color output doesn't behave like a smooth curve. Of the six methods, dominant color is the most likely to jump discontinuously frame to frame (a scene with two competing colors can flip which one "wins" from one frame to the next), unlike saturation or a ratio, which move continuously. If you need a smooth signal for a modulation effect, prefer one of the ratio or variance methods instead.

Signal timing looks off relative to the footage. Check frame_rate matches your actual source video - a mismatch here is the most common cause of a feature curve that seems to drift out of sync the longer the clip runs.

Can't tell if the numbers make sense. Route the output through EffectVisualizer before wiring it into an actual effect - it overlays the feature's numeric value directly on your video frames so you can eyeball it against the footage.

CategoryRyanOnTheInside/FlexFeatures/Sources

Inputs (5)

NameTypeDefaultDescription
extraction_methodCOMBOChoose how to analyze the colors: - dominant_color: Most prominent color in the scene - color_variance: How much colors vary - higher for colorful scenes - saturation: Overall color intensity - red_ratio: Amount of red in the scene - green_ratio: Amount of green in the scene - blue_ratio: Amount of blue in the scene
frame_rateFLOAT30.01–120Frame rate of the video (1.0 to 120.0 fps)
widthINT51264–4096Width of the output feature (64 to 4096)
heightINT51264–4096Height of the output feature (64 to 4096)
imagesIMAGEInput images to analyze

Outputs (1)

NameTypeDescription
FEATUREFEATUREβ€”