Coral Color Transfer
The zero-AI color match that runs on a potato
- src_img
- style_img
- res_img
Coral Color Transfer is the "Extra" node in ComfyUI-StyleTransferPlus, and here's the honest pitch: it's the one node in the pack that isn't a neural network at all. It's a classic color-transfer algorithm - correlation alignment, "coral" for short, a linear-RGB cousin of the better-known Reinhard color transfer - that recolors your source image so its color statistics match the style image's. No model file, no download, no GPU - it runs on CPU in well under a second.
Why would you reach for it when the pack is full of fancy style transfer? Two reasons. First, it's the fastest possible way to steal a palette - if your problem is "my render is teal and I want it warm," this is instant and artifact-free where a neural method might smear the image. Second, it's a great front-end step: match a style's color grade first, then let a texture-transfer node like CAST or EFDM handle the painterly part.
How it works
The algorithm looks at the color distribution of each image in RGB space, computes each one's covariance matrix, and transforms the source's colors so their distribution lines up with the target's - including correlations between channels, which is why it handles color casts better than a per-channel histogram match. There's no learned anything, no weights, no random seed. What you get is the source image wearing the style's colors.
Under the hood the node is tidy about batching. It handles all four combinations - one source/one style, one source/many styles, many sources/one style, many/many (matched pairwise) - and returns a batch of the same length as your sources. That makes it usable as a cheap per-frame grade on video, though you'd normally match one style and reuse it.
Inputs and outputs
Two inputs, one output:
src_img- the image you want to recolor.style_img- the image whose color statistics you're borrowing.
Output: res_img (IMAGE). Feed your content into src_img, your "mood board" image into style_img, wire res_img to Preview or downstream. Nothing else to set.
Install
No models, no extra weights - this is the easiest node in the whole pack:
cd ComfyUI/custom_nodes
git clone https://github.com/FuouM/ComfyUI-StyleTransferPlus
or search ComfyUI-StyleTransferPlus in ComfyUI Manager and restart. Dependencies are the standard torch, torchvision, scikit-image, einops set. If you install the pack for any other node, this one comes along for free.
Common issues
- Colors shift but the result looks flat - that's the method, not a bug. Linear-RGB covariance matching is the simple end of color transfer; it can produce slightly desaturated results on some images. Run it on a copy and compare.
- Expecting texture transfer - wrong tool. This only moves color statistics; the look comes from the neural nodes in the same pack.
It's not going to blow anyone's mind on its own, but as a one-node palette matcher with zero setup, Coral Color Transfer is quietly the most dependable thing in the pack.
Inputs (2)
| Name | Type | Default | Description |
|---|---|---|---|
| src_img | IMAGE | — | |
| style_img | IMAGE | — |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| res_img | IMAGE | — |