Volcengine Img Edit V3.0
Volcengine Img Edit V3.0 (SeedEdit 3.0)
- image
- image
- image_url
- local_image_path
This is the friendliest node in the pack, and the one I'd argue is the easiest to get value out of on day one. You give it an image plus a plain-English instruction - "make the sky night", "add sunglasses to the person", "turn the background into a concert venue" - and it hands back an edited version that keeps the original's composition and structure. No masks, no inpainting plumbing, no ControlNet stacking. That's ByteDance's SeedEdit 3.0 model, wrapped for ComfyUI.
Where local editing usually means fiddling with masks and re-inpainting regions, this is a single instruction string. That makes it ideal for quick creative passes on an image you just generated: fix the background, swap the vibe, delete an element. It's an API call, so it costs money and needs keys, but the setup cost is close to zero - which is the whole appeal.
How it works
The node base64-encodes your image and submits an async task to the Volcengine visual service (visual.volcengineapi.com, V4-signed auth, same key pair as the pack's SeeDream and I2V nodes), then polls until the edit is done. The result is downloaded and converted back into a ComfyUI IMAGE tensor, so the graph just continues. The key dial is scale (0.0–1.0, default 0.5): low values mean a light touch that mostly preserves the source, high values mean the text instruction wins and the original matters less. If an edit looks too timid, nudge scale up.
The inputs that matter
access_key/secret_key- the Volcengine console pair.image- your source. The API wants JPEG or PNG, max 5 MB and 4096×4096; the node encodes whatever tensor you give it, so huge or exotic inputs can fail upstream.prompt- the edit instruction. Keep it under 120 characters and single-purpose; the author's guidance is that long, compound instructions cause bad edits or outright failures.scale- the text-vs-image fidelity dial above.return_url- true (default) puts a 24-hour URL inimage_url; false makes it return base64 data instead. You almost never need to touch this.
Outputs are image (IMAGE), image_url (STRING), and local_image_path (STRING). The image is already saved to your output directory, so the path is just your receipt.
Installing
Manager search ComfyUI-JM-Volcengine-API, or:
cd ComfyUI/custom_nodes
git clone https://github.com/synthetai/ComfyUI-JM-Volcengine-API
cd ComfyUI-JM-Volcengine-API
pip install -r requirements.txt
Restart, then look under JM-Volcengine-API/ImgEdit. Dependencies are only requests and Pillow.
Where people get burned
- Prompt too long. Over ~120 characters and edits get unreliable - the README says so outright. Keep it to one clean instruction.
- Image too big. Over 5 MB or 4096×4096 and the request fails. Downscale first if you're feeding it an upscaled render.
- Subtle edits doing nothing. That's the
scaledial - raise it toward 0.7–1.0 if the text isn't showing through. - Expired tasks. Async jobs die after about 12 hours, and URLs after 24. A long-parked workflow won't resolve.
It won't do full repaints as well as a purpose-built local pipeline with masking, but for fast, targeted instruction editing inside ComfyUI, it's genuinely the most approachable node in this pack.
Inputs (8)
| Name | Type | Default | Description |
|---|---|---|---|
| access_key | STRING | 火山引擎访问密钥AccessKey | |
| secret_key | STRING | 火山引擎访问密钥SecretKey | |
| image | IMAGE | 输入图片 | |
| prompt | STRING | 编辑指令,建议长度<=120字符,使用自然语言描述 | |
| scaleopt | FLOAT | 0.50–1 | 文本描述影响程度,越大代表文本描述影响越大,输入图片影响越小 |
| seedopt | INT | -1-1–4294967295 | 随机种子,-1表示随机生成 |
| filename_prefixopt | STRING | seededit_v3 | 保存文件名前缀 |
| return_urlopt | BOOLEAN | true | 是否返回图片URL链接(24小时有效) |
Outputs (3)
| Name | Type | Description |
|---|---|---|
| image | IMAGE | — |
| image_url | STRING | — |
| local_image_path | STRING | — |