FunPack Prompt Combiner
One base prompt, five shot prompts, no copy-paste
- out1
- out2
- out3
- out4
- out5
- random
FunPack Prompt Combiner is the glue node for anyone generating multi-shot video. It merges one shared base prompt with up to five per-shot additions, so your quality/style boilerplate lives in one place while each shot gets its own specific text. If you've ever hand-edited the same "masterpiece, best quality, detailed background" into six different prompt boxes, this is the node that retires that habit.
How it works
You put the text every shot should carry in main_prompt (default "masterpiece, best quality, detailed background"). Then each optional prompt1..prompt5 input holds that shot's specific content. The node joins main + addition using delimiter (default ,), and each output slot stands alone:
- out1 = main_prompt + prompt1
- out2 = main_prompt + prompt2
- …and so on through out5
The behavior is friendly in both edge cases: if an addition is empty, that output falls back to just the main prompt; if main is empty, the addition stands alone. No dangling commas, no manual cleanup.
The one output that isn't a simple merge is random - a randomly selected one of the combined prompts. That's a nice touch for batch testing: wire random into a single sampler and rerun with different seeds to sample from your shot list without building a whole branch tree.
Where it fits
This node is the text-side counterpart to the video-side stitch nodes. You build your five scene descriptions with something like FunPack Story Writer (or by hand), feed them into prompt1..5, and out1..5 flow into the per-scene conditioning or the scene-chain pipeline. The shared base is where your character's anchor description lives - keeping it in main_prompt means every shot inherits it, which is the single cheapest character-consistency trick in the book.
It's pure string manipulation: no LLM, no model download, no GPU. You could replicate it with a couple of text-concat nodes, but this does it in one place and keeps the whole shot list visible on a single node face.
Install
It ships in ComfyUI-FunPack:
cd ComfyUI/custom_nodes
git clone https://github.com/olivv-cs/ComfyUI-FunPack
pip install -r requirements.txt
or ComfyUI Manager → search "ComfyUI-FunPack". No extra dependencies beyond the pack baseline, no optional installs.
The honest take
The only real design quirk to remember: an empty addition collapses to just the base prompt. If you intend a shot to have no shared boilerplate, you can't express that through this node - empty means "inherit base." For 95% of multi-shot video work that's the behavior you want anyway. Keep the character anchor in main_prompt, keep the per-scene action in the additions, and let the delimiter do the rest.
Inputs (7)
| Name | Type | Default | Description |
|---|---|---|---|
| main_prompt | STRING | masterpiece, best quality, detailed background | — |
| delimiter | STRING | , | — |
| prompt1opt | STRING | — | |
| prompt2opt | STRING | — | |
| prompt3opt | STRING | — | |
| prompt4opt | STRING | — | |
| prompt5opt | STRING | — |
Outputs (6)
| Name | Type | Description |
|---|---|---|
| out1 | STRING | — |
| out2 | STRING | — |
| out3 | STRING | — |
| out4 | STRING | — |
| out5 | STRING | — |
| random | STRING | — |