Seedream 5.5 API

Seedream image model with native transparent output, precise multi-round editing, and decomposition into up to 99 editable layers with text recognition.

ByteDance Image Generation Released Nov 9, 2026 Malaysia Proprietary Endpoint New

About Seedream 5.5

Seedream image model with native transparent output, precise multi-round editing, and decomposition into up to 99 editable layers with text recognition.

Also known as ByteDance Seedream 5.5

image generation image editing layer decomposition interactive editing multi reference text rendering multilingual text transparent background

Seedream 5.5 specs

Model ID
seedream-5-5
Author
ByteDance
Category
Image Generation
Released
Nov 9, 2026
Input
TextImage
Output
Image
Region
Malaysia
Endpoints
POST/v1/images/generations
Alternate model IDs
bytedance/dola-seedream-5-5-261028bytedance/seedream-5-5byteplus/dola-seedream-5-5-261028byteplus/seedream-5-5dola-seedream-5-5-261028seedream-5-5-261028seedream-5.5

Seedream 5.5 API pricing

Live pay-as-you-go rates from the EmpirioLabs catalog. You are billed only for what you use, with no monthly minimum.

Type
Spec
Rate
Output up to 2.61MP
per image
$0.0332
Output above 2.61MP
per image
$0.0581
Input image
per input image
$0.0133
Compare on the full pricing page

How to call the Seedream 5.5 API

Seedream 5.5 runs through POST /v1/images/generations. The request returns a job_id right away; poll GET /v1/jobs/{job_id} until the job completes and read the output URLs from the result. Or add "sync": true to skip polling: the request stays open and returns the finished OpenAI-style image response directly, so OpenAI SDKs work as-is. Get an API key from the EmpirioLabs dashboard.

cURL: submit the job
curl https://api.empiriolabs.ai/v1/images/generations \
  -H "Authorization: Bearer $EMPIRIOLABS_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "seedream-5-5",
    "prompt": "Describe what you want Seedream 5.5 to generate."
  }'
cURL: poll for the result
curl https://api.empiriolabs.ai/v1/jobs/JOB_ID \
  -H "Authorization: Bearer $EMPIRIOLABS_API_KEY"
Python
import requests

response = requests.post(
    "https://api.empiriolabs.ai/v1/images/generations",
    headers={"Authorization": "Bearer YOUR_EMPIRIOLABS_API_KEY"},
    json={
        "model": "seedream-5-5",
        "prompt": "Describe what you want Seedream 5.5 to generate.",
    },
)
job = response.json()

# Generation runs as an async job. Poll until it completes.
import time
while True:
    status = requests.get(
        f"https://api.empiriolabs.ai/v1/jobs/{job['job_id']}",
        headers={"Authorization": "Bearer YOUR_EMPIRIOLABS_API_KEY"},
    ).json()
    if status.get("status") in ("completed", "failed"):
        print(status)
        break
    time.sleep(5)
Full Seedream 5.5 API reference

Seedream 5.5 API parameters

Request parameters supported by the Seedream 5.5 API on EmpirioLabs. Defaults apply when a field is omitted.

ParameterTypeDefaultRange / valuesDescription
promptstring--Text prompt. With image attached, becomes an editing or fusion instruction.
imagearray--Reference image URL, data URI, or uploaded image object. Seedream 5.5 supports up to 10 reference images, and exactly one for layer decomposition.
imagesarray--Alias for image. Use this for multiple uploaded image references.
aspect_ratioenumautoauto, 1:1, 16:9, 9:16, 4:3, 3:4, 3:2, 2:3, 21:9Auto lets the model choose dimensions within the selected resolution tier. Explicit ratios use the preset size for that tier.
layer_decompositionbooleanfalse-Split one input image into a base image plus up to 99 transparent PNG layers, each returned with its stacking order, its position in the base image, a name, and a...
max_imagesnumber302 to 100Layer decomposition only. Maximum images returned, the base image included, from 2 to 100; the model decides the actual count. You are billed only for images returned.
text_recognitionbooleanfalse-Layer decomposition only. Also return the text, line positions, and styling (similar font, color, bold, italic, underline, strikethrough, shadow, and translucency)...
qualityenum2K1K, 1.5K, 2KOutput resolution tier. 1.5K has the same price as 1K and provides higher resolution. Defaults to 2K. In layer decomposition, leaving this unset matches the input...
sizestring--Resolution tier or explicit pixel size such as 1K, 1.5K, 2K, or 2048x1152. Explicit pixels override aspect_ratio and quality. Layer decomposition accepts tiers or...
use_custom_sizebooleanfalse-Use custom_width and custom_height instead of preset aspect_ratio and quality. Applies when aspect_ratio is auto.
custom_widthnumber-15 to 8600Custom output width in pixels. Total area must be in [0.92MP, 4.62MP] and aspect must be in [1:16, 16:1].
custom_heightnumber-15 to 8600Custom output height in pixels. Total area must be in [0.92MP, 4.62MP] and aspect must be in [1:16, 16:1].
watermarkbooleanfalse-When enabled, the generated image includes an AI-generated provenance watermark. EmpirioLabs does not add a separate watermark.
output_formatenumpngjpeg, pngOutput image file format. In layer decomposition this sets the base image format, and layers are always returned as PNG.
2 more parameters in the docs

