VULCA Layers (Composite)
Stitch an artwork back together from its layer manifest
- composite_path
VULCA Layers (Composite) is the "put it back together" half of the pack's layer story. It takes a directory containing a manifest.json that lists an artwork's layers, and composites those layers back into a single image. If VULCA Layers (Analyze) is the plan and VULCA Layers (Export) is the split, this is the reassembly - the step that turns your isolated, editable pieces back into one finished artwork.
You'd reach for it after a layered workflow: decompose an image, edit or regenerate individual layers, then composite them back to a full image with everything in place. It's also the node that makes "swap one layer without touching the rest" possible, which is exactly the precision that whole-image editing tools don't give you.
How it works
The node opens manifest.json from the given directory, reads the layers list, and hands it to the SDK's layer compositor. There's a fallback path baked in: if the compositor isn't available, it degrades to copying the first layer as the composite - which is a graceful way to fail, but not a real composite. If you see a composite that's just one layer, that fallback is what you hit, and the real compositor (from the SDK) isn't importable.
Input and output
One required input: artwork_dir - and this is the gotcha. It must be the directory that contains manifest.json (the structure the SDK writes), not an arbitrary folder of PNGs you assembled yourself. The node literally reads artwork_dir/manifest.json, so no manifest, no composite. One output: composite_path, the file path of the reassembled image.
Install
Same as the whole pack:
cd ComfyUI/custom_nodes/
git clone https://github.com/vulca-org/comfyui-vulca
pip install "vulca>=0.12.0"
Restart ComfyUI, or install via ComfyUI Manager (search "VULCA"). No API key needed - compositing is local pixel work.
The realistic failure mode here is ordering: people export layers, then point Composite at the wrong directory, and get a mystery single-layer output. Point it at the artwork directory with the manifest, confirm the composite is a real merge (not the fallback single layer), and you're set. If you only need the pieces and never plan to reassemble, you can skip this node entirely.
Inputs (1)
| Name | Type | Default | Description |
|---|---|---|---|
| artwork_dir | STRING | — |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| composite_path | STRING | — |