Photoshoot Licht speichern
Don't leave Photoshoot Save Lighting on
- licht
This is the save node that pairs with Photoshoot Load Lighting in ralksta/ComfyUI-Photoshoot - the pack's way of keeping a lighting block you like under a name so the loader can hand it back later. You type a lighting prompt (or wire one in), give it a name, flip a switch, run once, flip the switch back off. That switch is the whole personality of this node, and it's where people get burned.
The three inputs
licht- the text to store. A multiline STRING; type it or wire it from the Photoshoot Lighting builder or anywhere else.name- the filename it's stored under. Free text, no forced pattern.speichern- the save switch, default off. This is the one that matters.
The output licht is a pass-through: it returns whatever text went in, so you can chain the node into a prompt builder and the saved text keeps flowing even while the node idles.
Why a switch at all (the interesting part)
Save nodes in ComfyUI have a classic failure mode: their output usually goes nowhere, so ComfyUI's executor prunes them from the plan as a dead branch and nothing ever gets written. This one is declared an output node, which makes it a root of execution in its own right - it always runs. But then the opposite problem appears: ComfyUI caches results for identical inputs, so it would "run" from cache and never write either. The node defeats that by telling ComfyUI its result has changed whenever the switch is on (time.time()), which forces a real execution that actually writes the file.
So the switch isn't ceremony - it's what stops the node from re-saving every single run. That's also the trap: leave speichern on and every run overwrites the file. It's idempotent, so you'll just get the same block back, but if you edit the text and forget the switch is still on, you'll silently clobber your good version. Flip it off after each save.
Where it lands
Files go to ComfyUI/user/krea2_lights/<name>.json as {name, text, saved-at}. The name is sanitized before it becomes a path - slashes, .., and other path tricks are stripped, and it's capped at 80 characters - because it comes from a free text field and would otherwise end up unchecked in a filesystem path. No usable name or empty text means it prints a message and saves nothing. After you save, remember the loader won't show the new name until you press R to refresh it.
Installing it
Manager search Photoshoot, or:
cd ComfyUI/custom_nodes
git clone https://github.com/ralksta/ComfyUI-Photoshoot
Restart. Zero extra dependencies - the pack ships with an empty requirements list and only touches text. Back up ComfyUI/user/krea2_lights/ yourself if the blocks matter; it's not part of the repo.
Inputs (3)
| Name | Type | Default | Description |
|---|---|---|---|
| licht | STRING | — | |
| name | STRING | — | |
| speichern | BOOLEAN | false | — |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| licht | STRING | — |