Nodes/ComfyUI-PromptEngine/PromptEngine Full (All Dimensions)
ComfyUI Node

PromptEngine Full (All Dimensions)

One node, twenty-one dropdowns, a whole prompt out

By aiimagestudio·Created 6 months ago·Updated 5 months ago· 4
PromptEngine Full (All Dimensions)
    • prompt_out
    ethnicity_style🎲 Random Style
    gender_style🎲 Random Style
    age_appearance_style🎲 Random Style
    subject_appearance_style🎲 Random Style
    hair_style_style🎲 Random Style
    hair_color_style🎲 Random Style
    outfit_style🎲 Random Style
    accessories_style🎲 Random Style
    pose_style🎲 Random Style
    body_direction_style🎲 Random Style
    expression_style🎲 Random Style
    gaze_style🎲 Random Style
    location_type_style🎲 Random Style
    background_props_style🎲 Random Style
    atmosphere_style🎲 Random Style
    shot_angle_style🎲 Random Style
    shot_distance_style🎲 Random Style
    composition_style🎲 Random Style
    lighting_style🎲 Random Style
    color_grade_style🎲 Random Style
    visual_style_style🎲 Random Style
    variationfalse
    seed0
    custom_text

    If you want a complete, structured prompt without turning your canvas into a string of ten tiny nodes, this is the one you open. PromptEngine Full ("PromptEngine Full (All Dimensions)" in the node list) is the single-node version of the ComfyUI-PromptEngine pack's idea: pick one phrase for each of 21 visual dimensions in one place, leave the ones you don't care about on the dice, and a finished comma-separated prompt comes out of prompt_out. No API, no key, no model download. It's pure dictionary lookups plus a bit of RNG.

    The 21 dimensions

    The node exposes a style dropdown for every dimension the pack knows: ethnicity, gender, age_appearance, subject_appearance, hair_style, hair_color, outfit, accessories, pose, body_direction, expression, gaze, location_type, background_props, atmosphere, shot_angle, shot_distance, composition, lighting, color_grade, visual_style.

    That order isn't arbitrary - it's the order the output is always assembled in, subject first, then pose, then scene, then camera, lighting, and style last. Keeping one fixed order is the reason prompts from this thing stay readable and diffable across runs, and it lines up with the general 2026 prompting advice that structured, block-by-block prompts beat a token bag, especially on models with an LLM text encoder.

    The inputs that actually matter

    Each <dimension>_style dropdown shows three kinds of values: "🎲 Random Style", "── (skip) ──", and the dictionary's cluster names for that dimension. Random picks a cluster; skip drops the dimension from the output entirely.

    • variation - the one toggle worth understanding. Off (default), you get each cluster's canonical_phrase. On, the node randomly picks from the cluster's samples instead. Off is stable and readable; on is where the "unlimited prompts" pitch lives.
    • seed - controls every random pick in the node, so the same seed and same selections reproduce. The control_after_generate widget rides along automatically, the same one that bites everyone on a KSampler.
    • custom_text - a free-text prefix (the source calls it "Optional prefix (e.g. LoRA trigger words)"). Useful for tag words that live outside the dictionary system. Note it's a prefix here, unlike the single-dimension node where it's a per-dimension override.

    Two merges worth knowing before you're surprised: gender is hardcoded to man/woman (no dictionary for it), and it gets fused into the ethnicity phrase - "Aboriginal Australian woman" style - rather than a separate clause. Same for hair_color + hair_style: "black long wavy hair" as one chunk instead of two.

    Installing it

    The pack installs like any custom node:

    cd ComfyUI/custom_nodes
    git clone https://github.com/jinxishe/ComfyUI-PromptEngine
    pip install -r requirements.txt
    

    Then restart ComfyUI. Or use ComfyUI Manager and search "ComfyUI-PromptEngine". Core deps are just openai and tqdm - you don't touch the heavier Step 1-3 stack (sentence-transformers, torch, hdbscan) unless you run the dictionary-generation toolchain.

    Where people get tripped up

    • The dropdown looks huge in the API schema - the backend validates against a union of ~5,482 values, so schema dumps show an absurd list. The frontend trims each dropdown to its own dimension's clusters, so in practice it's fine. Don't panic at the number.
    • New dictionary entries don't appear until you refresh the page. The backend re-reads dictionaries on the fly, but the frontend caches the dropdown list until reload. This matters once you've run the Step 3 toolchain.
    • It's not modular. Everything is inside one node, which is great for presets and quick look iteration, but there's no graph branching between dimensions. If you want reusable subchains or per-dimension wiring, that's what PromptEngineNode is for - same pack, one dimension per node, chained together.

    One honest caveat: this is a very new pack (first public release early 2026) with essentially no community track record yet, so treat the bundled dictionaries as a starting point rather than a canon. The whole point of the pack is that you can grow them with your own data.

    CategoryPromptEngine

    Inputs (24)

    NameTypeDefaultDescription
    ethnicity_styleCOMBO🎲 Random Style5482 options: candid 肖像柔胶片, intense 品红粉色光晕, muted 大地色系配黑, 1990s film aesthetic, 1990s film photography, 1990s_film_aesthetic, +5476
    gender_styleCOMBO🎲 Random Style5482 options: candid 肖像柔胶片, intense 品红粉色光晕, muted 大地色系配黑, 1990s film aesthetic, 1990s film photography, 1990s_film_aesthetic, +5476
    age_appearance_styleCOMBO🎲 Random Style5482 options: candid 肖像柔胶片, intense 品红粉色光晕, muted 大地色系配黑, 1990s film aesthetic, 1990s film photography, 1990s_film_aesthetic, +5476
    subject_appearance_styleCOMBO🎲 Random Style5482 options: candid 肖像柔胶片, intense 品红粉色光晕, muted 大地色系配黑, 1990s film aesthetic, 1990s film photography, 1990s_film_aesthetic, +5476
    hair_style_styleCOMBO🎲 Random Style5482 options: candid 肖像柔胶片, intense 品红粉色光晕, muted 大地色系配黑, 1990s film aesthetic, 1990s film photography, 1990s_film_aesthetic, +5476
    hair_color_styleCOMBO🎲 Random Style5482 options: candid 肖像柔胶片, intense 品红粉色光晕, muted 大地色系配黑, 1990s film aesthetic, 1990s film photography, 1990s_film_aesthetic, +5476
    outfit_styleCOMBO🎲 Random Style5482 options: candid 肖像柔胶片, intense 品红粉色光晕, muted 大地色系配黑, 1990s film aesthetic, 1990s film photography, 1990s_film_aesthetic, +5476
    accessories_styleCOMBO🎲 Random Style5482 options: candid 肖像柔胶片, intense 品红粉色光晕, muted 大地色系配黑, 1990s film aesthetic, 1990s film photography, 1990s_film_aesthetic, +5476
    pose_styleCOMBO🎲 Random Style5482 options: candid 肖像柔胶片, intense 品红粉色光晕, muted 大地色系配黑, 1990s film aesthetic, 1990s film photography, 1990s_film_aesthetic, +5476
    body_direction_styleCOMBO🎲 Random Style5482 options: candid 肖像柔胶片, intense 品红粉色光晕, muted 大地色系配黑, 1990s film aesthetic, 1990s film photography, 1990s_film_aesthetic, +5476
    expression_styleCOMBO🎲 Random Style5482 options: candid 肖像柔胶片, intense 品红粉色光晕, muted 大地色系配黑, 1990s film aesthetic, 1990s film photography, 1990s_film_aesthetic, +5476
    gaze_styleCOMBO🎲 Random Style5482 options: candid 肖像柔胶片, intense 品红粉色光晕, muted 大地色系配黑, 1990s film aesthetic, 1990s film photography, 1990s_film_aesthetic, +5476
    location_type_styleCOMBO🎲 Random Style5482 options: candid 肖像柔胶片, intense 品红粉色光晕, muted 大地色系配黑, 1990s film aesthetic, 1990s film photography, 1990s_film_aesthetic, +5476
    background_props_styleCOMBO🎲 Random Style5482 options: candid 肖像柔胶片, intense 品红粉色光晕, muted 大地色系配黑, 1990s film aesthetic, 1990s film photography, 1990s_film_aesthetic, +5476
    atmosphere_styleCOMBO🎲 Random Style5482 options: candid 肖像柔胶片, intense 品红粉色光晕, muted 大地色系配黑, 1990s film aesthetic, 1990s film photography, 1990s_film_aesthetic, +5476
    shot_angle_styleCOMBO🎲 Random Style5482 options: candid 肖像柔胶片, intense 品红粉色光晕, muted 大地色系配黑, 1990s film aesthetic, 1990s film photography, 1990s_film_aesthetic, +5476
    shot_distance_styleCOMBO🎲 Random Style5482 options: candid 肖像柔胶片, intense 品红粉色光晕, muted 大地色系配黑, 1990s film aesthetic, 1990s film photography, 1990s_film_aesthetic, +5476
    composition_styleCOMBO🎲 Random Style5482 options: candid 肖像柔胶片, intense 品红粉色光晕, muted 大地色系配黑, 1990s film aesthetic, 1990s film photography, 1990s_film_aesthetic, +5476
    lighting_styleCOMBO🎲 Random Style5482 options: candid 肖像柔胶片, intense 品红粉色光晕, muted 大地色系配黑, 1990s film aesthetic, 1990s film photography, 1990s_film_aesthetic, +5476
    color_grade_styleCOMBO🎲 Random Style5482 options: candid 肖像柔胶片, intense 品红粉色光晕, muted 大地色系配黑, 1990s film aesthetic, 1990s film photography, 1990s_film_aesthetic, +5476
    visual_style_styleCOMBO🎲 Random Style5482 options: candid 肖像柔胶片, intense 品红粉色光晕, muted 大地色系配黑, 1990s film aesthetic, 1990s film photography, 1990s_film_aesthetic, +5476
    variationBOOLEANfalse
    seedINT00–2147483647
    custom_textoptSTRING

    Outputs (1)

    NameTypeDescription
    prompt_outSTRING