Nodes/comfyui-fvmtools/SMP · Color Generator (dict) (legacy)
ComfyUI Node

SMP · Color Generator (dict) (legacy)

A color palette as a typed dict, with atmosphere tokens — the SMP color generator

By ping1979ping·Created 5 months ago·Updated about a month ago· 0
SMP · Color Generator (dict) (legacy)
    • color_palette
    • summary
    seed0
    num_colors5
    harmony_typeauto
    style_presetgeneral
    vibrancy0.50
    contrast0.50
    warmth0.50

    FVM_SMP_ColorGenerator is the dict-emitting version of the pack's color palette generator, built for the legacy StructPromptMaker pipeline. Same underlying color-theory algorithm as FVM_ColorPaletteGenerator - same harmony types, same style presets, same seed-driven reproducibility - but instead of a palette_string and a swatch, it outputs a typed COLOR_PALETTE_DICT that SMP's combiners consume directly. If you're on an SMP workflow, this is how colors enter it.

    The reason it exists as a separate node is the data shape. Where the modern color node hands you color names for a prompt string, this one produces a structured document with:

    • Garment role colors - colors assigned to outfit roles (primary, secondary, accent, and so on) that the SMP OutfitCombiner substitutes into garment prompts.
    • Atmosphere tokens - ambient_light and shadow_tone entries derived from the same palette, which the LocationCombiner uses to write scene lighting ("amber light, warm shadows") that matches the wardrobe colors. That's the genuinely nice touch: the palette drives both the clothes and the light, so a character doesn't end up in a crimson dress under blue moonlight.
    • A raw_tokens substitution map - the internal token→color mapping both combiners apply when they resolve prompts.

    Inputs and outputs

    Inputs are the familiar color knobs: seed, num_colors (2–8), harmony_type (auto/analogous/complementary/split_complementary/triadic/tetradic/monochromatic), style_preset (the same 14), vibrancy, contrast, warmth. Outputs: color_palette (the typed dict - wire it into the SMP OutfitCombiner and LocationCombiner) and summary (a human-readable string of what the palette resolved to, for sanity checks without a ShowText).

    Installing

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

    No extra dependencies. Restart ComfyUI; it's under FVM Tools/SMP/Generators.

    The legacy framing

    This whole SMP branch is superseded by the JB suite, and the author says so in the README. JB · OutfitBlock and JB · LocationBlock fold color generation into a single resolved-JSON node with none of the dict ceremony - for new work, use those. Where this node (and SMP generally) keeps value is the atmosphere token system: the modern blocks bake colors into the outfit but don't export an ambient_light/shadow_tone pair for the scene. If you want a palette that coordinates garment colors with scene lighting in one shot, that's a genuine SMP-only feature worth keeping in mind. Just know you're committing to the whole dict-pipeline stack to use it.

    CategoryFVM Tools/SMP/Generators

    Inputs (7)

    NameTypeDefaultDescription
    seedINT00–18446744073709550000
    num_colorsINT52–8
    harmony_typeCOMBOauto7 options: auto, analogous, complementary, split_complementary, triadic, tetradic, +1
    style_presetCOMBOgeneral14 options: beach, casual_daywear, cyberpunk_neon, earthy_natural, evening_gala, festival, +8
    vibrancyFLOAT0.500–1
    contrastFLOAT0.500–1
    warmthFLOAT0.500–1

    Outputs (2)

    NameTypeDescription
    color_paletteCOLOR_PALETTE_DICT
    summarySTRING