ComfyUI Node

APNext Human

Jobs, hobbies and crowds to build people prompts

By dagthomas·Created 3 years ago·Updated 13 days ago· 283
APNext Human
    • prompt
    • random
    prompt
    separator,
    string
    seed0
    attributesfalse
    groupsNone
    hobbiesNone
    festivitiesNone
    jobsNone

    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.

    Categorycomfyui_dagthomas

    Inputs (9)

    NameTypeDefaultDescription
    promptSTRING
    separatorSTRING,
    stringoptSTRING
    seedoptINT00–18446744073709550000
    attributesoptBOOLEANfalse
    groupsoptCOMBONone45 options: None, Random, Multiple Random, assembly, attendees, audience, +39
    hobbiesoptCOMBONone280 options: None, Random, Multiple Random, acting, acupuncture, advocacy, +274
    festivitiesoptCOMBONone42 options: None, Random, Multiple Random, baisakhi, bastille day, bonfire night, +36
    jobsoptCOMBONone603 options: None, Random, Multiple Random, able-bodied seaman, accountant, activist, +597

    Outputs (2)

    NameTypeDescription
    promptSTRING
    randomSTRING