Bytedance Seedream V4 Edit
The workhorse ByteDance edit node
- client
- image
Seedream V4 Edit is the older, cheaper member of the Seedream edit family in this pack: ByteDance's image-editing model over the WaveSpeed API, with up to 10 reference images per edit. Where V4.5 is the typography specialist, V4 is the generalist workhorse - solid semantic edits, a wide 320–4096px resolution range, and a lower price point. If your edit doesn't involve text and you want to keep the bill down, this is often the smarter pick than its V4.5 sibling.
The familiar caveat applies: Seedream is an API-only product - ByteDance doesn't release its flagship image models as weights, so this node is the realistic way to get ByteDance-grade editing inside ComfyUI. You pay per edit, your GPU does nothing, and the result lands back in your graph as an IMAGE tensor.
How it works
The node sends your prompt and up to 10 image_urls to the WaveSpeed Seedream V4 Edit endpoint, waits for the render, and converts the returned image into a ComfyUI IMAGE tensor. The image_url field accepts a single URL string or multiple URLs - that's how multi-reference edits work (hand the model several views of a subject and it edits them consistently). Output plugs straight into your existing image chain.
Resolution: pick a size_preset or set width/height yourself (320–4096px, step 8, default 1408×1408). That's a much wider floor than the V4.5/V5.0 nodes, so you can edit small source images without upscaling first.
The inputs that matter
- prompt - the modification description.
- image_url - the image(s) to edit, one or many, up to 10.
- size_preset / width / height - resolution control; custom dims apply only with the "Custom" preset.
- seed - cache control. Randomize re-runs (and re-bills); a fixed value reuses the cached result.
enable_sync_mode waits for the result before returning, enable_base64_output returns base64 instead of URLs (API-scripting only), and show_aspect_ratio just labels the node title. The optional client input is for a WaveSpeed API Client node.
Installing it
Part of the ERPK Collection (eRepublik-Labs/comfyui-nodes-erpk). ComfyUI Manager: search erpk → ERPK Custom Nodes → restart. Or:
cd ComfyUI/custom_nodes
git clone https://github.com/eRepublik-Labs/comfyui-nodes-erpk.git erpk
cd erpk
pip install -r requirements.txt
WaveSpeed API key required (Settings → ERPK → API Keys). No model downloads.
Common issues
- Source images must be public URLs - WaveSpeed fetches them itself. Localhost, private, or expiring links fail; use a public URL or the pack's upload helper.
- Text in the edit garbled? - that's exactly what V4.5 is for. For text-heavy edits, switch to the V4.5 edit node.
- Multi-reference edits behave differently - with 10 images in, the model balances all of them; keep the references on-subject or the edit gets muddy.
- Billed per edit - every queue run with a random seed is a new charge. Pin the seed when you're just testing the wiring.
Inputs (10)
| Name | Type | Default | Description |
|---|---|---|---|
| prompt | STRING | Text description of the desired image modifications | |
| image_url | STRING | Image URL(s) to edit. Accepts single URL (string) or multiple URLs (array). Max 10 images. | |
| size_preset | COMBO | Custom | Recommended resolution presets. Select 'Custom' to use manual width/height. |
| seed | INT | -1-1–2147483647 | Seed for cache control. Randomizes by default. |
| clientopt | WAVESPEED_AI_API_CLIENT | WaveSpeed API client (optional if API key is configured in Settings) | |
| widthopt | INT | 1408320–4096 | Custom width (only used when size_preset is 'Custom') |
| heightopt | INT | 1408320–4096 | Custom height (only used when size_preset is 'Custom') |
| show_aspect_ratioopt | BOOLEAN | true | Show aspect ratio in node title |
| enable_sync_modeopt | BOOLEAN | false | If set to true, the function will wait for the result to be generated and uploaded before returning the response. It allows you to get the result directly in the response. This property is only available through the API. |
| enable_base64_outputopt | BOOLEAN | false | If enabled, the output will be encoded into a BASE64 string instead of a URL. This property is only available through the API. |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| image | IMAGE | — |