KoboldCpp Prompt Slot
The do-nothing node that makes a workflow 'Prompt Studio-ready'
- prompt
- secondary_instructions
- width
- height
KoboldCpp Prompt Slot looks like a glorified reroute node, and that's exactly the point. It takes a prompt in, passes it through unchanged, and hands you a couple of extra outputs. Its real job is being the hook that Prompt Studio's chat interface grabs when it queues your workflow - the place where the final, LLM-polished prompt gets injected.
Think of it as a reserved seat. A workflow only becomes a Prompt Studio template when it contains a KCPP_PromptSlot (or a KCPP_PromptAmplify) wired into its prompt path, is saved with a filename starting [PS], and has exactly one image output. When you then describe an image in the Studio chat, Prompt Studio writes the finished prompt into this slot, queues the workflow, and shows you the result. Without the slot, the workflow never appears in Studio's workflow list at all.
How it works
The node itself is a dumb pass-through. get_prompt() returns prompt unchanged, returns secondary_instructions unchanged, and computes width/height from hidden resolution inputs (aspect_ratio, megapixels, multiple) using the same presets and rounding as ComfyUI's built-in Resolution Selector. On a normal ComfyUI queue - no Prompt Studio involved - the prompt you type goes straight through. Prompt Studio supplies the resolution from its own controls whenever it queues the workflow.
Inputs you'll actually set:
prompt- the positive prompt, multiline. On a normal queue this is what's used; in Studio it's replaced by the final prompt.slot_name- just a label ("Positive Prompt" by default) so Prompt Studio can tell slots apart when a workflow has more than one.secondary_instructions- optional text like LoRA trigger words that passes through to the second output unchanged, kept out of the LLM rewrite. This is the same "Unmodified part" the Studio UI calls out.
Outputs: prompt (wire to your positive text encoder or conditioning), secondary_instructions, and width/height (INT) for sizing your empty latent if your workflow doesn't already hard-code resolution.
A typical graph
KoboldCpp Prompt Slot ── prompt ──▶ text encoder ──▶ conditioning ──▶ sampler
└── width/height ──▶ Empty Latent Image
Save that with a [PS] prefix (e.g. [PS] Flux Create) and Prompt Studio will list it under ComfyUI workflows.
Installing it
Same pack, same install as the rest of Prompt Studio:
cd ComfyUI/custom_nodes
git clone https://github.com/tiko13/ComfyUI_PromptStudio
Restart ComfyUI, or search "ComfyUI_PromptStudio" in ComfyUI Manager. No Python dependencies - the pack is pure Python that talks to a local LLM server (KoboldCpp at http://localhost:5001 by default, or Ollama/llama.cpp). The slot node itself doesn't call the LLM at all; it's only Prompt Studio that does the prompting work.
Where people get burned
- Workflow doesn't show up in Studio. Either the filename doesn't start with
[PS], the workflow has more than one image-output node, or there's no Prompt Slot/Amplify node in it. Check all three. - Two prompt nodes in one workflow. Prompt Studio uses the first executable one in graph order, so don't leave a stray second slot wired in and expect it to do anything.
- Expecting amplification. This node never rewrites anything. If you want the rough text upgraded to a model-ready prompt on the canvas (outside Studio), you want
KCPP_PromptAmplifyinstead. In Studio, the two are interchangeable - Amplify gets converted to a Slot in the queued snapshot so you never get double amplification.
Inputs (3)
| Name | Type | Default | Description |
|---|---|---|---|
| prompt | STRING | — | |
| slot_name | STRING | Positive Prompt | Name shown in Prompt Studio when the workflow has multiple prompt slots. |
| secondary_instructionsopt | STRING | Optional phrases returned unchanged through the secondary_instructions output, such as LoRA trigger words. |
Outputs (4)
| Name | Type | Description |
|---|---|---|
| prompt | STRING | — |
| secondary_instructions | STRING | — |
| width | INT | — |
| height | INT | — |