DP Prompt Manager Small
Build prompts from a rotating subject list and a scene template
- Main_Prompt
- filename
- subject
- scene
This is a prompt-assembly workstation packed into one node. The core idea: keep a list of subjects, keep a scene description with a placeholder in it, and let the node drop the current subject into the scene and hand you a finished prompt. Then cycle the subject and generate a whole series - same scene, different subject - without touching the prompt each time.
It's the compact version of a bigger prompt manager, from DesertPixelAi's Desert-Pixel-Nodes pack. That's a large collection of quality-of-life tools; this is one of its more ambitious members, and it takes a few minutes to wrap your head around. Once it clicks, it's a genuine time-saver for batch and series work. If you just want to A/B two prompts, this is overkill - grab a string switch instead.
How it works
You put a list of subjects in the subject box (one per line) and a scene in scene_description. In the scene, wherever you write the placeholder token - #sub by default - the node substitutes the current subject. subject_index_control decides how the list advances between runs: increment through it, decrement, randomize, or hold on a fixed line. So "a photo of #sub at sunset" with a subject list of cat / dog / fox gives you three prompts across three runs, automatically.
prompt_mode switches the node between sources: use the manager-built prompt, a random prompt fed in, or another prompt fed in. The weight control wraps the result in SDXL attention weighting. One thing to know about weighting in 2026: it only does anything on CLIP-based models - SD 1.5, SDXL, and the Illustrious/Pony/NoobAI family. On LLM-encoded models (Flux 2, Z-Image, Qwen-based), the encoder discards weight syntax, so leave weight at 1 there and it's a no-op.
The inputs and outputs that matter
A beginner really only needs a few of these:
subject- your list of subjects, one per line.scene_description- the scene template, with#subwhere the subject goes.subject_index_control- increment / decrement / randomize / fixed, i.e. how the subject list advances.prompt_mode- which prompt source to output: the manager's,Random_Prompt, orOther_Prompt.
Also present: index (the current position in the subject list), find_replace_subject (the placeholder token, #sub by default - change it if #sub collides with your text), and weight. The optional random_prompt and other_prompt inputs feed the alternate prompt_mode sources.
Outputs are Main_Prompt (the assembled prompt - this is the one you wire to your encoder), filename (a string handy for naming saved outputs after the current subject), subject (the current subject alone), and scene (the scene alone). Splitting them out lets you, say, encode the full prompt while also stamping the filename with just the subject.
How to install it
- ComfyUI Manager: search "Desert Pixel", install, restart. No models needed.
- Manual:
cd ComfyUI/custom_nodes && git clone https://github.com/DesertPixelAi/ComfyUI-Desert-Pixel-Nodes,pip install -r requirements.txtif present, restart.
It's under the DP category.
Common issues
The number-one gotcha is the placeholder. If #sub doesn't appear anywhere in your scene_description, the subject has nowhere to land and your scene comes out subject-less. Conversely, if your scene naturally contains the characters #sub for some other reason, change find_replace_subject to a token that won't collide.
The second is the index. With subject_index_control set to increment, the position advances each run - great for a series, confusing if you expected the same prompt twice. Set it to fixed while you're dialing in a single look, then switch to increment (or randomize) when you want to sweep the list. And if the output prompt looks like it ignored your subject entirely, check prompt_mode - if it's set to Random_Prompt or Other_Prompt, it's emitting those inputs, not the manager-built prompt.
Inputs (9)
| Name | Type | Default | Description |
|---|---|---|---|
| prompt_mode | COMBO | 3 options: Prompt_Manager_Prompt, Random_Prompt, Other_Prompt | |
| subject | STRING | — | |
| subject_index_control | COMBO | 4 options: increment, decrement, randomize, fixed | |
| index | INT | 00–18446744073709550000 | — |
| find_replace_subject | STRING | #sub | — |
| scene_description | STRING | — | |
| weight | FLOAT | 1.00–10 | — |
| random_promptopt | STRING | — | |
| other_promptopt | STRING | — |
Outputs (4)
| Name | Type | Description |
|---|---|---|
| Main_Prompt | STRING | — |
| filename | STRING | — |
| subject | STRING | — |
| scene | STRING | — |