Which Seedream model id to call, and how to A/B the versions
Updated 2026-10-02
ByteDance's Seedream line shows up in the catalog under several names, which makes it easy to call the wrong one or to compare a version you did not mean to. This page lists what is in the catalog, how the ids work, and a method for choosing between them without relying on someone else's opinion of quality. The broader family comparison is in the model-choice guide; here the focus is Seedream only.
What the catalog lists
At the time of writing the image catalog includes these Seedream entries, each with its own model page under videorouter.sh/image/...:
| Catalog name | What it is |
|---|---|
Seedream-4 | Seedream 4.0, the oldest in the list |
seedream-4.5 | Seedream 4.5 |
seedream-5.0-lite | The Lite tier of the 5.0 generation |
seedream-5-0-flash | The Flash tier of the 5.0 generation |
seedream-5.0-pro | The Pro tier of the 5.0 generation |
The names are the signal: the number is the generation, and Lite, Flash and Pro are tiers within the 5.0 generation. A tier name does not tell you the quality difference; treat Pro as the intended top tier and Flash and Lite as lighter options, then confirm with your own tests. Catalog contents change, so the live table below is the authority on what exists today:
| Model | Cheapest host | Priciest host | Cheapest is | Hosts |
|---|---|---|---|---|
| black-forest-labs/flux.2-dev | MachGen $0.0031 / image | Fal $0.012 / image | 74% lower | 2 |
| google/nano-banana-2 | MachGen $0.034 / image | Fal $0.08 / image | 57% lower | 2 |
| google/nano-banana-pro | MachGen $0.0672 / image | Fal $0.15 / image | 55% lower | 2 |
| black-forest-labs/flux.2-pro | DeepInfra $0.015 / image | Black Forest Labs $0.03 / image | 50% lower | 3 |
| black-forest-labs/FLUX.1-dev | DeepInfra $0.009 / image | SiliconFlow $0.014 / image | 36% lower | 2 |
| alibaba/wan-2.6 | Atlas Cloud $0.021 / image | DeepInfra $0.03 / image | 30% lower | 2 |
| black-forest-labs/flux.2-max | Black Forest Labs $0.07 / image | DeepInfra $0.1 / image | 30% lower | 3 |
| seedream-5.0-pro | Atlas Cloud $0.036 / image | WaveSpeedAI $0.045 / image | 20% lower | 3 |
| recraft-4.1 | WaveSpeedAI $0.04 / image | Pika $0.042 / image | 5% lower | 2 |
| bytedance/seedream-4.0 | WaveSpeedAI $0.027 / image | DeepInfra $0.04 / image | 33% lower | 4 |
| bytedance/seedream-5.0-lite | Atlas Cloud $0.0315 / image | WaveSpeedAI $0.035 / image | 10% lower | 4 |
| qwen-image-max | WaveSpeedAI $0.07 / image | DeepInfra $0.075 / image | 7% lower | 2 |
Per image, before VideoRouter's 2% platform fee. For tiered models each row compares the resolution tier with the widest host-to-host gap. Built 2026-10-02 from the live catalog.
How the ids work
The model page shows the exact string to put in the model field, and the pattern is the model name with an optional host. For example, the seedream-5.0-pro page lists seedream-5.0-pro/{host} and an atlascloud/seedream-5.0-pro form. Copy the string from the page rather than assembling it by hand, because host prefixes and spellings are not uniform across models. With no host, the request routes to the cheapest healthy host; a host suffix is a soft preference that can still fall back, and a hard pin needs provider.only with allow_fallbacks: false.
curl https://videorouter.sh/api/v1/images \
-H "Authorization: Bearer llmr_sk_live_..." \
-H "Content-Type: application/json" \
-d '{
"model": "seedream-5.0-pro",
"prompt": "a ceramic teapot on a linen tablecloth, soft window light",
"aspect_ratio": "1:1"
}'
Check the response's usage.cost field: billing is per image, and the cost shown includes the 2% platform fee.
Behaviour that differs by version and host
- Resolution handling. Some image hosts do not honour
resolutionoraspect_ratioin the same way, and an unsupported value is ignored rather than rejected. Inspect output dimensions. - Editing. The Seedream 5.0 Pro page shows text in, image out and no edit information, so do not assume
input_referencesworks; check each model page and test one call. - Response time. Hosts can differ in how long a single image takes. Set your client timeout generously and measure rather than assuming.
Choosing a version
- Need a cheap bulk tier? Test the lighter 5.0 tiers (Lite, Flash) first for volume work such as thumbnails, concepts and variants.
- Need the best your budget allows for a hero asset? Test 5.0 Pro against the lighter tiers on your own prompts.
- Matching an existing look? Stay on the version that produced it. A newer version is not a drop-in replacement for an established style, and a version change may shift composition and colour.
- Human review in the loop? Pick the lowest tier your reviewers accept, and keep the higher tier for rework.
None of this ranks the models. The catalog does not give you a quality ordering you can quote, so the test below is the real answer.
An A/B harness
import base64, csv, json, os, requests
API = "https://videorouter.sh/api/v1"
H = {"Authorization": f"Bearer {os.environ['VIDEOROUTER_KEY']}"}
MODELS = ["seedream-4.5", "seedream-5.0-lite", "seedream-5.0-pro"] # copy ids from model pages
PROMPTS = json.load(open("prompts.json")) # list of {"id", "prompt"}
os.makedirs("out", exist_ok=True)
with open("seedream_ab.csv", "w", newline="") as f:
w = csv.writer(f); w.writerow(["prompt_id", "model", "status", "cost", "file"])
for p in PROMPTS:
for m in MODELS:
r = requests.post(f"{API}/images", headers=H, timeout=180,
json={"model": m, "prompt": p["prompt"], "aspect_ratio": "1:1"})
if not r.ok:
w.writerow([p["id"], m, r.status_code, "", ""]); continue
j = r.json()
item = j["data"][0]
name = f"out/{p['id']}_{m.replace('/', '_')}.png"
if "b64_json" in item:
open(name, "wb").write(base64.b64decode(item["b64_json"]))
else:
open(name, "wb").write(requests.get(item["url"]).content)
w.writerow([p["id"], m, "ok", j.get("usage", {}).get("cost", ""), name])
Use the same prompts, same aspect ratio and, for a model-only comparison, the same hard-pinned host. Score blind on prompt adherence, fine detail, text legibility if relevant, and consistency across two or three samples. Divide by the recorded cost to see which tier offers the better trade for your use.
Migrating between versions safely
If you already ship images from one Seedream version, do not flip the model string in production. Keep the old id as the default, add the new id behind a flag, and route a small share of requests to it while you compare outputs on real traffic. Store the model id with every generated asset so that a user complaint can be traced to a specific version. When you retire the old id, regenerate nothing automatically: cached assets stay valid, and only new requests change. This also protects you from a catalog change: if an id disappears from the catalog, the request fails with an error rather than silently producing a different style, and the stored model id tells you which prompts to re-run.
What to record about each version
For every Seedream id you adopt, write down the exact model string, the host or routing choice, supported parameters you verified, whether editing worked, and the date you tested. Re-test when the catalog changes. See the pricing page for live costs per tier, the model pages for exact ids, and sign up to run the harness.
Frequently asked questions
Which Seedream versions are in the catalog?
The image catalog lists Seedream 4.0, 4.5 and the 5.0 generation in Lite, Flash and Pro tiers. The live table and model pages show what is available today.
How do I choose between Seedream 5.0 Lite, Flash and Pro?
Treat Pro as the top tier and the others as lighter options, then confirm on your own prompts. Run a blind comparison and divide the recorded per-image cost by your acceptance rate.
What model string do I send for Seedream?
Copy it from the model page, for example seedream-5.0-pro or a host-qualified form shown there. Without a host the router picks the cheapest healthy one.
Does every Seedream model support image editing?
Do not assume it. Check each model page's inputs and test one call with input_references before building an editing workflow on it.
Keep reading
- Choosing an Image Generation API — Price, Quality and Control
- Text-to-Image vs Image-to-Image API: Modes, Fields, Pitfalls
- GPT Image vs FLUX vs Seedream vs Nano Banana: How to Choose
- Image Generation API Cost Control: Billing, Drafts, Caching
VideoRouter puts it next to dozens of other video and image models behind one API key, so you can compare providers, prices and fail over automatically. Compare providers on VideoRouter →