Nodes/ComfyUI-Photoshoot/Photoshoot Prompt bauen
ComfyUI Node

Photoshoot Prompt bauen

The glue node that turns Photoshoot fragments into one prompt

By ralksta·Created 4 days ago·Updated about 22 hours ago· 48
Photoshoot Prompt bauen
    • prompt
    text
    person_1
    person_2
    person_3
    kamera
    pose
    ausdruck
    szene
    stil
    extra

    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 (via nodes/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 kamera output 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.

    CategoryPhotoshoot

    Inputs (10)

    NameTypeDefaultDescription
    textSTRING
    person_1optSTRING
    person_2optSTRING
    person_3optSTRING
    kameraoptSTRING
    poseoptSTRING
    ausdruckoptSTRING
    szeneoptSTRING
    stiloptSTRING
    extraoptSTRING

    Outputs (1)

    NameTypeDescription
    promptSTRING