VULCA Update (NL)
Change your brief in plain English, then roll back if you hate it
- brief_path
- rollback_phase
VULCA Update is the node that closes the loop in ComfyUI-VULCA's flagship workflow. You generate an image, run it through VULCA Evaluate, get a score, and when it's not good enough you don't rebuild the brief from scratch - you feed the existing brief and an instruction like "add more warmth" into this node, and it edits the brief in place. Then you re-run VULCA Generate against the updated brief and try again. Iteration becomes a natural-language conversation instead of a rewrite.
The README's example workflow makes the loop explicit: Brief → Concept → Generate → Evaluate → and if the score misses your threshold, Update ("add more warmth") → back to Generate. This is the node that makes that feedback cycle possible without touching any other part of the graph.
How it works
It's a wrapper around the SDK's natural-language brief updater: parse_nl_update turns your instruction into a structured change, apply_update applies it to the loaded brief, and the node saves the result back to the same brief.yaml. The brief file is mutated in place - that's why the primary output is literally the same brief_path you passed in, now containing the revised brief.
The second output, rollback_phase, is the honest part: it tells you which phase of the pipeline this change can be rolled back to. If your instruction took the concept in a direction you regret, that string tells you where you can rewind to rather than chasing the edit forward. It's a guardrail, and a thoughtful one.
Inputs and outputs
brief_path(required) - from VULCA Brief, or the previous Update.instruction(required, multiline) - the change in natural language. "Make it more calligraphic," "shift the palette toward autumn."
Outputs: brief_path (the updated brief, ready for VULCA Generate or VULCA Concept) and rollback_phase (a string naming the phase you can roll back to).
Install and troubleshooting
ComfyUI Manager (search "VULCA") or:
cd ComfyUI/custom_nodes/
git clone https://github.com/vulca-org/comfyui-vulca
pip install "vulca>=0.12.0"
Then restart. No models, no API key required - this node is local SDK text processing, so it's free to run.
The trap is the same one that bites VULCA Brief: the brief lives at brief_path, which by default sits in a temp directory. If that path disappears between sessions, Update will fail to load the brief. Set VULCA_PROJECT_DIR so your briefs (and their edit history) live somewhere durable. And if the node dies with ModuleNotFoundError: vulca, the pip install got skipped - the pack's imports are lazy, so that error only shows up when you actually run a node.
Inputs (2)
| Name | Type | Default | Description |
|---|---|---|---|
| brief_path | STRING | — | |
| instruction | STRING | — |
Outputs (2)
| Name | Type | Description |
|---|---|---|
| brief_path | STRING | — |
| rollback_phase | STRING | — |