☁️Mini SD Prompt Generator
A positive/negative prompt pair, written for you
- positive_prompt
- negative_prompt
SD1.5, SDXL, and their tag-trained derivatives (Illustrious, Pony) still respond to a real positive/negative prompt pair - CFG does something, negative prompting does something, and comma-separated tags are the vocabulary these checkpoints actually learned on. Mini SD Prompt Generator hands the job of writing both halves to an LLM: give it a rough idea, get back a positive prompt and a negative prompt, both shaped for a CLIP-era, tag-friendly checkpoint.
It's part of comfyui_LLM_party's "mini-party" family of small, fixed-purpose nodes - one input, one LLM call, a usable result, no prompt-engineering knowledge required from you. Its direct sibling, Mini FLUX Prompt Generator, does the same job for FLUX-style checkpoints - and the difference between the two is the whole reason this node has two outputs while that one only has one.
Why two outputs, and why that's not arbitrary
On a checkpoint using an LLM as its text encoder - Z-Image, FLUX, most 2026-era models - the classic negative prompt box does essentially nothing by default; there's no CFG-style push-away-from-this mechanism it plugs into. On CLIP-encoded models it's the opposite: negative prompting is alive and genuinely useful. That's the entire reason this node generates a negative_prompt at all, while Mini FLUX Prompt Generator doesn't bother - it's not an inconsistency between the two nodes, it's each one correctly matching what actually works on its target encoder family.
The inputs and outputs that matter
prompt(multiline, default"a girl") - your rough idea, in plain language.model_name(defaultgpt-4o-mini) - cheap and fast, good for iterating quickly.base_url/api_key(optional) - leave blank to inherit from the pack'sconfig.ini, or set per-node to override.seed(default 42) - change it to get a different phrasing of the same idea rather than the same result every run.is_enable- the pack's standard bypass toggle.
Two outputs: positive_prompt and negative_prompt (both STRING) - wire them straight into your CLIP Text Encode (positive) and CLIP Text Encode (negative) nodes.
How to install it
Search comfyui_LLM_party in ComfyUI Manager and install, then restart. Manual route:
cd ComfyUI/custom_nodes
git clone https://github.com/heshengtao/comfyui_LLM_party.git
Run pip install -r requirements.txt from inside the pack's folder using ComfyUI's own Python, then restart. This node just makes an LLM API call - no local model, no GPU cost of its own beyond whatever else is already running in your session.
Common issues & troubleshooting
Both outputs come back empty. Check credentials first - an empty or invalid api_key/base_url, or a config.ini that isn't filled in, fails the API call before any prompt gets written. This is the most common failure across every node in this pack that calls out to an LLM API, not something specific to this one.
The prompts don't read like SD-style tags. Weaker models sometimes ignore "write comma-separated tags" instructions and default to prose regardless of what they're told. If gpt-4o-mini keeps producing sentence-style output instead of tags, try a stronger model in model_name.
You're running FLUX, Z-Image, or another LLM-encoded checkpoint. This node's output is tuned for CLIP-era, tag-based models - feeding a comma-separated tag list into an LLM-encoded model's text encoder underperforms compared to natural language, and the negative prompt it generates won't do anything at all. Use Mini FLUX Prompt Generator instead; it's built for exactly that case.
Inputs (6)
| Name | Type | Default | Description |
|---|---|---|---|
| prompt | STRING | a girl | — |
| model_name | STRING | gpt-4o-mini | — |
| base_urlopt | STRING | — | |
| api_keyopt | STRING | — | |
| is_enableopt | BOOLEAN | true | — |
| seedopt | INT | 42 | — |
Outputs (2)
| Name | Type | Description |
|---|---|---|
| positive_prompt | STRING | — |
| negative_prompt | STRING | — |