Good to know

Modes

  • Text to image
  • Single or multi-image to image
  • Interactive editing with coordinate or sketch markers
  • Layer decomposition into a base image plus up to 99 layers, with optional text recognition

Interactive editing

Mark the region to change directly on the input image with a sketch, circle, or arrow, then describe it in the prompt. For exact placement, use coordinate tags on a 0 to 1000 normalized grid:

Place the subject from image 1 <bbox>179 283 796 986</bbox> at the position in image 2 <bbox>118 331 933 871</bbox>.

Layer decomposition

Set layer_decomposition to true with exactly one input image to split it into a base image plus up to 99 transparent PNG layers. max_images sets the most images returned, the base image included, from 2 to 100, and defaults to 30; a higher value allows a finer decomposition. Every returned image carries its stacking order as z_index, and each layer also carries its position in the base image as bounding_box.absolute and bounding_box.normalized, plus a name and a description. Scale each layer to its box when you reassemble the image. Leave the prompt empty to let the model choose the elements, or name the elements or coordinate regions to separate. Resolution accepts 1K, 1.5K, or 2K, and matches the input image when unset.

Text recognition

With text_recognition on, each regular text layer also returns text_recognition: its full text, the position of each line, and the styling of each run of text (a similar font, color, bold, italic, underline, strikethrough, shadow, and translucency). Artistic text and handwriting are not recognized.

Transparency

background defaults to auto, which lets the model decide from the prompt and output format. Transparent returns an image with an alpha channel, from text alone or from up to 10 reference images that need no alpha channel, and requires PNG output. Opaque returns an image without one. Each returned image reports its actual transparency as background. Layer decomposition does not take background, and its layers are always transparent PNG.

Limits

  • One output image per request, except layer decomposition, which returns the base image plus its layers
  • Up to 10 reference images, and exactly one for layer decomposition
  • 1K, 1.5K, and 2K resolution tiers, or an exact size from 0.92MP to 4.62MP
  • PNG or JPEG output, and layers are always PNG
  • No grouped output, streaming, or web search

Billing

Each returned image bills at its own size: up to 2.61MP, which covers 1K and 1.5K, or above 2.61MP, which covers 2K. Every input image bills, the one for layer decomposition included. Layer decomposition bills every returned image, the base image and each layer, at its own size.

Content safety

Generated images pass an automated content-safety check. An image flagged as explicit is not returned. Because the image is generated before the check runs, a flagged generation is still billed.

Seedream 5.5 API: common questions

How much does the Seedream 5.5 API cost?

On EmpirioLabs, Seedream 5.5 is billed pay as you go: Output up to 2.61MP $0.0332 per image; Output above 2.61MP $0.0581 per image; Input image $0.0133 per input image. The live rate card on this page always matches what the API charges.

Which endpoint does Seedream 5.5 use?

Seedream 5.5 is served through POST /v1/images/generations on api.empiriolabs.ai with standard bearer-token authentication.

Can I try Seedream 5.5 in the browser before integrating?

Yes. The EmpirioLabs playground runs Seedream 5.5 in the browser with the same parameters the API exposes, so you can test prompts before writing code.

How do I get a Seedream 5.5 API key?

Create an EmpirioLabs account, then generate a key under API Keys in the dashboard. Billing is pay-as-you-go credits, so you only pay for the requests you make.

Compare Seedream 5.5 with other models

All model comparisons

Ready to use better endpoints?

Check out our pricing or reach out if you want your own model deployed on our stack.