Color Feature Node β‘π ‘π π £π
Drive a reactive effect off a video's color instead of its brightness
- images
- FEATURE
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, orblue_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.
Inputs (5)
| Name | Type | Default | Description |
|---|---|---|---|
| extraction_method | COMBO | Choose 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_rate | FLOAT | 30.01β120 | Frame rate of the video (1.0 to 120.0 fps) |
| width | INT | 51264β4096 | Width of the output feature (64 to 4096) |
| height | INT | 51264β4096 | Height of the output feature (64 to 4096) |
| images | IMAGE | Input images to analyze |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| FEATURE | FEATURE | β |