Photoshoot Person speichern
Photoshoot Person speichern
- person
You've spent twenty minutes clicking fields in the Photoshoot Person builder to get a character right. If that work lives only in the builder's state, it's gone the moment you close ComfyUI or load a different workflow. Krea2PersonSave ("Photoshoot Person speichern") is the node that makes the description permanent: it writes the person text to disk under a name you choose, and from then on any Load node or the Krea2Bausteine picker can bring it back.
The three inputs
person- the text to save. Wire this from thepersonoutput of Krea2PersonBuilder; it's a forced-input field, so it expects a connection, not a typed value.name- what you want to call it. Something like "Mara" or "Redhead studio model" - the name is what appears in the Load dropdowns later.speichern- the save switch, labeled speichern (on) / aus (off). This is the safety catch, and it's mandatory to understand: the node does not save until you flip this on.
The single output, person, is the same text passed through, so you can chain this node mid-graph without it disrupting the flow.
The mechanism, and why it's built this way
This is an OUTPUT_NODE, which is the subtle part. ComfyUI builds its execution plan backwards from output nodes, so a Save node sitting at the end of a dead branch would quietly drop out of the plan and never run. Making it an output node in its own right forces it into the plan. And because ComfyUI would otherwise serve a cached result for identical inputs - meaning it never writes - the node's IS_CHANGED returns the current time whenever speichern is on, so it always re-runs and re-writes.
The flow, per the node's own description: set the switch to speichern, run once, then switch it back off. Run it again with the switch off and it just passes the text through - no accidental overwrites.
Files land in ComfyUI/user/krea2_persons/ as small JSON files. That folder is not part of the repository, and it's exactly the thing you want in a backup if you care about your characters - copy it deliberately.
Installing
No dependencies beyond ComfyUI:
cd ComfyUI/custom_nodes
git clone https://github.com/ralksta/ComfyUI-Photoshoot
or search "Photoshoot" in ComfyUI Manager, then restart. Under the Photoshoot category.
Notes and gotchas
- New names only appear after refresh (R). The Load nodes and the Bausteine picker fill their dropdowns when ComfyUI queries node definitions, not live. Save, press R, then look.
- Nothing saves if the switch is off. The most common "it didn't save" is really "I never turned the switch on." The console also prints a
[Photoshoot Person]line on success -createdorupdated- so check there if you're unsure. - Empty name or empty text are refused. It won't save a nameless block, and it won't save an empty description; both just log a message and pass the text through.
- Overwriting is fine and intentional. Save under an existing name and it updates that file - which is also how you revise a character. The Load nodes detect the change by file mtime and re-run automatically.
The point of the whole pack is that the same person comes back across sessions. This node is how that promise is kept.
Inputs (3)
| Name | Type | Default | Description |
|---|---|---|---|
| person | STRING | — | |
| name | STRING | — | |
| speichern | BOOLEAN | false | — |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| person | STRING | — |