Seedream 5.5 is ByteDance's image model from November 2026, the successor to Seedream 5.0 Pro and Seedream 5.0 Flash. It generates from a prompt alone or edits with up to 10 reference images. Two things set it apart in the catalog: transparent backgrounds (PNG with an alpha channel) and multi-round editing where whatever you did not ask to change stays put. Resolution is 1K or 2K, aspect ratios run from 21:9 to 1:2.
I tested it on launch day. Out of 10 images requested with a transparent background, all 10 came back as real PNGs with alpha. Glass and water are the weak spot - the background did not show through the glass in any of 7 attempts. Polish lettering: 10 character errors across 548 characters in 7 prompts. Over 8 consecutive edits of a product photo nothing shifted.
Best for
- Product shots and graphics on a transparent background
- A series of tweaks to one image (color, light, detail) without breaking the rest
- Character or product scenes from several reference photos
- Illustrations and documentary-style scenes
How to write prompts
- When editing, name what must stay: "change only the sweater color, keep the face, background and lighting".
- For edits with a person in the references, say the person appears once - otherwise the model may add a copy in the background.
- Set a transparent background in the Background field, not just in the prompt.
FAQ
How much does Seedream 5.5 cost?
from $0.0425 per image. The price depends on resolution (1K is cheaper than 2K) and goes up when you add reference images. Failed generations are free.
Can Seedream 5.5 make transparent backgrounds?
Yes, set Background to "transparent". In my test 10 out of 10 images came back with an alpha channel. Glass and liquids still come out opaque.
How many reference images can I add?
Up to 10 per request.
How to call Seedream 5.5 via API
curl https://jantaris.com/v1/generate?wait=60 \
-H "Authorization: Bearer $JANTARIS_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "seedream-5.5",
"input": {
"prompt": "Product photo of a matte black ceramic coffee cup on a travertine table, soft window light, 50mm",
"aspect_ratio": "auto",
"resolution": "2K"
}
}'import os, time, requests
API = "https://jantaris.com/v1"
H = {"Authorization": f"Bearer {os.environ['JANTARIS_API_KEY']}"}
task = requests.post(f"{API}/generate", headers=H, json={
"model": "seedream-5.5",
"input": {
"prompt": "Product photo of a matte black ceramic coffee cup on a travertine table, soft window light, 50mm",
"aspect_ratio": "auto",
"resolution": "2K"
}
}).json()
while task["status"] in ("queued", "running"):
time.sleep(3)
task = requests.get(f"{API}/tasks/{task['id']}", headers=H).json()
print(task["status"], task["cost"], [o["url"] for o in task["output"]])const API = "https://jantaris.com/v1";
const headers = { Authorization: `Bearer ${process.env.JANTARIS_API_KEY}`, "Content-Type": "application/json" };
let task = await (await fetch(`${API}/generate`, {
method: "POST",
headers,
body: JSON.stringify({
"model": "seedream-5.5",
"input": {
"prompt": "Product photo of a matte black ceramic coffee cup on a travertine table, soft window light, 50mm",
"aspect_ratio": "auto",
"resolution": "2K"
}
}),
})).json();
while (task.status === "queued" || task.status === "running") {
await new Promise((r) => setTimeout(r, 3000));
task = await (await fetch(`${API}/tasks/${task.id}`, { headers })).json();
}
console.log(task.status, task.cost, task.output.map((o) => o.url));
Parameters
| Parameter | Type | Allowed | Default |
|---|---|---|---|
prompt * | string | ||
aspect_ratio | string | auto 1:1 4:3 3:4 16:9 9:16 3:2 2:3 21:9 2:1 1:2 | auto |
resolution | string | 1K 2K | 2K |
background | string | auto opaque transparent | auto |
output_format | string | png jpeg | png |
image_urls | array | max 10 |
The same schema is available from GET /v1/models/seedream-5.5.



























