Seedream 4 Image-to-Image
Reimagine an image without a mask
- image
- IMAGE
Sometimes you don't want to inpaint, mask, or img2img your way to an edit - you want to hand a picture to a model that's smart enough to reinterpret it. That's this node. It's Seedream 4 image-to-image: you feed one image, describe what you want done to it, and ByteDance's cloud model returns a new image honoring both. No ControlNet, no mask, no local VRAM. In the wider workflow this slots in right after Load Image and feeds straight into Save Image - the image tensor in, image tensor out.
It's worth knowing that Seedream 4's image line is API-only (the KB's ByteDance panel makes this explicit - the Seedream family is a paid product, always was). This node is the ComfyUI wrapper around that: your image is base64-encoded and sent inline to the BytePlus Ark API, so there's no upload step or external hosting, and the result is downloaded back as a standard IMAGE tensor.
Inputs and outputs that matter
- prompt - the instruction. This is where you say "make it golden hour" or "turn this into an oil painting." The model is strong at stylistic and scene reinterpretation; be specific.
- image - your source image. One image, required.
- width / height - the output resolution, defaults 2048×2048. Note these are what the output should be, not the input's size - the API upscales or crops to match.
- seed - set for reproducible results,
-1for random.
Output is IMAGE - one image, ready for Save Image, an upscaler, or to hand off to a video node as a first frame.
Install
Same pack, same ritual:
cd ComfyUI/custom_nodes
git clone https://github.com/FloyoAI/ComfyUI-Seed-API
cd ComfyUI-Seed-API
pip install -r requirements.txt
Restart ComfyUI, then set your BytePlus API key in config.ini (under [API]) or via the BYTEPLUS_API_KEY environment variable. Manager users: search "ComfyUI Seed API Integration".
Where people get burned
The blank-black-image failure is the pack's catch-all error fallback - if you see it, the real message is in the ComfyUI console, and with a cloud API it's almost always an auth or model-permission problem, not your prompt. The subtler gotcha is resolution: this node has no "adaptive" size, so an off-square source gets letterboxed or cropped to whatever width/height you pick. Set width/height to match your source's aspect ratio to avoid surprises. And remember this is a paid API call per image - Seedream 4 is good, but it's metered, so treat heavy iteration like a bill you can see ticking. If you need a lighter, older editing model with an adaptive size option, the pack also ships SeedEdit; if you're editing on the cheap locally, a mask-based approach still has its place.
Inputs (5)
| Name | Type | Default | Description |
|---|---|---|---|
| prompt | STRING | — | |
| image | IMAGE | — | |
| width | INT | 204864–4096 | — |
| height | INT | 204864–4096 | — |
| seedopt | INT | -1-1–2147483647 | — |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| IMAGE | IMAGE | — |