Nodes/ComfyUI-Photoshoot/Photoshoot Pose
ComfyUI Node

Photoshoot Pose

Photoshoot Pose

By ralksta·Created 4 days ago·Updated about 21 hours ago· 48
Photoshoot Pose
    • pose
    seed0

    Prompts describe a pose about as reliably as a shopping list describes a meal: you write "sitting on a table edge, leaning back, arms behind" and the model picks which half of it to honour. Krea2PoseBuilder ("Photoshoot Pose") attacks that differently - instead of typing, you assemble a posture from structured fields, and the node composes the English sentence for you. It's one of the standalone building blocks of the Photoshoot pack: it doesn't need the rest of the pack to be useful.

    What it builds

    Eighteen postures in four families (standing, sitting, on the ground, active), plus six more dimensions around the body: placement in the room (foreground, by a window, in a doorway, deep inside), orientation (facing the camera, profile, turned away), arms, legs, and body tension. The tension is the clever bit - it's coupled to the posture, so the node won't ask for a figure that's leaning against a wall and curled up tight at the same time. The whole thing composes into one sentence like:

    standing, placed in the foreground, facing the camera directly, both arms held behind the back, hands clasped together, legs closed together, with an upright posture

    How it works

    The node keeps its state in a hidden PoseState input that the interface pushes in on execution - you never see it. What you see is a panel with a field per posture dimension, each with a die icon. Roll a field and it picks a random value from the allowed family; leave it alone and it holds the value you picked. The seed input is what drives those rolls, with control_after_generate stepping it on after every queued run - the same pattern the KSampler uses to vary its own noise over a batch. So with the die on a few fields and batch count raised, you get several coherent variants of the same pose in one go.

    The single output is pose, a STRING. Per the node's own description, hang it on the pose input of "Photoshoot Prompt bauen" (Krea2PromptJoin) and place {pose} in your prompt text - as far forward as you can. The pack's recommended order is {camera}, {scene}, {person}, {pose}, {extra}, {expression}, {style}; pose belongs before the expression because the posture is more structurally important to the image than the mood.

    Installing

    No dependencies beyond ComfyUI itself. ComfyUI Manager, search "Photoshoot", or:

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

    Restart, and it's under the Photoshoot category.

    Notes and gotchas

    • It emits text only. No image, no model, no ControlNet, no OpenPose skeleton - this is a prompt-assembly node, and it works with any model that reads a prompt. It plays fine alongside an actual pose ControlNet if you want both, but it doesn't need one.
    • The panel is worth actually opening. The node's interface is where all the controls live; the graph node itself is just a seed widget and a text output. If you're used to everything being on the canvas, this takes a second to get used to.
    • In the series workflow, you usually don't wire this node in at all. Krea2Photoshooting emits its own pose output, internally composed from the same builder logic. PoseBuilder exists so you can vary just the pose on your own terms, or lock a single pose while a scene does its thing.

    If you've ever wanted to stop writing "arms crossed, weight on one leg, looking over shoulder" and have a model actually do what you said, this is the friendlier route in.

    CategoryPhotoshoot

    Inputs (1)

    NameTypeDefaultDescription
    seedINT00–18446744073709550000

    Outputs (1)

    NameTypeDescription
    poseSTRING