APNext Human
Jobs, hobbies and crowds to build people prompts
- prompt
- random
This one adds the what are they doing and who are they layer to a person prompt. Where the People node handles bodies and faces, APNext Human handles context - occupation, hobby, the group they're part of, the festival they're at. It's a dropdown builder with four big lists: 603 jobs, 280 hobbies, 45 kinds of group ("audience", "commuters", "congregation"), and 42 festivities from Carnival to Día de los Muertos.
You'd use it to knock a portrait out of generic-stock-photo mode fast. "A woman" is nothing; "a woman, welder, at a bonfire night festival" is a scene. The node just makes picking those modifiers a dropdown instead of a memory test.
How it works
Standard APNext mechanism: each category is None (skip), Random (one pick), Multiple Random (several), or a specific value. Your typed prompt is the base and the picks get appended, joined by the separator. The seed locks the draw so you can reproduce a combination you liked.
Occupation is the strongest single lever here. A job carries a whole bundle of implied clothing, props, setting and posture that the model already associates with it - "firefighter" pulls in gear, "sommelier" pulls in a very different frame. That's more efficient than describing all of it by hand.
Inputs and outputs that matter
- prompt (multiline, required) - your base subject. The human context stacks onto this.
- jobs - the biggest list and the biggest effect. One occupation reshapes the whole image.
- hobbies - softer than a job, good for a candid or lifestyle feel.
- groups - switches a solo portrait to a crowd or gathering; pair it with a festivity.
- seed - reproducibility; roll it to keep browsing.
- attributes (boolean) - pulls in the extra descriptor tags certain entries carry.
Outputs: prompt (base plus the assembled human terms, ready for your encoder) and random (only the random additions, if that's all you want downstream).
Installing it
Through ComfyUI Manager, search comfyui_dagthomas and hit install, then restart. Manually:
cd ComfyUI/custom_nodes
git clone https://github.com/dagthomas/comfyui_dagthomas
cd comfyui_dagthomas
pip install -r requirements.txt
The pack's requirements are heavy because of its LLM and FX nodes; this prompt node uses none of them and needs no API key.
Common issues
The obvious trap: Multiple Random on jobs and hobbies and groups gives you a "firefighter accountant beekeeper in a crowd at Diwali," which the model can't reconcile. One job, maybe one hobby, done. Keep the rest on None.
Also mind your target model. The dagthomas lists are SDXL-flavored tags, so they slot naturally into SDXL, Illustrious and Pony prompts. On LLM-encoded models (Z-Image, Flux 2, Anima) that want instructions rather than tag lists, use this node to brainstorm the combination, then rewrite it as a sentence - the raw comma soup underperforms there. For tag-based checkpoints, though, it's a quick, deep source of human variety.
Inputs (9)
| Name | Type | Default | Description |
|---|---|---|---|
| prompt | STRING | — | |
| separator | STRING | , | — |
| stringopt | STRING | — | |
| seedopt | INT | 00–18446744073709550000 | — |
| attributesopt | BOOLEAN | false | — |
| groupsopt | COMBO | None | 45 options: None, Random, Multiple Random, assembly, attendees, audience, +39 |
| hobbiesopt | COMBO | None | 280 options: None, Random, Multiple Random, acting, acupuncture, advocacy, +274 |
| festivitiesopt | COMBO | None | 42 options: None, Random, Multiple Random, baisakhi, bastille day, bonfire night, +36 |
| jobsopt | COMBO | None | 603 options: None, Random, Multiple Random, able-bodied seaman, accountant, activist, +597 |
Outputs (2)
| Name | Type | Description |
|---|---|---|
| prompt | STRING | — |
| random | STRING | — |