Prompt Quill Generate Conditioning
The Prompt Quill variant that skips straight to conditioning
- clip
- Prompt
- NegativePrompt
- Prompt Conditioning
- Negative Conditioning
If you've already decided you like what Prompt Quill Generate does - send a rough idea to a local RAG-driven prompt engineer, get back a detailed prompt plus a negative - this is the version that saves you a step. Prompt Quill Generate Conditioning runs the exact same call to the Prompt Quill server, but instead of handing you two strings to route through CLIP Text Encode nodes, it encodes them itself and outputs ready-to-sampler CONDITIONING. One node in, four wires out, done.
Like its sibling, this is a thin HTTP client, not the tool. You still need the Prompt Quill server running and reachable, and the server is the heavy part - LLM plus a vector store of 3.2+ million prompts, which is why the ComfyUI side of this pack is a single file with no dependencies beyond requests. The conditioning trick is just the node calling clip.tokenize and clip.encode_from_tokens on the server's reply, using whatever CLIP you plug in. The author added these conditioning variants a little after launch, and it's the right call - it makes workflow-building much tidier.
How it works
The node POSTs your prompt to http://127.0.0.1:64738/get_prompt, the server retrieves similar prompts from its store and has an LLM rewrite yours, and the node then encodes the returned prompt and neg_prompt with your clip input into two CONDITIONING tensors. It also passes the raw strings through, so you can inspect what it actually generated.
Inputs and outputs
Inputs:
- prompt - your seed idea, in plain language.
- add_negative + negative - your own negative text, merged into the server's negative prompt.
- url - where the Prompt Quill server lives; default
http://127.0.0.1:64738. - clip - feed this from your checkpoint loader. It's the model's own text encoder doing the encoding.
Outputs:
Prompt/NegativePrompt- the raw strings, handy for debugging.Prompt Conditioning- wire into the sampler's positive.Negative Conditioning- wire into the sampler's negative.
One thing to internalize: because the encoding happens with your checkpoint's CLIP, the generated prompt still has to suit that model's encoder. Prompt Quill's data is mostly SD1.5/SDXL-era, so it pairs beautifully with Illustrious or Pony-type checkpoints, and less predictably with LLM-encoded 2026 models that read prompts as instructions. On those, keep the raw Prompt string handy - you may want to edit it before it hits the sampler.
Install
ComfyUI Manager → "Install via Git URL" → https://github.com/osi1880vr/prompt_quill_comfyui, restart. Or manually:
cd ComfyUI/custom_nodes
git clone https://github.com/osi1880vr/prompt_quill_comfyui
No pip installs, no model downloads from the pack. Then get the Prompt Quill server from osi1880vr/prompt_quill running on a reachable host - without it every call fails.
Troubleshooting
- "Something went wrong, did you install Prompt Quill?" - that's the node's literal error string for a failed HTTP call. Server down, wrong URL, or unreachable host.
- Your negative text appears even with
add_negativeoff. Real quirk, worth knowing: this node compares the boolean to the string'false', which is never equal, so yournegativetext gets appended regardless of the toggle. Harmless if you leavenegativeempty, mildly annoying if you don't. The plain Generate node doesn't have this bug. - Conditioning is a snapshot. It's encoded once from whatever the server returned on that run. If the server hiccups mid-LLM and returns something weird, you'll see it in the image, not the graph.
Inputs (5)
| Name | Type | Default | Description |
|---|---|---|---|
| prompt | STRING | A cute cat? | — |
| add_negative | BOOLEAN | false | — |
| negative | STRING | — | |
| url | STRING | http://127.0.0.1:64738 | — |
| clip | CLIP | — |
Outputs (4)
| Name | Type | Description |
|---|---|---|
| Prompt | STRING | — |
| NegativePrompt | STRING | — |
| Prompt Conditioning | CONDITIONING | — |
| Negative Conditioning | CONDITIONING | — |