ComfyUI Node

Prompt Generator

The prompt generator that thinks in 'worlds'

By zeeoale·Created about a year ago·Updated 3 months ago· 9
Prompt Generator
    • prompt
    • pose_preview
    ◄json_name▾►
    ◄camera_angle▾►
    ◄camera_light▾►
    ◄daytime▾►
    ◄use_enhancer▾►
    ◄enhancer_mode▾►
    ◄system_prompt_lockauto►
    ◄enhancer_words_modeauto►
    ◄enhancer_words_min140►
    ◄enhancer_words_max220►
    ◄add_symbols▾►
    ◄seed0►
    ◄gender▾►
    ◄identity_profile▾►
    ◄external_identity►
    ◄lock_identityyes►
    ◄custom_intro►
    ◄custom_intro_idRandom►
    ◄horror_intensity▾►
    ◄sensuality_level▾►
    ◄pose_moderandom►
    ◄pose_index0►
    ◄show_pose_previewtrue►
    ◄lora_triggers►
    ◄subject_count▾►
    ◄lock_last_promptno►
    ◄multi_object_count1►
    ◄ollama_hosthttp://10.10.10.2:11434►
    ◄ollama_modelqwen3:8b►
    ◄openrouter_modelopenai/gpt-4o-mini►

    This is the flagship of the traumakom Prompt Creator pack, and it's not a wildcard node in the usual sense. Think of it as a themed prompt slot machine: you pick a JSON "world" from the ~130 bundled with the pack, it samples one value per category (outfit, lighting, background, pose, expression, camera angle, atmosphere, objects…), stitches them into one long cinematic sentence, and - if you switch on the enhancer - an LLM rewrites the whole thing into an even longer, more coherent one.

    The pitch is honestly specific: you're tired of typing the same prompt skeleton by hand and want curated, coherent variation that still keeps a character recognizable. The worlds are the author's own aesthetic (Noir Neon Embers, Tokyo Dance Crew Studio, Bio Baroque, a whole goth/horror run). This is one person's personal cinematic prompt toolkit, made public - it shows, in both good and fiddly ways.

    How it works

    Each world JSON lives in JSON_DATA/ inside the pack folder and declares category lists plus optional COLOR_REALM palettes (RGB/CMYK splits), HORROR_INTENSITY and SENSUALITY_LEVEL blocks, and CUSTOM_INTRO pools. The node:

    • picks one value per category (or several for objects/accessories, via multi_object_count),
    • applies director-level controls - camera_angle, camera_light, daytime - which override the world's own values,
    • inserts your gender + identity_profile, and
    • optionally hands the assembled seed to an LLM with a system prompt chosen by enhancer_mode (from system_prompt.json, 80 modes) and asks for "one long cinematic sentence."

    seed drives the sampling, so same seed + same settings = same base prompt (the enhancer is still nondeterministic). Every run is logged to logs/prompt_history.jsonl, which is exactly what the pack's Prompt Replay node reads later. lock_last_prompt freezes a good run to disk so you can keep regenerating everything else around it.

    The inputs that matter

    • json_name - the world. This is 90% of the flavor; swap it to change genre wholesale.
    • use_enhancer / enhancer_mode - none keeps the raw assembly (free, instant, deterministic-ish). The other options are ollama, llamacpp, openai, cohere, gemini, openrouter.
    • gender + identity_profile + lock_identity - how your character is described. Set lock_identity to yes so every generation keeps the same face/hair description.
    • lora_triggers - free text appended verbatim (e.g. your LoRA's trigger words).
    • horror_intensity / sensuality_level - map into the world's corresponding blocks when the world defines them.

    One default will bite you: ollama_host ships as http://10.10.10.2:11434 - that's the author's LAN address. If you're running Ollama locally, set it to http://127.0.0.1:11434.

    Outputs and wiring

    prompt is a plain STRING - you still need a CLIPTextEncode node to turn it into conditioning. That trips up people who expect the node to do the encoding. pose_preview is a STRING text preview of the chosen pose (pose_mode random / world_pick / lock, and show_pose_preview toggles the widget).

    Install

    cd ComfyUI/custom_nodes
    git clone https://github.com/zeeoale/PromptCreatorNode
    

    then restart ComfyUI. Or Manager → Install from URL with that repo. No model files download; the only pip deps are openai, google-generativeai, cohere (via requirements.txt), and it uses requests, which ComfyUI already ships. API keys for the cloud enhancers go in api_keys.txt inside the pack folder, one openai=sk-... per line. Everything works with no key at all.

    The honest take

    This is a niche pack with no real community footprint - zero Google search impressions, one r/comfyui self-post with a handful of comments. Don't expect a busy issue tracker; expect the author's personal workflow. And remember the prompt-engineering lesson from our KB: long prose suits SDXL-lineage realistic checkpoints, but it's actively counterproductive on tag-driven models like Illustrious or Pony V6. If your checkpoint wants tags, skip the enhancer and keep the raw assembly.

    CategoryPrompt Creator

    Inputs (30)

    NameTypeDefaultDescription
    json_nameCOMBO130 options: LoRa_Identity_Training.json, PFN_Astonished_Origin.json, PFN_Atomic_Nocturne.json, PFN_Bio_Baroque_Corrupted.json, PFN_Bio_Baroque_Luminescent.json, PFN_Bio_Baroque_Luminescent_V2.json, +124
    camera_angleCOMBO25 options: none, front, three_quarter, profile_left, profile_right, low_angle, +19
    camera_lightCOMBO9 options: none, soft_key, hard_key, rim_light, top_light, practical_mixed, +3
    daytimeCOMBO8 options: none, dawn, morning, midday, golden_hour, blue_hour, +2
    use_enhancerCOMBO7 options: none, ollama, llamacpp, openai, cohere, gemini, +1
    enhancer_modeCOMBO80 options: LoRa_Training, standard, dark_ritual, dark_ritual_closeup, Mecha_Sanctum_V1_(Dark), Mecha_Sanctum_V2_(AngelCore), +74
    system_prompt_lockCOMBOauto2 options: auto, external
    enhancer_words_modeCOMBOauto3 options: auto, min, max
    enhancer_words_minINT14040–400—
    enhancer_words_maxINT22040–600—
    add_symbolsCOMBO2 options: no, yes
    seedINT0—
    genderCOMBO8 options: neutral, female, 2 female, 3 female, female vampire, anime woman, +2
    identity_profileCOMBO14 options: none, external, Fallen_Helly, Helly_Identity, Classic_Muse, NeoTokyo_Muse, +8
    external_identitySTRING—
    lock_identityCOMBOyes2 options: no, yes
    custom_introSTRING—
    custom_intro_idCOMBORandom8 options: Random, 0, 1, 2, 3, 4, +2
    horror_intensityCOMBO12 options: auto, 0, 1, 2, 3, 4, +6
    sensuality_levelCOMBO5 options: auto, 0, 1, 2, 3
    pose_modeCOMBOrandom3 options: random, world_pick, lock
    pose_indexINT00–200—
    show_pose_previewBOOLEANtrue—
    lora_triggersSTRING—
    subject_countCOMBO3 options: 1, 2, 3
    lock_last_promptCOMBOno2 options: no, yes
    multi_object_countINT11–5—
    ollama_hostSTRINGhttp://10.10.10.2:11434—
    ollama_modelSTRINGqwen3:8b—
    openrouter_modelSTRINGopenai/gpt-4o-mini—

    Outputs (2)

    NameTypeDescription
    promptSTRING—
    pose_previewSTRING—