ComfyUI Node

Prompt Generator

The prompt generator that thinks in 'worlds'

By zeeoale·Created about a year ago·Updated 2 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