COLOR THEORY (JOV) π
Generate harmonious palettes from any image
- πΎ
- π΅
- π‘
- π£
- β«οΈ
- βͺ
COLOR THEORY (JOV) π takes one image and hands you back five - the original hue re-mapped into classic color-theory harmonies: complementary, monochromatic, split-complementary, analogous, triadic, square, compound, or a custom tetrad. It's a palette-extraction tool dressed as an image filter, and the output images are literally the color swatches you can drop into the rest of your workflow.
Where does this fit? If you're building anything where color consistency matters - a character consistency pass, a themed set of generations, or just a composition where the background needs to harmonize with a subject - this is the node that turns "I want colors that work together" into five concrete images you can sample from. It pairs naturally with the pack's COLOR MATCH (project those palettes onto another image) and its README-flagged COLOR MEANS (match tonal ranges).
What it does
One input, five outputs:
- πΎ - the source image. The dominant hue is extracted and the chosen scheme is computed around it on the color wheel.
- SCHEME - the harmony. COMPLIMENTARY (opposite on the wheel) is the default and the safest; MONOCHROMATIC gives you one hue's full range; ANALOGOUS grabs neighbors; TRIADIC and SQUARE spread around the wheel; COMPOUND and CUSTOM_TETRAD are for when you want to design rather than be safe.
- #οΈβ£ (INT, default 45, β90 to 90) - the angle of separation for the calculations. This is the creative control: widen it to push the palette apart, shrink it to keep it tight. 45 is a sensible middle.
- π³ (FLOAT, 0β1) - blend the output back toward the original; leave at 0 to get pure palette swatches.
The five outputs (π€ C1, π‘ C2, π£ C3, β« C4, βͺ C5) are the palette swatches as images - wire them into a save node to keep the palette, or into a sampler workflow to nudge a generation toward those colors.
How it works
It analyzes the input to find its dominant hue, then walks the color wheel by the scheme's step angles, producing a swatch per color. Pure pixel math and HSV-wheeling - no model, no weights, instant even on a batch. "Re-project an input into various color theory mappings" is the author's own one-line description, and it's accurate: the heavy lifting is a color-space transformation, not inference.
Installing it
Part of Jovimetrix:
- ComfyUI Manager - search "Jovimetrix", install.
- Manual -
git clone https://github.com/Amorano/Jovimetrix.gitintocustom_nodes/, thenpip install -r requirements.txt.
No models. Dependencies: numpy, OpenCV, Pillow, matplotlib, cozy_comfyui. Needs ComfyUI 0.1.3+.
The honest take
There are plenty of color-palette tools around, but almost none live inside ComfyUI and feed images straight back into the graph, which is this node's whole trick. The learning curve is the #οΈβ£ angle control - the schemes are self-explanatory, the angle is where the results actually change, so play with it. The name uses the misspelling "COMPLIMENTARY" (as in the dropdown), which is cosmetic. If you mostly work with a fixed look already, you'll use COLOR MATCH more; if you're designing looks, this is the one you'll keep in the toolbar.
Inputs (4)
| Name | Type | Default | Description |
|---|---|---|---|
| πΎopt | * | β | |
| SCHEMEopt | COMBO | COMPLIMENTARY | 8 options: COMPLIMENTARY, MONOCHROMATIC, SPLIT_COMPLIMENTARY, ANALOGOUS, TRIADIC, SQUARE, +2 |
| #οΈβ£opt | INT | 45-90β90 | β |
| π³opt | FLOAT | 0.000β1 | β |
Outputs (5)
| Name | Type | Description |
|---|---|---|
| π΅ | IMAGE | β |
| π‘ | IMAGE | β |
| π£ | IMAGE | β |
| β«οΈ | IMAGE | β |
| βͺ | IMAGE | β |