Photoshoot Prompt bauen
The glue node that turns Photoshoot fragments into one prompt
- prompt
Every node in the Photoshoot pack emits a fragment - a person, a pose, a camera framing, an expression - and somebody has to stitch them into one prompt. Krea2PromptJoin ("Photoshoot Prompt bauen") is that somebody. It's the simplest node in the pack and arguably the most load-bearing: it replaces {placeholders} in your text with the fragments from upstream, and cleans up the debris so a missing piece doesn't leave ", , sitting on a desk" in your prompt.
How it works
You write a template in the text input - it's a required input, wired from wherever you keep your prompt text, or just typed in. Then you optionally wire any of the nine fragments: person_1, person_2, person_3, kamera, pose, ausdruck, szene, stil, extra. The node substitutes the placeholders:
{person1} {person2} {person3} {camera} {pose} {expression} {scene} {style} {extra}
Plus a few conveniences: {person} is short for {person1}, and the English spellings {camera}, {expression}, {scene}, {style} mean exactly the same as their German equivalents {kamera}, {ausdruck}, {szene}, {stil} - the pack was German-first, so both work and you can mix them.
The single output is prompt - one clean STRING you feed straight into your text encoder (for Krea 2, that's a CLIPLoader with type krea2).
The order that matters
The node's own guidance, which is worth trusting:
{camera}, {scene}, {person}, {pose}, {extra}, {expression}, {style}
Camera and scene before the person, expression late. The reason is a real, measured one: put the person first and the person block wins the frame area even on a wide shot, because image models allocate frame space roughly along prompt-token weight. If your text contains no placeholder at all, the node appends whatever you've wired in that same order (and leaves {extra} between pose and expression, where a pack belongs).
Installing
Standard for the pack - no dependencies beyond ComfyUI:
cd ComfyUI/custom_nodes
git clone https://github.com/ralksta/ComfyUI-Photoshoot
or search "Photoshoot" in ComfyUI Manager, restart, and it's under Photoshoot.
Notes and gotchas
- Placeholders left empty leave no orphaned commas. This is the feature people notice first. Leave
{person2}unwired and the prompt reads as if the placeholder was never there - no", ,"in the middle of your sentence. The cleanup also collapses doubled spaces and trims punctuation. - No placeholder, no problem. If your template has none of the placeholders, the node still does something sensible: it appends the wired fragments in the recommended order around your text.
{extra}is a slot, not a thing. It's there for optional add-on packs that plug into this kit (vianodes/dock.py). With nothing wired to it, it does nothing. If you want a trigger word at the front of the prompt, you can use it for that too - the README suggests exactly that for a LoRA trigger word.- It only joins what it's given. This node never validates that camera and focus agree - that coupling happens upstream in Krea2Photoshooting, which is why the recommended pattern is to wire the Series node's
kameraoutput here rather than inventing your own camera text.
If you're hand-typing a giant prompt every run, this node is the difference between maintaining a template and maintaining a wall of text.
Inputs (10)
| Name | Type | Default | Description |
|---|---|---|---|
| text | STRING | — | |
| person_1opt | STRING | — | |
| person_2opt | STRING | — | |
| person_3opt | STRING | — | |
| kameraopt | STRING | — | |
| poseopt | STRING | — | |
| ausdruckopt | STRING | — | |
| szeneopt | STRING | — | |
| stilopt | STRING | — | |
| extraopt | STRING | — |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| prompt | STRING | — |