Color Suppress
Knock out any color cast, not just green screen spill
- video
- video
Despill tools are single-minded: they kill green or blue screen spill, and that's it. Color Suppress is the more general cousin. You get a slider for each of six colors - red, green, blue, cyan, magenta, yellow - and each one dials down how much of that color lives in your footage. Magenta light leak ruining a shot? Green spill on a subject's shoulders plus a second unwanted hue? A too-blue sky you want to rein in as part of a grade? Six sliders cover all of it, in any combination.
It sits in the Keying lane, which is the right home: this is the tool you reach for after a chroma key, when the foreground is carrying the screen color around its edges. But the docs are honest that its real strength is broader - targeted spill and tint removal on footage that was never keyed at all.
How it works
It runs as a live fx-preview filter: the node emits an fx spec (color_suppress) and passes the video through, so results preview without a full render - then a ▶ Run commits it. On a Torch backend per the pack's docs. All six sliders at 0 and it's a clean pass-through, which the source short-circuits before building the spec. COMFYTV_VIDEO in and out; Bridge to native nodes if you need them.
The inputs that matter
- red / green / blue / cyan / magenta / yellow - one suppression amount per color, each 0–1, default 0 (no change). Raise to remove more of that color; any combination works.
- preserve_luma - boolean, default off. Keeps each pixel's brightness constant while suppressing color, so shapes and detail don't go muddy when you pull a strong color. You'll want this on for anything aggressive.
- output -
image(default) returns the corrected footage;mattereturns a grayscale matte derived from the suppression, which is handy for building or inspecting masks.
Output is video (COMFYTV_VIDEO).
Installing it
cd ComfyUI/custom_nodes
git clone https://github.com/jtydhr88/ComfyTV
Restart the ComfyUI backend (not just the tab); nodes appear under the ComfyTV category. ComfyUI Manager finds the pack by searching "ComfyTV". The README's two recurring gotchas: on Desktop/macOS/multi-install setups the relative cd can clone into the wrong instance - read the startup log for the base path it loaded and clone into that absolute path, quoted - and the first level of custom_nodes/ComfyTV/ must contain __init__.py, not a nested ComfyTV/ComfyTV/ folder. No Python dependencies to install.
Troubleshooting and tips
- Image gets muddy or dark. That's what
preserve_lumais for - switch it on when you're suppressing a strong color. - Dedicated green screen fringe? Despill is purpose-built for it. Reach for Color Suppress when the unwanted color isn't the screen - that's the honest division of labor in this pack.
- Nothing changes on Run? All six sliders are at 0 - deliberate pass-through.
- Matte inspection. Switch
outputtomatteto eyeball exactly what the suppression is grabbing before you commit to the correction.
Inputs (12)
| Name | Type | Default | Description |
|---|---|---|---|
| force_run_token | INT | 00–2147483647 | Internal — bumped on Run to invalidate ComfyUI's input cache. |
| project_id | STRING | Internal — populated by the projectStore on the frontend. | |
| parent_output_id | INT | 00–2147483647 | Internal — lineage parent set by spawn handlers on the frontend. |
| red | FLOAT | 0.000–1 | — |
| green | FLOAT | 0.000–1 | — |
| blue | FLOAT | 0.000–1 | — |
| cyan | FLOAT | 0.000–1 | — |
| magenta | FLOAT | 0.000–1 | — |
| yellow | FLOAT | 0.000–1 | — |
| preserve_luma | BOOLEAN | false | — |
| output | COMBO | image | 2 options: image, matte |
| videoopt | COMFYTV_VIDEO | — |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| video | COMFYTV_VIDEO | — |