Seedream 5.0 Pro
ByteDance Doubao Seedream 5.0 Pro — flagship async image generation at 1K and 2K with text-to-image, multi-reference image-to-image, and reliable text rendering.
ByteDance's flagship Doubao Seedream image model on reAPI. 1K and 2K
resolution tiers, text-to-image, single and multi-reference
image-to-image (up to 10 reference images), and dependable text
rendering for posters, covers, and ad creative. Async-first: submit
returns a task_id; poll until ready. See current pricing on the
model page.
Quick example
curl https://reapi.ai/api/v1/images/generations \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "doubao-seedream-5-0-pro",
"prompt": "a scarlet macaw on a mossy branch, cinematic god rays, magazine cover titled WILD BEAUTY",
"aspect_ratio": "16:9",
"quality": "high"
}'import requests
resp = requests.post(
"https://reapi.ai/api/v1/images/generations",
headers={
"Authorization": "Bearer YOUR_API_KEY",
"Content-Type": "application/json",
},
json={
"model": "doubao-seedream-5-0-pro",
"prompt": "a scarlet macaw on a mossy branch, cinematic god rays",
"aspect_ratio": "16:9",
"quality": "high",
},
timeout=30,
)
print(resp.json())const r = await fetch("https://reapi.ai/api/v1/images/generations", {
method: "POST",
headers: {
Authorization: "Bearer YOUR_API_KEY",
"Content-Type": "application/json",
},
body: JSON.stringify({
model: "doubao-seedream-5-0-pro",
prompt: "a scarlet macaw on a mossy branch, cinematic god rays",
aspect_ratio: "16:9",
quality: "high",
}),
});
console.log(await r.json());package main
import (
"bytes"
"encoding/json"
"fmt"
"io"
"net/http"
)
func main() {
body, _ := json.Marshal(map[string]any{
"model": "doubao-seedream-5-0-pro",
"prompt": "a scarlet macaw on a mossy branch, cinematic god rays",
"aspect_ratio": "16:9",
"quality": "high",
})
req, _ := http.NewRequest("POST",
"https://reapi.ai/api/v1/images/generations", bytes.NewReader(body))
req.Header.Set("Authorization", "Bearer YOUR_API_KEY")
req.Header.Set("Content-Type", "application/json")
resp, _ := http.DefaultClient.Do(req)
defer resp.Body.Close()
out, _ := io.ReadAll(resp.Body)
fmt.Println(string(out))
}Submit response
{
"id": "task_018f5a3a1b6e7d9f8c2b4d6e8f0a2c4e",
"model": "doubao-seedream-5-0-pro",
"status": "processing",
"created_at": 1735000000
}Poll GET /api/v1/tasks/{id} (see the Tasks reference) until
status === "completed". The completed payload's output.image_urls holds the
generated image URL, valid for 72 hours. Mirror to your own storage if you
need it longer.
Authentication
Every call needs a Bearer token. Generate keys at reapi.ai/settings/apikeys.
Authorization: Bearer YOUR_API_KEYKeys carry the active workspace's billing scope — there is no separate project header.
Endpoint
POST /api/v1/images/generations
GET /api/v1/tasks/{id}Submission is async. The POST returns immediately with a task_id; the task
endpoint returns the same envelope until completion. Polling does not consume
credits.
Request body
model — required
string. Must be doubao-seedream-5-0-pro exactly.
prompt — string, required
Up to 4,000 characters. Free-form text describing the image. Detailed prompts that name the subject, composition, lighting, and style consistently produce better results. Seedream 5.0 Pro renders in-image text well — put headline or logo copy directly in the prompt.
aspect_ratio — string, required
Output aspect ratio. Accepted values:
1:14:33:416:99:162:33:2
quality — string, required
Output resolution tier:
basic— 1K outputhigh— 2K output
Seedream 5.0 Pro does not expose a 4K tier.
image_urls — array, optional
Reference images for image-to-image (1 image) or multi-reference fusion (up to
10 images). Public HTTP(S) URLs only — base64 / data: URIs are
rejected at the gateway.
Upload to your own R2 / S3 / OSS / equivalent first, then pass the public URL.
nsfw_checker — boolean, optional
Controls the primary channel's configurable NSFW checker. Omit the field to use
the default behavior. Because no fallback channel exposes an equivalent control,
an explicitly supplied value — either true or false — makes the request
single-channel and disables automatic provider fallback.
Seedream 5.0 Pro always returns exactly one image per call — there is no n
parameter. Send multiple requests when you need multiple images. Group-image,
web-search, and streaming options are not available on this model.
Pricing
Seedream 5.0 Pro charges the official per-output-image rate, banded by
quality — the high/2K band costs more than basic/1K. For reference-image
requests, the first input image is included and each additional input image
(2nd through 10th) adds the official ¥0.02 reference surcharge (converted
at the configured 6.8 RMB/USD rate). Images blocked by moderation are refunded
automatically.
credits = ceil((output_price_usd + additional_reference_price_usd) × 1000)where 1 credit = $0.001. The exact per-image credit cost surfaces on the
model page and reflects the current
rate. There is no per-token or subscription component.
Response
The poll envelope returns the image URL in output.image_urls:
{
"id": "task_019dfd44b7fd74168541552a3260a623",
"model": "doubao-seedream-5-0-pro",
"status": "completed",
"output": {
"image_urls": [
"https://cdn.reapi.ai/...jpg"
]
}
}URLs are valid for 72 hours. Mirror to your own storage for longer retention.
Errors
Failures use the standard envelope { error: { code, message, request_id } }.
See the errors catalog for the full code list. Common cases:
- Invalid parameters (bad
aspect_ratio/quality, oversizeimage_urls) →4xxinvalid-input. - A prompt or reference blocked by moderation → content-policy error; the task is refunded.
Tips
- Choose
aspect_ratioexplicitly instead of relying on ratio wording in the prompt. - Multi-reference fusion keeps a character consistent — pass the same face / wardrobe references across a series.
- Lean on Seedream 5.0 Pro's text rendering for posters, covers, and UI mockups; spell the exact words you want in quotes inside the prompt.
Related
- Seedream 5.0 Lite — the lean, lower-cost tier
- Tasks reference
- Errors catalog