Nodes/SDXL Auto Prompter/APNext Fashion
ComfyUI Node

APNext Fashion

Garments, hairstyles and designers as dropdowns

By dagthomas·Created 3 years ago·Updated 12 days ago· 283
APNext Fashion
    • prompt
    • random
    prompt
    separator,
    string
    seed0
    attributesfalse
    feminineNone
    culturalNone
    masculine_outfitsNone
    feminine_outfitsNone
    masculineNone
    masculine_hair_stylesNone
    feminine_hair_stylesNone
    accessoriesNone
    designersNone

    Dressing a character precisely is one of those things that sounds easy and turns into a vocabulary problem fast. FashionPromptNode is dagthomas's answer: dropdowns for garments, era outfits, cultural dress, hairstyles, accessories and 106 fashion designers, all appended to your prompt. It's aimed squarely at lookbook, editorial and character-outfit work - anyone who needs to specify a "1970s disco" fit or "art deco beaded flapper dress" without hunting for the exact phrasing. It's part of the "SDXL Auto Prompter" pack alongside the Character and Cinematic builders.

    The lists split masculine/feminine across garments and hair, which is the practical way to think about it - you're usually dressing one figure and want that figure's clothes and cut to be coherent. The hairstyle menus in particular are deep (165 feminine styles, 103 masculine) and are honestly more useful than the designer list, because a named haircut is a concrete visual the model renders well, while "balenciaga" is a vibe.

    How it works

    No model, no API key - it joins your prompt with the selected fashion terms via the separator (comma default) and returns a string. As with the rest of the family, each menu starts with None / Random / Multiple Random, so a seed turns it into an outfit randomizer. It's tag-style injection, best on SDXL-lineage checkpoints; on LLM-encoded 2026 models the terms still parse as text but read as instruction fragments.

    The inputs and outputs that matter

    • prompt - your base text; the wardrobe folds in.
    • Garment menus: feminine (155) and masculine (176) for individual pieces, feminine_outfits (54) and masculine_outfits (24) for whole era/theme looks, cultural (101) for traditional and regional dress, accessories (156).
    • Hair: feminine_hair_styles (165) and masculine_hair_styles (103) - named cuts and styles that render reliably.
    • designers (106) - for a brand's aesthetic rather than a specific garment.
    • seed drives Random / Multiple Random; attributes (off by default) adds the pack's extra descriptor words.

    Outputs are prompt and random, strings, into a CLIP Text Encode.

    How to install it

    ComfyUI Manager: search comfyui_dagthomas, install, restart. Manual:

    cd ComfyUI/custom_nodes && git clone https://github.com/dagthomas/comfyui_dagthomas
    cd comfyui_dagthomas && pip install -r requirements.txt
    

    then restart. The requirements.txt installs the entire pack's stack - transformers, decord, scipy, openai, anthropic, google-generativeai - because dagthomas ships cloud-LLM and video nodes in the same repo. This builder needs none of it; decord is the dependency most likely to fail, and the plain nodes usually load anyway.

    Where people get burned

    • Gendered lists, mixed results. The menus are split masculine/feminine, but your subject and checkpoint don't have to agree with that split. If a garment reads wrong on your figure, it's usually the base model's bias, not the node - swap the pick or the checkpoint.
    • Outfit + individual garment conflict. Choosing a full feminine_outfits look and piling on individual feminine garments fights itself. Pick one approach per figure.
    • Designers are the weak lever. A named haircut or garment is concrete; "acne studios" is a mood the model may not know. Lean on the garment and hair menus, use designers as flavor.
    • Model era. On SDXL/Illustrious this behaves like the tag list it is. On Flux 2 / Z-Image, keep it to a couple of concrete garment terms in a clean sentence.
    Categorycomfyui_dagthomas

    Inputs (14)

    NameTypeDefaultDescription
    promptSTRING
    separatorSTRING,
    stringoptSTRING
    seedoptINT00–18446744073709550000
    attributesoptBOOLEANfalse
    feminineoptCOMBONone155 options: None, Random, Multiple Random, backpack, balaclava, ball gown, +149
    culturaloptCOMBONone101 options: None, Random, Multiple Random, 80s power suit, 90s grunge flannel shirt, afghan pakol hat, +95
    masculine_outfitsoptCOMBONone24 options: None, Random, Multiple Random, 1920s gangster, 1930s gentleman, 1940s military, +18
    feminine_outfitsoptCOMBONone54 options: None, Random, Multiple Random, 1920s art deco, 1920s flapper, 1920s parisian, +48
    masculineoptCOMBONone176 options: None, Random, Multiple Random, athletic pants, athletic shirt, athletic shirts, +170
    masculine_hair_stylesoptCOMBONone103 options: None, Random, Multiple Random, afro (hairstyle), bald with beard (haircut), bald with shaved beard (haircut), +97
    feminine_hair_stylesoptCOMBONone165 options: None, Random, Multiple Random, a-line bob (haircut), afro (hairstyle), angled bob (haircut), +159
    accessoriesoptCOMBONone156 options: None, Random, Multiple Random, anklet, arm warmers, armlet, +150
    designersoptCOMBONone106 options: None, Random, Multiple Random, acne studios, akris, alberta ferretti, +100

    Outputs (2)

    NameTypeDescription
    promptSTRING
    randomSTRING