Nodes/comfyui-fvmtools/Color Palette Generator
ComfyUI Node

Color Palette Generator

A color theory palette generator that speaks to your prompt, not just to your eyes

By ping1979ping·Created 5 months ago·Updated 30 days ago· 0
Color Palette Generator
    • palette_string
    • color_1
    • color_2
    • color_3
    • color_4
    • color_5
    • color_6
    • color_7
    • color_8
    • primary
    • secondary
    • accent
    • neutral
    • metallic
    • palette_preview
    • palette_info
    seed0
    num_colors5
    harmony_type
    style_preset
    vibrancy0.50
    contrast0.50
    warmth0.50
    neutral_ratio0.4
    include_metallicstrue
    palette_source
    wildcard_file
    palette_index-1

    You can pick colors by eye. The reason to reach for this node is that it hands colors to your prompt - it generates a harmonious palette and outputs the colors as named strings that drop straight into a text encoder. "A red dress" becomes a deliberate, coordinated choice from a palette that a second node, Prompt Color Replace, injects into every outfit line with the same names. If you've ever generated five images of the same character wearing "navy," "teal," and "dark blue" that all rendered as the same blob of blue, this is the fix: one palette, one vocabulary, consistent color across an entire batch.

    How it works

    It applies color theory the old-fashioned way. Pick a harmony_type - analogous (neighboring hues, calm), complementary (opposite hues, bold), triadic, tetradic, split-complementary, monochromatic - or leave it on auto and it picks based on the seed. Then it pulls from a built-in catalog of 161 fashion-relevant named colors, filtered through your sliders: vibrancy (saturation), contrast (lightness spread), warmth (cool-to-warm bias), and neutral_ratio (how many desaturated grays/beiges sneak in). There are also 14 style_presets - beach, cyberpunk_neon, evening_gala, office_professional, pastel_dream - that bias the whole selection toward a mood. include_metallics reserves a slot for gold/silver/bronze, which is genuinely handy for jewelry and accessories.

    The magic is reproducibility: same seed + same settings = same palette, every time. That's what makes it usable across a multi-image character set where every image must share the wardrobe colors.

    The outputs that matter

    The star is palette_string - a comma-separated string of color names that wires directly into Prompt Color Replace. Beyond that you get individual outputs: color_1 through color_8, and the semantic roles primary, secondary, accent, neutral, metallic. The roles map to positions (position 1 = primary, position 2 = secondary, and so on), so a 5-color palette covers all five roles. palette_preview is an IMAGE - a swatch you can actually look at, or even feed into Person Selector Multi's outfit-palette input if you're using the face tools. palette_info is a human-readable dump of what was chosen and why.

    There's also a palette_source mode worth knowing: set it to from_file and it reads from a wildcard_file - a text file of palettes, one comma-separated line each - and picks a line by palette_index (-1 = random by seed). Handy if you want to lock a specific curated list and never trust the generator.

    Installing

    This is the zero-drama corner of the pack:

    cd ComfyUI/custom_nodes
    git clone https://github.com/ping1979ping/comfyui-FVMtools
    

    No Python deps beyond numpy (already in ComfyUI), no model downloads, nothing to auto-fetch. Restart and it's live. If you're only interested in the color/fashion side, you never need the insightface stack at all.

    The honest take

    It's a flavor generator with training wheels, not a replacement for a designer's eye. The auto harmony is random-ish per seed, so "harmonious" sometimes lands on combinations that look muddy - but that's precisely what vibrancy, contrast, and the style presets are for, and why the preview swatch is there. Where this node shines over a hand-typed palette is scale and consistency: 20 images, 3 characters, one seed-managed color story. For a single one-off image, just type the colors.

    CategoryFVM Tools/Color

    Inputs (12)

    NameTypeDefaultDescription
    seedINT00–4294967295Random seed for deterministic palette generation. Same seed + same settings = same palette every time.
    num_colorsINT52–8Number of colors to generate (2-8). 5 is recommended — maps to the semantic roles: primary, secondary, accent, neutral, metallic. Extra colors are available as color_6, color_7, color_8.
    harmony_typeCOMBOColor harmony algorithm for hue selection. auto — picks a harmony type based on seed analogous — neighboring hues (calm, cohesive) complementary — opposite hues (bold contrast) split_complementary — one hue + two adjacent opposites triadic — three evenly spaced hues (vibrant) tetradic — four hues in two complementary pairs monochromatic — single hue, varied lightness/saturation
    style_presetCOMBOVisual style that influences color selection. Each preset defines preferred hue ranges, saturation, and lightness profiles. E.g. 'pastel' favors light desaturated colors, 'gothic' favors dark reds/purples/blacks.
    vibrancyFLOAT0.500–1Color saturation intensity. 0.0 = muted, desaturated (grays, pastels) 0.5 = balanced (default) 1.0 = vivid, highly saturated colors
    contrastFLOAT0.500–1Lightness spread between colors. 0.0 = all colors at similar brightness 0.5 = moderate light/dark variation (default) 1.0 = maximum spread (very light + very dark colors)
    warmthFLOAT0.500–1Color temperature bias. 0.0 = cool (blues, greens, purples) 0.5 = neutral (default) 1.0 = warm (reds, oranges, yellows)
    neutral_ratioFLOAT0.40–1Proportion of neutral/muted colors in the palette. 0.0 = all colors are chromatic (vibrant) 0.4 = ~40% neutrals like gray, beige, cream (default) 1.0 = mostly neutrals (subdued palette)
    include_metallicsBOOLEANtrueInclude metallic colors (gold, silver, bronze, rose-gold, etc.). When enabled, one palette slot is reserved for a metallic color and output as the 'metallic' role. Useful for jewelry/accessories.
    palette_sourceoptCOMBOgenerate — create palette from seed + settings (default) from_file — pick a palette from the wildcard_file text below
    wildcard_fileoptSTRINGManual palette list (one per line, comma-separated color names). Only used when palette_source = 'from_file'. Example: navy-blue, soft-pink, charcoal, gold, cream forest-green, burgundy, tan, silver, ivory Use palette_index to pick a specific line, or -1 for random by seed.
    palette_indexoptINT-1-1–9999Which line to pick from wildcard_file. -1 = random line based on seed (default) 0+ = specific line number (wraps around if too large)

    Outputs (16)

    NameTypeDescription
    palette_stringSTRING
    color_1STRING
    color_2STRING
    color_3STRING
    color_4STRING
    color_5STRING
    color_6STRING
    color_7STRING
    color_8STRING
    primarySTRING
    secondarySTRING
    accentSTRING
    neutralSTRING
    metallicSTRING
    palette_previewIMAGE
    palette_infoSTRING