Nodes/Jovimetrix/COLOR THEORY (JOV) πŸ›ž
ComfyUI Node

COLOR THEORY (JOV) πŸ›ž

Generate harmonious palettes from any image

By AmoranoΒ·Created 3 years agoΒ·Updated 12 months agoΒ· 397
COLOR THEORY (JOV) πŸ›ž
  • πŸ‘Ύ
  • πŸ”΅
  • 🟑
  • 🟣
  • ⚫️
  • βšͺ
β—„SCHEMECOMPLIMENTARYβ–Ί
β—„#️⃣45β–Ί
β—„πŸ”³0.00β–Ί

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.git into custom_nodes/, then pip 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.

CategoryJOVIMETRIX πŸ”ΊπŸŸ©πŸ”΅/COMPOSE

Inputs (4)

NameTypeDefaultDescription
πŸ‘Ύopt*β€”
SCHEMEoptCOMBOCOMPLIMENTARY8 options: COMPLIMENTARY, MONOCHROMATIC, SPLIT_COMPLIMENTARY, ANALOGOUS, TRIADIC, SQUARE, +2
#️⃣optINT45-90–90β€”
πŸ”³optFLOAT0.000–1β€”

Outputs (5)

NameTypeDescription
πŸ”΅IMAGEβ€”
🟑IMAGEβ€”
🟣IMAGEβ€”
⚫️IMAGEβ€”
βšͺIMAGEβ€”