Nodes/ComfyUI-Inference-Core-Nodes/[Inference.Core] Color Pallete
ComfyUI Node

[Inference.Core] Color Pallete

Palette-Matching Without Copying the Composition

By LykosAI·Created 2 years ago·Updated about a year ago· 33
[Inference.Core] Color Pallete
  • image
  • IMAGE
resolution512

The display name has a typo baked right into the node itself - "Color Pallete" - which is a small, honest reminder that this pack is a working tool maintained by real people, not a polished commercial product. What it does, typo aside, is genuinely useful: it reduces your source image down to a coarse, heavily pixelated block of color - think a chunky, posterized version of the original - that carries broad palette and composition-adjacent color information and essentially nothing else. Fine detail, texture, exact edges: all gone. What survives is "roughly this color went roughly here."

That's exactly the input the T2I-Adapter Color model wants. The idea is palette transfer: match a generation's overall color scheme to a reference photo - say, "make this generation use the warm, muted tones of that reference" - while leaving the model free to invent its own composition, subject placement, and detail. It's a different job from Tile (which locks in composition) or Canny/Lineart (which lock in hard shapes). Color only ever touches the color grade.

What you set: image is required, resolution (default 512) is the only optional parameter. There's nothing else here - no threshold, no block-size knob - which tells you this is a fairly fixed, deterministic transform rather than something with a lot of tunable behavior. The single IMAGE output goes into a ControlNet Apply node, and critically, it needs a T2I-Adapter Color checkpoint specifically, not a regular ControlNet - that's what the "T2IAdapter-only" category on this node is flagging. Loading a Canny or Depth ControlNet against this preprocessor's output won't do anything useful; the two model families aren't interchangeable.

Worth knowing the broader context here: T2I-Adapters are an older, lighter-weight conditioning technique than ControlNet - mostly SD 1.5-era - and the community still reaches for them as the lower-VRAM option when a full ControlNet is overkill for what you're trying to do. If you're on a newer base model, don't expect this exact node/model pairing to have an equivalent waiting for you; T2I-Adapter's ecosystem, this included, didn't carry forward the way canny and depth did.

Installing it: part of LykosAI's ComfyUI-Inference-Core-Nodes pack - LykosAI also makes Stability Matrix, the meta-installer a lot of people use to manage multiple local SD UIs, so this pack's install path is more carefully thought through than a typical solo node repo. Install via ComfyUI Manager (search "ComfyUI-Inference-Core-Nodes"), or manually: cd ComfyUI/custom_nodes && git clone https://github.com/LykosAI/ComfyUI-Inference-Core-Nodes, then run install.py against ComfyUI's own Python environment, or pip install -e .[cuda] / .[cuda12] / .[rocm] / .[directml] / .[cpu] matched to your hardware, or a plain pip install -e . without acceleration extras (this node doesn't need onnxruntime, it's a simple downsampling operation). Restart ComfyUI afterward.

Troubleshooting: since this is a lightweight deterministic transform, runtime issues on the node itself are rare. The recurring pack-wide problem is ModuleNotFoundError: No module named 'inference_core_nodes', which shows up when the Python package install step didn't complete after a git clone - usually install.py running against the wrong interpreter on a portable ComfyUI build, so target python_embeded explicitly there. The most common actual mistake people make with this specific node isn't a crash, it's model mismatch - pairing this preprocessor's output with a regular ControlNet checkpoint instead of a T2I-Adapter Color model, which produces confused or ignored conditioning rather than a clear error, so if palette matching doesn't seem to be doing anything, that's the first thing to check.

CategoryControlNet Preprocessors/T2IAdapter-only

Inputs (2)

NameTypeDefaultDescription
imageIMAGE
resolutionoptINT51264–2048

Outputs (1)

NameTypeDescription
IMAGEIMAGE