Nodes/SDXL Auto Prompter/APNext Interaction
ComfyUI Node

APNext Interaction

Add people-doing-things detail to a prompt from category banks

By dagthomas·Created 3 years ago·Updated 12 days ago· 283
APNext Interaction
    • prompt
    • random
    prompt
    separator,
    string
    seed0
    attributesfalse
    couple_interactionsNone
    crowd_interactionsNone
    detailed_individual_interactionsNone
    individual_interactionsNone
    couple_negativeNone
    group_interactionsNone

    InteractionPromptNode (APNext Interaction) is an offline prompt builder focused on one thing: what the people in your image are doing. It appends action and interaction phrases to your base prompt from big curated banks - solo gestures, couple dynamics, group activities, crowd scenes. No API, no key, no model; just string assembly. It's part of the pack's Auto Prompter family, and it's the one you reach for when your subjects keep coming out standing there stiffly and you want them adjusting a tie, arguing, or celebrating instead.

    How it works

    The node holds JSON lists of interaction phrases by category and stitches your picks onto your prompt with the separator (default ,). Each dropdown offers None, Random, Multiple Random, or a specific choice:

    • individual_interactions (300+ options) - solo gestures: "adjusts glasses on nose," "applies chapstick to lips."
    • detailed_individual_interactions (~200) - little multi-beat sequences: "adjusts a tie, looks in the mirror, and then nods in satisfaction."
    • couple_interactions and couple_negative - two-person dynamics, warm ("bonding," "being intimate") and hostile ("bickering," "blaming each other").
    • group_interactions and crowd_interactions - scene-scale activities ("attending a festival," "battling supernatural forces").

    seed makes random rolls repeatable; attributes pulls in extra descriptors. Two outputs - prompt (your base plus the picks) and random (a randomized selection) - into your text encode.

    The Random / Multiple Random settings are the real value here: batch a dozen images with a fixed subject and let the interaction roll each time, and you get natural variety without writing each pose by hand.

    Where it shines, and where it doesn't

    Action phrasing is one of the bits of prompting that transferred cleanly to modern models - "a woman laughing while adjusting her hat" is a concrete instruction any LLM-encoded model reads well, and it reads fine as a natural-language clause on Flux or Z-Image and as a tag-ish fragment on SDXL. So this node ages better than the pure quality-keyword banks in the sibling Keywords node.

    The caveat is prompt adherence. Modern models follow instructions hard, so stacking three contradictory interactions ("arguing" + "bonding" + "being rejected") on one subject produces incoherent output - some models will literally try to do all of it and give you body horror. Pick one interaction that fits the scene.

    Installing it

    ComfyUI Manager: search comfyui_dagthomas, install, restart. Or clone and pip install -r requirements.txt. Note this node needs none of the pack's LLM dependencies - it's pure string work, so it runs regardless of whether the API nodes can reach anything.

    Common issues

    Phrases don't match the number of subjects. couple_interactions and crowd_interactions assume two people or a crowd. Put them on a solo portrait and the model either ignores them or invents extra people. Match the bank to your subject count.

    Contradictory actions = mush. Multiple Random across several banks can hand one person incompatible actions. On high-adherence models that backfires - keep it to one clear interaction per subject.

    Nothing changed. Every dropdown left at None means nothing gets appended. Set at least one to a value or to Random.

    Categorycomfyui_dagthomas

    Inputs (11)

    NameTypeDefaultDescription
    promptSTRING
    separatorSTRING,
    stringoptSTRING
    seedoptINT00–18446744073709550000
    attributesoptBOOLEANfalse
    couple_interactionsoptCOMBONone52 options: None, Random, Multiple Random, Adoring someone, Argument, Assistance, +46
    crowd_interactionsoptCOMBONone47 options: None, Random, Multiple Random, Attending a concert, Attending a festival, Attending a march, +41
    detailed_individual_interactionsoptCOMBONone197 options: None, Random, Multiple Random, Adjusts a tie, looks in the mirror, and then nods in satisfaction, Adjusts glasses, squints at something in the distance, then nods in understanding, Adjusts hat, looks in the mirror, and then nods in satisfaction, +191
    individual_interactionsoptCOMBONone306 options: None, Random, Multiple Random, adjusts a hat on head, adjusts a tie, adjusts backpack straps, +300
    couple_negativeoptCOMBONone53 options: None, Random, Multiple Random, Accusing each other, Bickering with each other, Blaming each other, +47
    group_interactionsoptCOMBONone53 options: None, Random, Multiple Random, Attempting to break a world record, Attending a high school reunion, Battling supernatural forces, +47

    Outputs (2)

    NameTypeDescription
    promptSTRING
    randomSTRING