APNext Fashion
Garments, hairstyles and designers as dropdowns
- prompt
- random
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) andmasculine(176) for individual pieces,feminine_outfits(54) andmasculine_outfits(24) for whole era/theme looks,cultural(101) for traditional and regional dress,accessories(156). - Hair:
feminine_hair_styles(165) andmasculine_hair_styles(103) - named cuts and styles that render reliably. designers(106) - for a brand's aesthetic rather than a specific garment.seeddrivesRandom/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_outfitslook and piling on individualfemininegarments 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.
Inputs (14)
| Name | Type | Default | Description |
|---|---|---|---|
| prompt | STRING | — | |
| separator | STRING | , | — |
| stringopt | STRING | — | |
| seedopt | INT | 00–18446744073709550000 | — |
| attributesopt | BOOLEAN | false | — |
| feminineopt | COMBO | None | 155 options: None, Random, Multiple Random, backpack, balaclava, ball gown, +149 |
| culturalopt | COMBO | None | 101 options: None, Random, Multiple Random, 80s power suit, 90s grunge flannel shirt, afghan pakol hat, +95 |
| masculine_outfitsopt | COMBO | None | 24 options: None, Random, Multiple Random, 1920s gangster, 1930s gentleman, 1940s military, +18 |
| feminine_outfitsopt | COMBO | None | 54 options: None, Random, Multiple Random, 1920s art deco, 1920s flapper, 1920s parisian, +48 |
| masculineopt | COMBO | None | 176 options: None, Random, Multiple Random, athletic pants, athletic shirt, athletic shirts, +170 |
| masculine_hair_stylesopt | COMBO | None | 103 options: None, Random, Multiple Random, afro (hairstyle), bald with beard (haircut), bald with shaved beard (haircut), +97 |
| feminine_hair_stylesopt | COMBO | None | 165 options: None, Random, Multiple Random, a-line bob (haircut), afro (hairstyle), angled bob (haircut), +159 |
| accessoriesopt | COMBO | None | 156 options: None, Random, Multiple Random, anklet, arm warmers, armlet, +150 |
| designersopt | COMBO | None | 106 options: None, Random, Multiple Random, acne studios, akris, alberta ferretti, +100 |
Outputs (2)
| Name | Type | Description |
|---|---|---|
| prompt | STRING | — |
| random | STRING | — |