Nodes/comfyui-fvmtools/JB · Outfit Block
ComfyUI Node

JB · Outfit Block

One node for outfit + colors, resolved straight to JSON — the JB one-shot block

By ping1979ping·Created 5 months ago·Updated about a month ago· 0
JB · Outfit Block
    • outfit_json
    • outfit_string
    • palette_summary
    outfit_set
    seed0
    style_presetgeneral
    formality0.50
    coverage0.50
    enable_headwearfalse
    enable_toptrue
    enable_bottomtrue
    enable_footweartrue
    enable_outerwearfalse
    enable_accessoriesfalse
    enable_bagfalse
    print_probability0.30
    text_modeoff
    color_moodeveryday_muted
    output_formatloose_keys
    overrides
    num_colors5
    harmony_typeauto
    palette_stylegeneral
    vibrancy0.50
    contrast0.50
    warmth0.50

    In the JB pipeline, an outfit used to be three nodes: Outfit Generator produces garments with color tags, Color Generator makes the palette, and a combiner merges them and substitutes the colors. JB · Outfit Block collapses all of that into a single node. Pick an outfit set, twist the sliders, and out the other side comes a fully resolved JSON outfit - colors already baked in as real color names, structured so it drops straight into a JB · Stitcher under your character's title.

    It's the "one-shot combo" pattern the JB suite is built around, and it exists to kill the most annoying part of structured prompting: assembling a coherent outfit and keeping the colors consistent across every garment. With the block, "coherent" is a property of the pipeline, not a thing you hope for.

    What you get

    There are 446 outfit sets in the dropdown - business, casual, aerobic, athleisure, beach, and on down, many split female//male/ and by activity. The node reuses the exact same outfit_lists/ text-file data as the standalone FVM_OutfitGenerator, and the Edit List modal edits those source files directly from the node - same instant-apply behavior, no restart. You get the same garment toggles (enable_top, enable_bottom, enable_footwear, enable_headwear, enable_outerwear, enable_accessories, enable_bag), the formality and coverage sliders, print_probability and text_mode for prints/typography, and the overrides string for hand-fixing a single slot (bottom: exclude skips it entirely).

    The color section is Color Generator folded in: num_colors (2–8), harmony_type, palette_style, vibrancy, contrast, warmth. Where the standalone outfit node emits #primary#-style tags waiting for a separate replace step, this block resolves them itself - the JSON comes out with actual color names already in place.

    The outputs

    • outfit_json - the structured outfit, colors resolved. Feed this to a Stitcher's input_N.
    • outfit_string - the same content as a flat string, for encoders that prefer a sentence.
    • palette_summary - a human-readable rundown of the palette and what each role color was.

    Because colors are baked in, the outfit block is deterministic per seed the way the generator is - same seed, same set, same sliders, same outfit and palette every run.

    Installing

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

    Zero extra dependencies. Restart ComfyUI; it lives under FVM Tools/JB.

    When to use it vs. the standalone nodes

    Use the block when you're building a JB character document and want one node per character slice - outfit, face, location - each producing JSON. Use the standalone FVM_OutfitGenerator when you want the tagged prompt flow (with Prompt Color Replace downstream) or when you need to mix a fixed palette across multiple characters, so every character shares the same wardrobe colors. The block gives each character its own palette; the standalone flow gives them all one. That's the whole decision, and it's worth making deliberately.

    CategoryFVM Tools/JB

    Inputs (23)

    NameTypeDefaultDescription
    outfit_setCOMBO395 options: business_female2, female/athleisure/general, female/athleisure/hot_pilates, female/athleisure/hybrid_athflow, female/athleisure/low_intensity_walk, female/athleisure/outdoor_trail, +389
    seedINT00–18446744073709550000
    style_presetCOMBOgeneral14 options: beach, casual_daywear, cyberpunk_neon, earthy_natural, evening_gala, festival, +8
    formalityFLOAT0.500–1
    coverageFLOAT0.500–1
    enable_headwearBOOLEANfalse
    enable_topBOOLEANtrue
    enable_bottomBOOLEANtrue
    enable_footwearBOOLEANtrue
    enable_outerwearBOOLEANfalse
    enable_accessoriesBOOLEANfalse
    enable_bagBOOLEANfalse
    print_probabilityFLOAT0.300–1Chance of a pattern per garment. 'solid color' entries are never written into the prompt — they say nothing.
    text_modeCOMBOoffSlogans printed on the garment. Krea 2 renders quoted text literally onto the clothing, so 'off' is the default; 'quoted' is for Ideogram-style text rendering.
    color_moodCOMBOeveryday_mutedPicks the colour scheme with one setting instead of six sliders. auto: Keep the classic harmony engine and the six sliders. Unchanged behaviour for existing workflows. everyday_muted: What people actually wear: mostly neutrals with a few desaturated colours. Best default for casual sets. neutral_basics: White, grey, navy, beige, black only — plain basics, nothing that draws attention. one_accent: Neutral outfit plus exactly one saturated piece (the top). denim_casual: Denim bottoms and jacket with neutral tops and shoes. warm_earth: Cream, camel, rust, olive — warm and earthy. cool_muted: Grey, navy, slate, sage — cool and restrained. monochrome: One base colour in several shades. bold: Saturated and high contrast — designed, not everyday. pastel: Soft, light, low contrast. The six classic sliders (num_colors, harmony_type, palette_style, vibrancy, contrast, warmth) stay available as optional inputs and are used when the mood is 'auto' — or to override single values.
    output_formatCOMBOloose_keysnatural: plain prose, no keys and no metadata — use this for Krea 2 / Qwen text encoders. loose_keys / pretty_json / compact_json: structured, for Ideogram 4 style JSON prompting.
    overridesoptSTRINGPer-slot overrides plus palette colour forcing. One directive per line — use the Edit Overrides button for a guided editor. Slot lines (slots: headwear, top, outerwear, bottom, footwear, accessories, bag): top: silk blouse force garment (first word = fabric when two+ words) top: silk blouse | accent ...and force its colour role top: silk blouse | accent | floral print ...and force a decoration ('none' = plain) bag: exclude drop the slot even if enabled top: auto explicit default (same as omitting the line) Wildcards pick randomly: top: {silk|satin} blouse Palette line — force the colours behind the roles instead of the mood/harmony pick: palette: primary=navy blue, secondary=cream, accent=burnt orange Roles: primary, secondary, accent, neutral, metallic, tertiary, ambient_light, shadow_tone. Unlisted roles keep their generated colour. Lines starting with # are comments.
    num_colorsoptINT52–8How many colours the outfit draws from.
    harmony_typeoptCOMBOautoHarmony engine only (color_mood = auto).
    palette_styleoptCOMBOgeneralHarmony engine only (color_mood = auto).
    vibrancyoptFLOAT0.500–1Harmony engine only (color_mood = auto).
    contrastoptFLOAT0.500–1Harmony engine only (color_mood = auto).
    warmthoptFLOAT0.500–1Warm/cool bias. Also tints the ambient light and shadow phrases in every mood.

    Outputs (3)

    NameTypeDescription
    outfit_jsonSTRING
    outfit_stringSTRING
    palette_summarySTRING