Nodes/ComfyUI-Photoshoot/Photoshoot Person
ComfyUI Node

Photoshoot Person

The Photoshoot Person node

By ralksta·Created 4 days ago·Updated about 21 hours ago· 48
Photoshoot Person
    • person
    • person_data

    If you've ever tried to keep the same character across a dozen generations, you know the drill: describe her once, get a different face, hair and body shape every time, and give up on prompts entirely. This node is the opposite of that fight. Krea2PersonBuilder ("Photoshoot Person") is the "who" of the Photoshoot pack - you describe a person across 44 fields once, and the pack keeps that description stable from then on while everything else in the image moves.

    What it actually is

    It's a giant form wearing a ComfyUI node costume. Six tabs - basics, body, head, face, make-up, clothing - with 44 fields total, and no inputs or widgets on the graph side at all. You click labels in your own language (German if your ComfyUI is German, English otherwise), and the node composes a proper English sentence out of them. Related fields share a row on purpose: hair and its colour, eye shape and eye colour, lips and finish, because they get merged into one phrase and you need to see both while setting either. There's a live preview at the bottom showing the sentence as it grows, and a per-tab counter so you know what's set without clicking through everything.

    The output is text, nothing else. That's the whole design of the pack: these nodes emit prompt fragments, never touch a model, and work with anything that eats a prompt. Wire this node into the Photoshoot Series node and it becomes the fixed element around which the series varies.

    The two outputs, and why there are two

    • person - the full composed description, ready for your prompt.
    • person_data - the same 44 fields as raw JSON.

    You'd think one is enough. It isn't, and this is the part that separates this node from a plain "describe your character" text box. The Series node shortens the person for wide shots - a wide shot can't resolve lipstick or brow shape, but those tokens still pull the composition back onto the head, so the pack drops them. It can only do that from the structured person_data, not from the finished string. So: if you're using this with Krea2Photoshooting, wire person_data into the Series node's person_data input, and use the Series node's person output in your prompt, not the builder's full string.

    How to install

    No dependencies beyond ComfyUI itself - the pack uses only the standard library. Through ComfyUI Manager, search "Photoshoot" and install, or by hand:

    cd ComfyUI/custom_nodes
    git clone https://github.com/ralksta/ComfyUI-Photoshoot
    

    Restart ComfyUI; the node appears under the Photoshoot category.

    The honest gotchas

    • Describing a face on top of a reference is a mistake. If your character comes from a LoRA, an IPAdapter, or an identity-preserving edit model, leave the face fields empty - two sources for one face just makes the model average them. The README's guidance: fill the body tab anyway, because a reference photo shows nothing below the shoulders and otherwise every image invents a different build.
    • The age field has a floor of 18, and the age presets start in the early 20s. Type a lower number and both the preview and the prompt say 18. It's a guardrail against accidents, not a content filter - the node only emits text.
    • It's German-first under the hood. The node name Krea2PersonBuilder, the person_data JSON, everything. You won't notice unless you dig into the source, but if the interface ever shows German where you expected English, that's the ComfyUI locale setting, not a bug - pick one explicitly under Settings → Comfy → Locale, because ComfyUI defaults to your browser language.

    The one thing worth remembering: this node holds a person still while the rest of the pack makes the photos move. If that's not what you need, you don't need this node - but if you've ever re-rolled a character forty times trying to keep one face, you'll see why it exists.

    CategoryPhotoshoot

    Inputs (0)

    No inputs

    Outputs (2)

    NameTypeDescription
    personSTRING
    person_dataSTRING