Nodes/Color Gel Pixel/Color Gel Palette
ComfyUI Node

Color Gel Palette

One dropdown to switch every color gel in your graph at once

By cadric·Created 11 months ago·Updated 11 months ago· 0
Color Gel Palette
    • palette
    paletteamber

    Every Color Gel (select) node has its own palette dropdown, and that's fine until you have six of them and you want to flip the whole look from amber to blue. That's the problem Color Gel Palette solves: it's one dropdown that decides the palette for every select wired to it.

    It's a two-input, one-output node - a palette dropdown (defaults to amber) and a single palette STRING output. You connect that output to any Color Gel (select) node's palette_from_node input. When it's connected, the select ignores its own palette dropdown and uses whatever this node emits. Change one dropdown, and every linked select switches palettes with it. Global tint control without touching a dozen widgets.

    This is a classic "central switch" pattern that shows up all over ComfyUI - same idea as a control panel node for a big graph. What makes it worth it here is how batch workflows use it: tint a bunch of frames, then re-run with a different palette to compare looks. Without the central node you're clicking through every select on each iteration.

    How it works

    Simple to the point of being almost too simple. The dropdown lists the palette IDs from the pack's comfy_plugin/palettes/ folder - the ten built-ins are amber, blue, green, indigo, neutral, orange, purple, red, sky, and teal. When you pick one, the node outputs that palette's ID as a string. The select receives it via palette_from_node and resolves colors against that palette.

    One subtlety: the palettes are preloaded at import time. Add a palette JSON to that folder and the dropdown won't see it until you hit Reload Custom Nodes. The pack documents this, and it's the gotcha that makes people think their new palette is broken.

    The inputs that matter

    • palette - the dropdown, that's the whole interface. Output: palette, wired to Color Gel (select) → palette_from_node.

    A note on behavior: if you leave palette_from_node unconnected, the select just uses its own palette dropdown, so wiring this node is strictly optional - it's a convenience, not a requirement. And the neutral palette in particular is worth knowing about: it's a gray ramp, which is handy for desaturated tinting instead of adding color.

    Installing Color Gel Pixel

    Color Gel Palette is part of the Color Gel Pixel pack (MIT, by cadric). One install gets all seven nodes.

    cd ComfyUI/custom_nodes
    git clone https://github.com/cadric/color_gel_pixel
    

    Then restart ComfyUI, or use ComfyUI Manager → Install Custom Nodes → search "Color Gel Pixel." No models to download, no extra pip packages - pyproject.toml declares zero dependencies and it needs ComfyUI 0.3.65+. The pack's own README routes you through exactly this install path.

    Common issues

    • New palette not in the dropdown. You added a JSON to comfy_plugin/palettes/ but the list hasn't refreshed. Reload Custom Nodes - palettes load once at import.
    • Selects ignoring your choice. If a select has palette_from_node connected but you're still editing its own palette dropdown, the connection wins silently. The override is by design; change it at the source.
    • Malformed palette JSON just gets skipped. A broken file won't crash the pack - it's skipped at load and only errors when you actually select it. Check your JSON syntax if a palette quietly vanishes.

    It's a small node that does one job, and honestly it's the kind of thing you'll appreciate more the bigger your graph gets. Color Gel Pixel is a quiet, new pack without much community chatter, but this node is the cleanest way to keep a many-branch tint workflow coherent.

    CategoryColor Gel Pixel/Utils

    Inputs (1)

    NameTypeDefaultDescription
    paletteCOMBOamberPalette from comfy_plugin/palettes.

    Outputs (1)

    NameTypeDescription
    paletteSTRING