Seedream 5.0 Layers API
ByteDance's Seedream 5.0 Pro layer decomposition — a base image plus up to 16 transparent layers, each with its name, z-order, and bounding box.
Seedream 5.0 Layers is an image layer decomposition model from ByteDance, available on OttoPort's OpenAI-compatible API as the model ID seedream-5.0-layers at $0.037 / layer as of 2026-10-14.
Provider
ByteDance
Price
$0.037 / layer
Model ID
seedream-5.0-layers
Type
image layer decomposition model
Create with Seedream 5.0 Layers
layersSeedream 5.0 Layers picks the layer count itself — a base image plus up to 16 layers, each billed separately.

Seedream 5.0 Layers API pricing
What OttoPort bills for Seedream 5.0 Layers, and what that works out to per unit. Rates are read from the same catalog the gateway meters against, and were current on 2026-10-14.
| Per layer | $0.037 | each layer of the returned stack |
|---|---|---|
| A 4-layer split | $0.148 | subject, text, decoration, background |
| A 12-layer poster | $0.444 | a dense design, base image included |
| Up to 2048px longest side | $0.074 / layer | 2× the base rate |
No subscription and no minimum — OttoPort bills prepaid credits against usage. See the full rate card.
Call Seedream 5.0 Layers in three lines
Send "model": "seedream-5.0-layers" to POST https://ottoport.ai/api/v1/images/generations with an OttoPort key. No ByteDance account, no waitlist, no separate SDK.
curl https://ottoport.ai/api/v1/images/generations \
-H "Authorization: Bearer $OTTOPORT_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "seedream-5.0-layers",
"image_url": "https://example.com/poster.png"
}'import requests
resp = requests.post(
"https://ottoport.ai/api/v1/images/generations",
headers={"Authorization": "Bearer " + API_KEY},
json={"model": "seedream-5.0-layers", "image_url": "https://example.com/poster.png"},
).json()
# One entry per RGBA layer, bottom of the stack first.
for item in resp["data"]:
print(item["layer"]["index"], item["layer"].get("name"), item["url"])const res = await fetch("https://ottoport.ai/api/v1/images/generations", {
method: "POST",
headers: {
Authorization: `Bearer ${API_KEY}`,
"Content-Type": "application/json",
},
body: JSON.stringify({
model: "seedream-5.0-layers",
image_url: "https://example.com/poster.png"
}),
});
// One entry per RGBA layer, bottom of the stack first.
const { data } = await res.json();
for (const item of data) console.log(item.layer.index, item.layer.name, item.url);Before you start
- 1. Create a key at /api-keys.
- 2. Top up credits — the smallest pack is $25.
- 3. Paste the request. It returns on the same request.
Full reference at /docs, or drive it from an agent with the MCP server and CLI.
Request parameters
The body POST https://ottoport.ai/api/v1/images/generations accepts for Seedream 5.0 Layers.
| Field | Type | Required | Notes |
|---|---|---|---|
| model | string | Yes | Always seedream-5.0-layers for Seedream 5.0 Layers. |
| image_url | string | Yes | The image to split. One per request; every layer comes back as its own RGBA PNG in `data`, bottom of the stack first. |
| prompt | string | No | A caption of the image, to steer how it is separated. Not a generation prompt. |
| num_layers | integer | No | Not accepted: Seedream 5.0 Layers decides the layer count itself — a base image plus up to 16 layers. |
| resolution | string | No | One of: 1k, 2k. Tiers above this model's base rate bill at a multiplier. |
| seed | integer | No | Reproducibility, where the model honours it. |
Seedream 5.0 Layers direct vs through OttoPort
Seedream 5.0 Layers is the same model either way — what changes is how many accounts, keys, and integrations you carry to reach it.
| ByteDance direct | Via OttoPort | |
|---|---|---|
| Accounts and keys | A ByteDance account, plus one more for every other model you add | One OttoPort account and one key for the whole catalog |
| Request shape | ByteDance's own SDK and response format | OpenAI-compatible — point baseURL at OttoPort and change the model string |
| Switching models | A new integration per provider | Replace seedream-5.0-layers with any other model ID in the catalog |
| Billing | A separate invoice and contract per provider | Prepaid credits, no subscription, one usage ledger |
| Provider outages | Your call fails | Configured backup routes are tried in order on provider failure |
Built for posters, ads and UI mockups.
Every layer carries a name, a z-order and a bounding box.
The background is filled in behind whatever was lifted off it.
Seedream 5.0 Layers API questions
Cost, keys, and model IDs for Seedream 5.0 Layers on OttoPort.
How much does the Seedream 5.0 Layers API cost?
On OttoPort, Seedream 5.0 Layers costs $0.037 / layer as of 2026-10-14. For scale, a 4-layer split: $0.148. Billing is prepaid usage with no subscription and no minimum, and the current rate is always published at ottoport.ai/pricing.
How do I get a Seedream 5.0 Layers API key?
You do not need a ByteDance key. Create an OttoPort account, generate a key at ottoport.ai/api-keys, and send it as "Authorization: Bearer <key>" to POST https://ottoport.ai/api/v1/images/generations with "model": "seedream-5.0-layers". The same key reaches every other model in the catalog.
What is the model ID for Seedream 5.0 Layers?
The OttoPort model ID for Seedream 5.0 Layers is seedream-5.0-layers. Pass it as the model field on POST https://ottoport.ai/api/v1/images/generations, or list it programmatically from GET https://ottoport.ai/api/v1/models.
What does Seedream 5.0 Layers return?
One entry in data per RGBA layer, bottom of the stack first, each with a url and a layer object carrying its index, name, z_index and bounding_box. Send the source image as image_url on POST https://ottoport.ai/api/v1/images/generations; Seedream 5.0 Layers decides how many layers the image needs, up to 16 plus the base. You are billed per layer returned, $0.037 / layer.
Do I need a ByteDance account to use Seedream 5.0 Layers?
No. OttoPort connects to ByteDance on your behalf, so one OttoPort account covers Seedream 5.0 Layers and every other model in the catalog — no per-provider contracts, keys, or invoices.
Other image generation models on the same API
Same endpoint, same key — swapping model is a one-string change from seedream-5.0-layers.
GPT Image 2.5 Flare API
OpenAI
$0.026 / image
GPT Image 2.5 API
OpenAI
$0.026 / image
GPT Image 2 API
OpenAI
$0.07 / image
Nano Banana 2 API
$0.088 / image
Nano Banana 2 Lite API
$0.044 / image
GPT Image 1.5 API
OpenAI
$0.044 / image
Browse the full catalog — every model with its provider and per-unit price.