Prompt Enhancer
Local prompt rewriting with real H3 and Krea 2 skills
- model
- enhanced_prompt
You type "a rainy neon alley, lone figure walking away" and this node hands back a structured, model-appropriate prompt ready for the text encoder. That's the whole job of Prompt Enhancer: a small local LLM rewrites your rough idea into something a generation model will actually follow, and it does it offline, uncensored, and free per call.
The reason this fits rather than fights 2026 architecture is in the KB's prompt-engineering work: the current generation of checkpoints (Flux, Krea 2, Wan, LTX) don't have a 77-token CLIP boundary - their encoder is a language model reading an instruction. So having a second language model write that instruction is one LLM translating for another, and it's why "prompt enhancer" went from a curiosity to routine. This node is exactly that pattern, minus the API bill.
Wire it in like so: Local AI Model → Prompt Enhancer → your CLIP Text Encode (or the equivalent for your model). The model input takes the GGUF_LLM_CONFIG from Local AI Model, and you get one enhanced_prompt string out.
The thing that makes this node worth mentioning over a generic "have the LLM rewrite it" is the skill dropdown:
H3- a bundled, researched skill that knows MiniMax H3's actual prompt format:integrated_multimodal_description,overall_soundscape,non_diegetic_music,[Shot 1]/[Shot N] At MM:SS.mmmshot structure,(S1)dialogue IDs. That's not a generic "write good" instruction - it's the field layout H3 was trained to parse.Krea 2- a skill tuned for Krea 2's preference for one rich natural-language paragraph over keyword soup, with explicit medium, lighting, and material language instead of "masterpiece" filler.Custom- plussystem_prompt_overrideif you want your own skill text.
Both skills live in the pack's skills/ directory and load locally; there's no hidden API call.
Mechanically, the node fires a chat completion at the managed llama-server with reasoning turned off (reasoning_effort = none), a fixed 2048-token ceiling, temperature 0.2, and seed 0 for reproducible rewrites. Returned <think>...</think> blocks are stripped before you ever see them, so the model's internal monologue can't leak into your conditioning - the classic failure mode of chat-LLM prompt nodes.
Where people get burned: the output is text, not magic. An enhancer adds detail, and left unchecked it can invent detail you never asked for - that's a known failure mode of this entire category, not this node specifically. Keep your prompt specific if you want the rewrite to stay specific. And remember the whole stack only runs if you have the model in ComfyUI/models/LLM and a llama-server build on PATH, per the pack install steps. Install via ComfyUI Manager (search WepeNerd) or git clone https://github.com/WepeNerd/ComfyUI-WepeNerd.git into custom_nodes and pip install -r requirements.txt.
Inputs (4)
| Name | Type | Default | Description |
|---|---|---|---|
| model | GGUF_LLM_CONFIG | — | |
| prompt | STRING | — | |
| skill | COMBO | 3 options: H3, Krea 2, Custom | |
| system_prompt_overrideopt | STRING | — |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| enhanced_prompt | STRING | — |