SeedEdit 3.0 (ByteDance)
SeedEdit 3.0 from ComfyUI — check the model ID before you rely on this one
- image
- image
- output_url
Let's be straight with you up front: this node wraps ByteDance's SeedEdit 3.0, the instruction-based image editor that lives on the closed, API-only side of ByteDance's lineup - and the model ID it calls, bytedance/seededit-3.0, no longer resolves on Replicate's site as of this writing. The page existed through late 2025 and now returns a 404. The model may have been renamed or pulled, so before you build a workflow around this node, check whether the ID is still current. If it isn't, every run dies on the API call. That's the story behind the "0 impressions" this page gets, and it's not the node's fault so much as its model's.
When it does work, what you get is ByteDance's take on instruction editing: drop in an image, describe the change, and SeedEdit edits it. Its distinctive knob is guidance_scale, which controls how literal the result is - crank it toward 10 for strict prompt adherence, dial it down toward 1 for looser, more creative interpretations. SeedEdit has never shipped open weights, so like the Seedream node in this same pack, an API wrapper is the only ComfyUI path in at all.
How it works
Same skeleton as every node in the pack: your image becomes a base64 PNG data URL, it's sent to replicate.Client.run("bytedance/seededit-3.0", ...) alongside the prompt, and the returned URL is downloaded and converted back into a tensor. SeedEdit's response is a single image URL, which the node handles as a string rather than a list - that part of the code is fine.
The inputs that matter
- image - the image to edit, as a ComfyUI IMAGE tensor.
- prompt - the edit instruction. Plain language, the way you'd describe the change to a human editor.
- api_token - your Replicate token, or leave blank if
REPLICATE_API_TOKENis set.
The optional pair is small: seed (-1 for random, a fixed number for reproducibility) and guidance_scale (1.0–10.0, default 5.5). That second one is the whole personality of the model, and 5.5 is a reasonable middle ground - go up when the model wanders off your instruction, down when it's being too literal and killing the artistry.
Outputs
image - the edited result as a standard IMAGE tensor, ready for a Save Image or downstream nodes. output_url - the direct URL of the result as a STRING. Both behave exactly like the rest of the pack.
Installing it
It ships in the comfyUI_charly_replicate_api pack alongside the two Qwen edit nodes and Seedream 4. ComfyUI Manager, search "ComfyUI Replicate Image Generation & Edit", or:
cd ComfyUI/custom_nodes
git clone https://github.com/charlyad142/comfyUI_charly_replicate_api
Restart ComfyUI. Dependencies are the replicate client plus requests and Pillow - no model downloads, since everything runs on Replicate's cloud. You need a token from replicate.com/account/api-tokens, and every edit is a paid call.
Where people get burned
The pack's universal trap first: a failure returns a red 512×512 placeholder image with "Error: ..." written into the output_url output. When the preview goes red, read that string - it's usually the only clue you'll get.
And then the big one, which is specific to this node: verify bytedance/seededit-3.0 still exists on Replicate before you wire this into anything important. It's a hardcoded string in the pack's replicate_nodes.py. If the model moved, the fix is either editing that string to the current ID or switching to a node whose model is actually live. Given how heavily the community relies on Qwen-Edit for instruction editing anyway, the honest advice is: if SeedEdit gives you grief, the single-image Qwen node in the same pack is a working, actively-hosted alternative with the same input/output shape.
Inputs (5)
| Name | Type | Default | Description |
|---|---|---|---|
| image | IMAGE | — | |
| prompt | STRING | — | |
| api_token | STRING | — | |
| seedopt | INT | -1 | — |
| guidance_scaleopt | FLOAT | 5.501–10 | — |
Outputs (2)
| Name | Type | Description |
|---|---|---|
| image | IMAGE | — |
| output_url | STRING | — |