VULCA Inpaint (Region)
Region repaint guided by a cultural tradition — describe it, don't mask it
- blended_path
- variants_json
VULCA Inpaint does targeted region editing without a mask: you describe the region in words ("the sky in the upper portion"), tell it what to change ("dramatic stormy clouds"), and it regenerates just that area while leaving the rest of the image alone. It's the pack's edit tool, and it's guided by a cultural tradition, so the repaint is expected to stay in the style of the work rather than break it.
This fits a real shift in the inpainting world - instruction-driven editing has been eating mask-and-paint workflows for a while, because describing a change is easier than painting a mask. The trade-off is precision: edit models can drift other details. A region-scoped tool like this is the middle ground, and tying it to a tradition is the interesting twist - the repaint gets graded by the same cultural lens you'd apply to the whole image.
How it works
It's a direct call into the vulca SDK's inpaint function. It takes your region description and instruction, renders up to count variants, picks/blends the result, and returns both the blended image path and a JSON list of the variants. The tradition field (default "default") tunes the edit toward a specific cultural style.
Inputs and outputs
image_path(required) - the artwork to edit.region(required) - a text description of the area, not a mask. "The sky in the upper portion," "the robe on the figure."instruction(required, multiline) - what to change there.tradition-"default"unless you want a specific cultural lens.count- 1 to 8 variants, default 4.
Outputs: blended_path (the edited image file) and variants_json (the candidate versions as a JSON array of paths).
The gotcha that matters
Unlike VULCA Evaluate, whose mock switch defaults to true and saves you from needing keys, this node hardcodes mock mode off - the source calls the SDK with mock=False and exposes no override. That means VULCA Inpaint is the one node in the pack that always requires a real provider: you need the Google key (export GOOGLE_API_KEY=your-key) or a configured provider before it will run at all. There's no free dry-run here. Budget for it, or build your test workflow around the other nodes first.
Install
Same as the whole pack - 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. If the node errors out about credentials on first run, that's the hardcoded mock=False talking - set the key and retry. A ModuleNotFoundError: vulca is the usual skipped-pip-install symptom instead.
Inputs (5)
| Name | Type | Default | Description |
|---|---|---|---|
| image_path | STRING | — | |
| region | STRING | — | |
| instruction | STRING | — | |
| traditionopt | STRING | default | — |
| countopt | INT | 41–8 | — |
Outputs (2)
| Name | Type | Description |
|---|---|---|
| blended_path | STRING | — |
| variants_json | STRING | — |