Nodes/ComfyUI_RandomPerson/Random Person: Style
ComfyUI Node

Random Person: Style

Clothing, accessories, makeup — the wardrobe a random person wears.

By bradsec·Created 2 months ago·Updated 2 months ago· 5
Random Person: Style
    • full_style_description
    • sex
    • clothing
    • accessories
    • makeup
    • footwear
    • seed
    seed0
    randomizetrue
    sexrandom
    accessories_modeoff
    accessories_allow_list
    accessories_fixed(none)
    makeup_modeoff
    makeup_allow_list
    makeup_fixed(none)
    clothing_modeoff
    clothing_allow_list
    clothing_fixed(none)
    footwear_modeoff
    footwear_allow_list
    footwear_fixed(none)
    extra_attributes

    If every person in your batch wears a plain t-shirt, they're not individuals yet - they're the same person in different lighting. Random Person: Style is the segment node from ComfyUI_RandomPerson that finishes the job: clothing, accessories, makeup, and footwear, rolled per-seed into one comma-separated fragment. It's the outfit layer of the pack, and it's the layer where people actually start to read as different people.

    Like the other four segment nodes (Identity, Face, Hair, Body), it runs the same generator as the pack's all-in-one node but exposes only its slice. Use it alone to vary outfits across a batch, or concatenate it with the siblings for a full person - same sex on each.

    What it generates

    • clothing - the deep list, sex-gated: blouse, cardigan, sundress, maxi dress, wool coat for female; bomber jacket, henley, flannel, three-piece suit, parka, tracksuit for male. Values are stored as full phrases ("a plain t-shirt", "a wool overcoat") so the description reads naturally. Defaults off.
    • accessories - glasses (round, thick-framed, reading, aviator sunglasses), earrings, scarves, hats, jewellery - 26 options. Defaults off.
    • makeup - natural, soft, minimal, glam, bold, smokey eye, winged eyeliner, red/bold lipstick. Effectively female-only: the male makeup list is a single none with an empty description, so males never get a makeup phrase. Defaults off.
    • footwear - sneakers, boots, sandals, plus sex-gated styles like high heels and mary janes for female, work boots for male. Defaults off.

    Notice a theme: everything on this node defaults to off. That's deliberate - the pack's core identity categories roll random, but the "flair" categories (which is all of Style) stay silent until you opt in. So the default behavior is a description with no outfit at all, which confuses people who expect the wardrobe to just show up. Flip the modes to random and the node takes over styling.

    The inputs that matter

    The pack's universal three-widget pattern: _mode (random/allow_list/fixed/off), _allow_list (comma-separated subset, unknown values kept as literal descriptors), and _fixed (a dropdown value for fixed mode). So clothing_allow_list: t-shirt, hoodie, flannel shirt rolls a casual wardrobe, or footwear_fixed: sneakers locks the shoes. extra_attributes appends free text verbatim - perfect for a "tattoo on left arm, silver hoop earrings" addition.

    seed plus randomize is pack-standard: on (default) gives a fresh outfit every run, off reproduces the same one from the same seed.

    Outputs and wiring

    • full_style_description - the assembled fragment, e.g. a plain t-shirt, stud earrings, natural makeup, sneakers
    • sex - resolved sex, for syncing with sibling nodes
    • clothing, accessories, makeup, footwear - each on its own pin for routing
    • seed - INT

    Wire full_style_description into a CLIP Text Encode's text input or a string concat node next to the other segments. For a street scene or crowd shot, randomize: on and batch - every passerby gets a different outfit.

    Install and gotchas

    ComfyUI Manager: search ComfyUI_RandomPerson, install, restart. Or:

    cd ComfyUI/custom_nodes
    git clone https://github.com/bradsec/ComfyUI_RandomPerson
    

    Under Add Node → Random Person. No pip dependencies, Python 3.10+, registers on both V1 and V3 APIs.

    Two gotchas worth remembering. First: the all-off default - if your Style fragment comes out empty, that's the node working as intended, not a bug; switch the modes to random. Second, when composing with sibling nodes, each segment rolls its own sex if left on random, so set the same concrete sex everywhere or a male outfit list can land on a female person.

    CategoryRandom Person

    Inputs (16)

    NameTypeDefaultDescription
    seedINT00–18446744073709550000Seed for reproducibility. With randomize off, the same seed reproduces the same person.
    randomizeBOOLEANtrueOn: pick a new random person every run, ignoring the seed widget. Off: use the seed.
    sexCOMBOrandomrandom, male, or female. male/female filter the sex-specific dropdowns in the UI.
    accessories_modeCOMBOoffHow this attribute is chosen: random (any), allow_list (subset you list), fixed (the dropdown value), off (omit it).
    accessories_allow_listSTRINGComma-separated values used when mode=allow_list. Unknown values are added as literal descriptors.
    accessories_fixedCOMBO(none)Exact value used when mode=fixed. (none) falls back to random.
    makeup_modeCOMBOoffHow this attribute is chosen: random (any), allow_list (subset you list), fixed (the dropdown value), off (omit it).
    makeup_allow_listSTRINGComma-separated values used when mode=allow_list. Unknown values are added as literal descriptors.
    makeup_fixedCOMBO(none)Exact value used when mode=fixed. (none) falls back to random.
    clothing_modeCOMBOoffHow this attribute is chosen: random (any), allow_list (subset you list), fixed (the dropdown value), off (omit it).
    clothing_allow_listSTRINGComma-separated values used when mode=allow_list. Unknown values are added as literal descriptors.
    clothing_fixedCOMBO(none)Exact value used when mode=fixed. (none) falls back to random.
    footwear_modeCOMBOoffHow this attribute is chosen: random (any), allow_list (subset you list), fixed (the dropdown value), off (omit it).
    footwear_allow_listSTRINGComma-separated values used when mode=allow_list. Unknown values are added as literal descriptors.
    footwear_fixedCOMBO(none)Exact value used when mode=fixed. (none) falls back to random.
    extra_attributesSTRINGFree text appended to the description as-is, comma-separated. Pose, setting, props, extra detail, etc.

    Outputs (7)

    NameTypeDescription
    full_style_descriptionSTRING
    sexSTRING
    clothingSTRING
    accessoriesSTRING
    makeupSTRING
    footwearSTRING
    seedINT