Multi Prompts
Four prompts, one JSON string
- multi_prompt
Multi Prompts (class RecipeBuilderMultiPrompts) is a helper for Recipe Builder with exactly one job: take four prompt strings and pack them into a single JSON string. That's it. If you've built a recipe with model slots A/B/C/D and want a different prompt per slot - which plain text can't do, since Builder's text inputs apply one prompt to all slots - this is the node that makes it happen.
How it works
Four optional string inputs - model_a, model_b, model_c, model_d - get bundled into a JSON payload with those keys and emitted as a single multi_prompt string output. Connect that output to Recipe Builder's pos_prompts (or neg_prompts) input, and the builder uses the per-slot values instead of the shared plain text. Unconnected inputs become empty strings in the bundle, so a two-slot recipe with just model_a and model_b connected works fine - the other slots just get an empty prompt.
It's a deliberately minimal node: no fancy UI, no defaults, no processing. You wire prompts in (often from Prompt Manager or a text encoder), it serializes, done. Under the hood it's a json.dumps of a four-key dict.
Why it exists
Recipes can span multiple models - Wan video, hybrid image/video, or multi-pass setups - and each model slot may want its own wording. A text-to-video slot might get a camera-motion prompt while an image slot gets a style prompt, and a single shared prompt serves neither well. This node is how the recipe format expresses that: model-specific prompts, still stored inside one RECIPE_DATA payload so the whole thing stays saveable and renderable.
Wiring and install
Connect your prompts, run multi_prompt into the Recipe Builder's pos_prompts input. For negatives, do the same with a second instance into neg_prompts. That's the whole wiring pattern.
It's part of the pack:
cd ComfyUI/custom_nodes
git clone https://github.com/FranckyB/ComfyUI-Prompt-Manager.git
cd ComfyUI-Prompt-Manager
pip install -r requirements.txt
Or install via ComfyUI Manager (search "Prompt Manager"), then restart.
The honest take
This is a true utility node, and its scope is narrow: it only matters if you use Recipe Builder and need per-slot prompts. If you're doing single-model recipes, plain text into the builder is simpler and there's no reason to reach for it. If you're building multi-model recipes, though, it's the difference between editing a JSON blob by hand and typing into four boxes. One thing to watch: the output is a JSON string, so don't feed it into a node expecting a plain prompt - it belongs in the builder's prompt input specifically.
Inputs (4)
| Name | Type | Default | Description |
|---|---|---|---|
| model_aopt | STRING | — | |
| model_bopt | STRING | — | |
| model_copt | STRING | — | |
| model_dopt | STRING | — |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| multi_prompt | STRING | — |