Nodes/ComfyUI_EmAySee_CustomNodes/EmAySee AdLib Prompt Generator
ComfyUI Node

EmAySee AdLib Prompt Generator

Five prompt skeletons, one seed — EmAySee's fill-in-the-blank prompt shaker

By EmAySee·Created about a year ago·Updated 4 months ago· 2
EmAySee AdLib Prompt Generator
    • prompt
    • layout_used
    seed0
    subjecta young woman named emac_megan
    attirea matte-white, heavy arctic parka over a reflective silver thermal under-layer
    actionleaning her entire body weight forward, pulling a thick climbing rope
    expressionstrained, exhausted grimace with narrowed eyes
    environmenta barren, jagged ice field during a blizzard
    lightinga single, intense blue-white flare burning on the ground
    camera_and_tagsprofessional quality, cinematic depth of field, sharp focus, 8k

    Batch variation is the whole game in ComfyUI: same subject, same scene, different framing, roll the dice. EmAySee AdLib Prompt Generator automates the "different framing" part. You fill in seven prompt components - subject, attire, action, expression, environment, lighting, camera and tags - and it stuffs them into one of five hardcoded prompt templates chosen at random, driven by a seed.

    The result is a prompt you didn't have to hand-write for every layout, plus a second output telling you which layout it picked. Run the batch with a different seed each time and you get "STANDARD NARRATIVE" framing on one image, "EXTREME CLOSE-UP" on the next, "HIGH FASHION EDITORIAL" on the one after. It's a poor man's dynamic prompt - no wildcard files, no {a|b|c} syntax - but it costs nothing to set up and it reliably changes composition, which is the part most people actually want varied.

    The author is the same EmAySee who posts their LLM workflow nodes on Reddit and readily admits the prompts need hand-crafting to be useful. That honesty applies here too: the defaults are lifted from one of their own workflows (a woman in an arctic parka fighting through a blizzard), and they're worth replacing with your subject before you trust the output.

    How it works

    Seeded randomness, plain and simple. The node seeds Python's random with your seed input, picks one of five template strings, and .format()s your seven components into it. Same seed = same layout every time, so it's reproducible - which is what you want in a batch. The five templates are named and distinct: standard narrative, extreme close-up, environmental establishing shot, moody contrast, and high fashion editorial.

    The inputs that matter

    • seed - drives both the layout pick and nothing else. Bump this per image for variation.
    • subject, attire, action, expression, environment, lighting, camera_and_tags - the seven fill-in slots. All multiline strings.

    Outputs are prompt (the full formatted text) and layout_used (the template name, handy for logging or sorting results).

    Install

    It's part of the EmAySee pack - one author's 60+ node collection, no requirements.txt:

    cd ComfyUI/custom_nodes
    git clone https://github.com/EmAySee/ComfyUI_EmAySee_CustomNodes
    

    Restart ComfyUI (or Manager → "ComfyUI_EmAySee_CustomNodes"). It appears under the plain EmAySee category.

    Gotchas

    Three things will bite. First, the templates hardcode "She"/"her" - every skeleton assumes a female subject. A male or neutral subject needs templates you can't edit, so you'll get "she is wearing..." regardless. Second, the prompt output includes a --- LAYOUT NAME --- prefix line, which some CLIP encoders treat as prompt text; strip it or tolerate it. Third, layout_used isn't controllable - there's no input to force a specific template, only the seed. If you want to choose "HIGH FASHION EDITORIAL," this node can't do it; you'd copy the template out of the source. And remember the pack's standing disclaimer - no guarantees, no support - so treat the output as a starting point, not gospel.

    CategoryEmAySee

    Inputs (8)

    NameTypeDefaultDescription
    seedINT00–18446744073709550000
    subjectSTRINGa young woman named emac_megan
    attireSTRINGa matte-white, heavy arctic parka over a reflective silver thermal under-layer
    actionSTRINGleaning her entire body weight forward, pulling a thick climbing rope
    expressionSTRINGstrained, exhausted grimace with narrowed eyes
    environmentSTRINGa barren, jagged ice field during a blizzard
    lightingSTRINGa single, intense blue-white flare burning on the ground
    camera_and_tagsSTRINGprofessional quality, cinematic depth of field, sharp focus, 8k

    Outputs (2)

    NameTypeDescription
    promptSTRING
    layout_usedSTRING