Seedream 5.0 Pro is ByteDance's Doubao Seedream 5.0 Pro, released in July 2026. It handles text-to-image and single or multi-reference image-to-image with up to 10 reference images, and it renders text inside the image, which makes it a fit for posters and covers. Output comes in 1K, 1.5K or 2K tiers across 8 aspect ratios, one image per request. ByteDance also offers exact pixel sizes and a layer decomposition mode, but Jantaris does not expose those options yet.
Best for
- Event posters, book covers and album art with titles
- Brand key visuals built from product and style references
- Covers rendered in several aspect ratios from one prompt
- Ad variants that differ only in headline text
Prompting tips
- Put exact text in quotes and say where it goes and how it looks: "title 'NIGHT MARKET' across the top, bold sans-serif".
- Pick the tier with
resolution(1K,1.5K,2K) and the frame withaspect_ratio; exact pixel sizes are not accepted on Jantaris. - In multi-reference prompts, assign roles: "image 1 is the product, image 2 sets the color palette".
- Prompts can be up to 32,000 characters, so spell out every text block of a busy poster.
FAQ
How much does the Seedream 5.0 Pro API cost?
The rate is from $0.0783 per image. Failed requests are not charged. That includes an image blocked by the vendor's final content check: you get the full hold back, even though the generation already ran.
What resolutions does Seedream 5.0 Pro support?
1K, 1.5K and 2K tiers in 8 aspect ratios (1:1, 4:3, 3:4, 16:9, 9:16, 2:3, 3:2, 21:9). Exact pixel sizes are not available in Jantaris yet.
Should I pick Seedream 5.0 Pro or Flash?
Pro targets poster-grade images with text. Seedream 5.0 Flash charges one price for every tier and takes the same 10 reference images.
How to call Seedream 5.0 Pro 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.0-pro",
"input": {
"prompt": "Product photo of a matte black ceramic coffee cup on a travertine table, soft window light, 50mm",
"aspect_ratio": "1:1",
"resolution": "1K"
}
}'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.0-pro",
"input": {
"prompt": "Product photo of a matte black ceramic coffee cup on a travertine table, soft window light, 50mm",
"aspect_ratio": "1:1",
"resolution": "1K"
}
}).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.0-pro",
"input": {
"prompt": "Product photo of a matte black ceramic coffee cup on a travertine table, soft window light, 50mm",
"aspect_ratio": "1:1",
"resolution": "1K"
}
}),
})).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 | ≤ 32000 chars | |
aspect_ratio | string | 1:1 4:3 3:4 16:9 9:16 2:3 3:2 21:9 | 1:1 |
resolution | string | 1K 1.5K 2K | 1K |
image_urls | array | max 10 |
The same schema is available from GET /v1/models/seedream-5.0-pro.











