Photoshoot Ausdruck
Photoshoot Expression
- ausdruck
Faces are where prompt-based image generation falls apart fastest. "A nervous smile" doesn't tell the model what the eyes, brows and mouth are doing, so you get a face that's smiling and glaring at once. Krea2ExpressionBuilder ("Photoshoot Ausdruck") is the fix: it composes a facial expression from structured fields - mood, eyes, gaze, mouth, brows, head tilt - so the parts agree with each other before they ever reach the sampler.
What it composes
Ninety moods in nine families, from calm through assertive and engaged down to frightened, sad and dismissive. The secondary fields were deliberately grown to fit those moods - "panicked" needs a wide-open eye and an open mouth, so the node offers them. Pick a mood and the eyes, gaze, mouth and brows are set to match, or roll them independently with the per-field die.
That's the real trick here, and it's worth unpacking. Each mood family constrains what the other fields can be. The node's own history shows why: the two "negative" families used to be called tense and withdrawn, which lumped alertness together with fear and sadness together with rejection - so rolling the dice gave you a character that was curious one run and panicked the next. The families are built to stop exactly that. A composed output looks like:
a neutral expression, wide open eyes, looking directly at the camera, relaxed brows, lips closed, head held straight
How it works
Like its sibling Krea2PoseBuilder, the interface lives in a panel, not on the canvas. The graph node is just a seed widget and a text output; the hidden ExpressionState input carries your field choices into the node when it runs. The seed drives the rolls and steps after every queued run (control_after_generate), so raising batch count with the dice on gives you several distinct-but-consistent expressions in one go.
The output ausdruck is a STRING (the German word for "expression" - this pack was written German-first, and the interface follows your ComfyUI locale). Per the node's description, hang it on the ausdruck input of "Photoshoot Prompt bauen" and place {ausdruck} in your prompt, as far forward as you can.
Installing
Same as every node in this pack - no dependencies beyond ComfyUI:
cd ComfyUI/custom_nodes
git clone https://github.com/ralksta/ComfyUI-Photoshoot
or search "Photoshoot" in ComfyUI Manager, then restart. It appears under the Photoshoot category.
Notes and gotchas
- It's text, not a model. This node makes prompts, not images - it works with whatever reads a prompt, and it needs nothing downloaded.
- In a full series, you don't usually wire it in. Krea2Photoshooting already emits its own
ausdruckoutput, composed from the same logic and trimmed per framing (a wide shot gets just the mood, no mouth detail). Use the standalone builder when you want to control one expression yourself, or lock the mood to a single family while the series rolls everything else. - Placement matters. The pack recommends expression late in the prompt (
{camera}, {scene}, {person}, {pose}, {extra}, {expression}, {style}) - the pose is more structurally important, so it goes first, and the face comes after.
If "she looks slightly skeptical but amused" is a sentence you've typed and watched fail, this node is the structured alternative that mostly works.
Inputs (1)
| Name | Type | Default | Description |
|---|---|---|---|
| seed | INT | 00–18446744073709550000 | — |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| ausdruck | STRING | — |