zhenzhen-seedream-v5-pro-layer-decomposition-lowprice
Seedream V5 layer decomposition in ComfyUI
- image
- api_config
- images
- masks
- image_urls
- image_count
- task_id
- response
If you've ever stared at a finished image and wished you could pull it apart - the subject on one layer, the background on another, props separated out - this is the node for that. Comfly_seedream_v5_pro_layer_decomposition_lowprice feeds one source image to Seedream V5 Pro's layer-decomposition model through the domestic low-price shop and gets back the image split into separate layers with masks, ready to composite, re-light, or re-arrange in ComfyUI. The README mentions up to 16 layers on the wider-audit overseas model; the domestic one is the same idea at the cheap rate.
It's a low-price node, so credentials come from an api_config dictionary built by the pack's Comfly_seedance2_low_price_settings node. Async submit → poll → download, then the node reassembles the returned layers into tensors you can actually use.
The inputs that matter
image- required; the source image you want decomposed.prompt- optional guidance for how to split. Leave it empty for automatic decomposition.resolution-auto(default),1k,1.5k, or2k. Higher output = slower + pricier.output_format-pngorjpeg. Usepngif you're going to composite the layers; jpeg artifacts kill clean masks.model-seedream-v5-pro-layer-decomposition(domestic, default) ordola-seedream-5.0-pro-layer-decomposition(overseas, wider audit, up to 16 layers).
The interesting outputs are the list-based ones: images (the layers as IMAGE tensors, one per element) and masks (a matching MASK list, so each layer comes with its own alpha-ready matte). image_urls gives you the raw URLs, image_count tells you how many came back, and task_id / response round out the debug story.
The seed here is ComfyUI cache-control only - explicitly documented in the tooltip as not sent to Seedream. Fixed seed reuses the cached result; that's all it does.
Installing it
cd ComfyUI/custom_nodes
git clone https://github.com/T8mars/Comfyui-zhenzhen
or ComfyUI Manager (search "Comfyui-zhenzhen"), restart, wire a settings node with your api.seedance.nz token into api_config. No model downloads.
Common issues
- Layers don't line up - decomposition isn't pixel-perfect by default. If you're re-assembling, use the masks rather than the raw layer bounding boxes.
- Mask is jagged - check
output_formatispng; jpeg will wreck the matte edges. - Blank output with no error -
skip_erroris on. Turn it off to see the actual failure.
This is a niche-but-powerful node: character cutouts for re-compositing, background replacement that keeps the subject matte, prop isolation for e-commerce. If you've been doing this by hand with a mask tool, the API version is a lot less fiddly.
Inputs (8)
| Name | Type | Default | Description |
|---|---|---|---|
| image | IMAGE | — | |
| prompt | STRING | — | |
| resolution | COMBO | auto | 4 options: auto, 1k, 1.5k, 2k |
| output_format | COMBO | png | 2 options: png, jpeg |
| api_configopt | ZHENZHEN_SEEDANCE2_CONFIG | — | |
| skip_erroropt | BOOLEAN | false | — |
| seedopt | INT | 00–18446744073709550000 | ComfyUI cache seed only; this value is not sent to Seedream. Fixed reuses the cached result. |
| modelopt | COMBO | seedream-v5-pro-layer-decomposition | 2 options: seedream-v5-pro-layer-decomposition, dola-seedream-5.0-pro-layer-decomposition |
Outputs (6)
| Name | Type | Description |
|---|---|---|
| images | IMAGE | — |
| masks | MASK | — |
| image_urls | STRING | — |
| image_count | INT | — |
| task_id | STRING | — |
| response | STRING | — |