Nodes/ERPK Collection/Bytedance Seedream V4 Edit
ComfyUI Node

Bytedance Seedream V4 Edit

The workhorse ByteDance edit node

By eRepublik-Labs·Created 11 months ago·Updated 21 days ago· 1
Bytedance Seedream V4 Edit
  • client
  • image
prompt
image_url
size_presetCustom
seed-1
width1408
height1408
show_aspect_ratiotrue
enable_sync_modefalse
enable_base64_outputfalse

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 erpkERPK 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.
CategoryERPK/WaveSpeedAI

Inputs (10)

NameTypeDefaultDescription
promptSTRINGText description of the desired image modifications
image_urlSTRINGImage URL(s) to edit. Accepts single URL (string) or multiple URLs (array). Max 10 images.
size_presetCOMBOCustomRecommended resolution presets. Select 'Custom' to use manual width/height.
seedINT-1-1–2147483647Seed for cache control. Randomizes by default.
clientoptWAVESPEED_AI_API_CLIENTWaveSpeed API client (optional if API key is configured in Settings)
widthoptINT1408320–4096Custom width (only used when size_preset is 'Custom')
heightoptINT1408320–4096Custom height (only used when size_preset is 'Custom')
show_aspect_ratiooptBOOLEANtrueShow aspect ratio in node title
enable_sync_modeoptBOOLEANfalseIf 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_outputoptBOOLEANfalseIf enabled, the output will be encoded into a BASE64 string instead of a URL. This property is only available through the API.

Outputs (1)

NameTypeDescription
imageIMAGE