Seedream API

How to get a Seedream API key, or use one key for every version: Seedream 4, 4.5 and 5.0 Flash, Lite and Pro, with the price per image and the settings each takes.

Checked 2026-10-19

·All guides·Models

Seedream API key: two ways to get one

A Seedream API key comes either from ByteDance's own cloud, BytePlus ModelArk, or from a provider that resells the models. Both bill per image. The difference is how many models the key reaches and how you pay.

From BytePlus ModelArk

  1. Create a BytePlus account and open the ModelArk console.
  2. Switch to your project in the lower-left corner, click API Keys in the left pane, and create a key.
  3. Activate the Seedream versions you want on the Model activation page.
  4. Set the key as ARK_API_KEY and call ModelArk's base URL with the dated model id, such as seedream-4-5-251128.
shell
export ARK_API_KEY="your_modelark_key"
# base URL for ModelArk's own SDK and API:
# https://ark.ap-southeast.bytepluses.com/api/v3

Steps from BytePlus's ModelArk quick start, read 2026-10-19; its per-image prices are on the ModelArk pricing page.

One key for every Seedream version

  1. Sign in to the console and add credit, from $10. There is no subscription.
  2. Create a key. It calls all 5 Seedream versions below, their edit models, and every other model on the list.
  3. Point the OpenAI SDK at our base URL and use the short model id, seedream-4.5 or seedream-5.0-pro.
shell
export OPENAI_BASE_URL="https://api.uplinkswitch.com/v1"
export OPENAI_API_KEY="sk-uplink-live-..."

Every Seedream version, side by side

ModelPrice per imageSizesImages per requestEdit model
Seedream 5.0 Proseedream-5.0-pro$0.0938resolution 1K, 2K; 8 aspect ratios1seedream-5.0-pro-edit
Seedream 5.0 Flashseedream-5.0-flash$0.06resolution 1K, 1.5K, 2K; 8 aspect ratios1seedream-5.0-flash-edit
Seedream 5.0 Liteseedream-5.0-lite$0.0313size 2K, 3K; 8 aspect ratios; or WIDTHxHEIGHT15seedream-5.0-lite-edit
Seedream 4.5seedream-4.5$0.0313size 2K, 4K; 8 aspect ratios; or WIDTHxHEIGHT15seedream-4.5-edit
Seedream 4seedream-4$0.075resolution 1K, 2K, 4K; 8 aspect ratios15seedream-4-edit

USD per image, live from GET /v1/catalog/media. Editing costs the same as generating.

Generation and editing share a price on every version. Seedream 4, 4.5 and 5.0 Lite also take reference images on the base id, so one id can generate and edit. Flash and Pro edit through their -edit ids.

Which Seedream to use

  • Seedream 4.5 for most work at $0.0313 an image: sizes up to 4K, up to 15 images in one request, and reference images on the same id. ByteDance says 4.5 improves dense text and small type (Seedream 4.5 page).
  • Seedream 5.0 Lite for the newer model at the same $0.0313, with 2K and 3K sizes and sets of up to 15.
  • Seedream 5.0 Flash when you want a set resolution (1K, 1.5K, 2K) and a choice of JPEG or PNG output, at $0.06.
  • Seedream 5.0 Pro at $0.0938: 1K or 2K, JPEG or PNG, edits through seedream-5.0-pro-edit with several source images.

What Seedream images cost at volume

Model100 images1,000 images10,000 images
Seedream 5.0 Pro$9.38$93.80$938.00
Seedream 5.0 Flash$6.00$60.00$600.00
Seedream 5.0 Lite$3.13$31.30$313.00
Seedream 4.5$3.13$31.30$313.00
Seedream 4$7.50$75.00$750.00

USD, our live price per image times the count. A request for several images is charged per image requested.

Generate a Seedream image

Seedream answers POST /v1/images/generations the way OpenAI does, so the OpenAI SDK works as it is. Seedream's own settings, such as size, go in input through extra_body. The call waits for the image, usually 10 to 40 seconds.

seedream.py
from openai import OpenAI

client = OpenAI(base_url="https://api.uplinkswitch.com/v1", api_key="sk-uplink-live-...")
result = client.images.generate(
    model="seedream-4.5",
    prompt="A night market street in the rain, neon signs in English and Korean",
    extra_body={"input": {"size": "16:9"}},
)
print(result.data[0].url)

Make a set of up to 15 images

Seedream 4, 4.5 and 5.0 Lite take n, up to 15 images from one prompt: a storyboard, a product in several scenes, or a series that keeps one character. The generations endpoint returns at once with the price set; poll until it succeeds.

shell
curl https://api.uplinkswitch.com/v1/generations \
  -H "Authorization: Bearer $UPLINK_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "seedream-4.5",
    "input": {
      "prompt": "Four seasons of the same lakeside cabin, one image per season",
      "size": "4K",
      "n": 4
    }
  }'

# then poll until "status" is "succeeded"; each image is one entry in "outputs":
curl https://api.uplinkswitch.com/v1/generations/gen_... -H "Authorization: Bearer $UPLINK_API_KEY"

Four 4K images on Seedream 4.5 cost $0.1252: the price per image times n.

Edit with reference images

Send source images in image_urls. With Seedream 4, 4.5 and 5.0 Lite that works on the base id; Flash and Pro use their -edit ids.

shell
curl https://api.uplinkswitch.com/v1/generations \
  -H "Authorization: Bearer $UPLINK_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "seedream-5.0-pro-edit",
    "input": {
      "prompt": "Put the sneaker from the first image on the street in the second",
      "image_urls": [
        "https://example.com/sneaker.png",
        "https://example.com/street.jpg"
      ],
      "resolution": "2K"
    }
  }'

Seedream next to other image models

The same key calls every image model below. Seedream is priced per image at any size; the others are shown at 2K, the size most product and social work uses.

ModelSettingPer imageDeveloper1,000 images
Kling O3 Image2K$0.0219—$21.90
Seedream 4.5any size to 4K$0.0313—$31.30
Seedream 5.0 Lite2K or 3K$0.0313—$31.30
Nano Banana 2.12K$0.0375$0.0504$37.50
Qwen Image 32K$0.045—$45.00
GPT Image 22K, medium$0.056—$56.00
FLUX.2 Pro2K$0.0563$0.075$56.30
Nano Banana 22K$0.0606$0.101$60.60
Nano Banana Pro2K$0.0804$0.134$80.40

USD, live from GET /v1/catalog/media, sorted by our price per image. Developer: the developer’s own price where it is on record.

Timing and errors

  • POST /v1/images/generations waits for the image, usually 10 to 40 seconds. Past about 100 seconds it answers 504 with a generation id; poll GET /v1/generations/{id} for the result.
  • POST /v1/generations answers at once with the price set; a set of images comes back as one entry per image in outputs, and charge.units counts them.
  • A setting that changes the price and has no default must be sent: Seedream 5.0 Pro needs size and resolution. An unknown setting is refused before anything runs.
  • A generation that fails is refunded in full, and one still unfinished after 6 hours is marked failed and refunded.
  • Add response_format: "b64_json" on the images endpoint to get the bytes in the response instead of a URL.

Keep the key safe

Anyone holding the key spends your credit. Keep it in an environment variable or a secrets manager, out of git and out of code that runs in a browser: call the image API from your server and hand the finished URL to the page. A key can carry a monthly spend limit and a list of the models it may call, set in the console. If it leaks, revoke it there and create a new one.

Billing and files

The price is set and charged when the request is accepted. A generation that fails is refunded in full, automatically. Images are served from api.uplinkswitch.com for 30 days. Each version's settings are on its model page, and the text-to-image list puts Seedream next to Nano Banana, GPT Image and FLUX. The media guide covers both endpoints.

Questions

Where do I find my Seedream API key?
At ByteDance, keys live in the BytePlus ModelArk console: switch to your project, open API Keys in the left pane, and create one. Here, keys are created in the console after you add credit, and one key calls every Seedream version.
Is the Seedream API free?
No. Every version bills per image. Here the lowest price is $0.0313 an image (Seedream 5.0 Lite and Seedream 4.5), from prepaid credit with no subscription, and a failed image is refunded.
How much does the Seedream API cost?
Seedream 5.0 Pro $0.0938, Seedream 5.0 Flash $0.06, Seedream 5.0 Lite $0.0313, Seedream 4.5 $0.0313, Seedream 4 $0.075 per image here, live from the catalog.
What is the difference between Seedream 4.5 and Seedream 5.0?
On this key, Seedream 4.5 takes reference images and up to 15 images per request, with sizes up to 4K. The 5.0 line splits three ways: Lite works like 4.5 (sizes to 3K, up to 15 images), while Flash and Pro make one image per request at a set resolution and edit through their -edit ids.
Is Seedream 4.5 free?
No. Seedream 4.5 is $0.0313 an image here, from prepaid credit with no subscription. You pay only for images you receive: a failed generation is refunded.
Which Seedream settings are required?
Only the prompt on most versions. Seedream 5.0 Pro also needs size and resolution; a request without them is refused before anything runs.
What is the difference between Seedream 4 and Seedream 4.5?
Here Seedream 4 is $0.075 an image and takes a resolution of 1K, 2K, 4K; Seedream 4.5 is $0.0313 and takes a size of 2K, 4K, an aspect ratio or an exact width and height. Both take reference images and sets of up to 15.
Can I call Seedream with the OpenAI SDK?
Yes. Point the SDK at our base URL with an UplinkSwitch key and call images.generate with a Seedream model id. Seedream-only settings such as size, n and image_urls go in extra_body under input.
How long are Seedream images kept?
Thirty days, at a URL on api.uplinkswitch.com. Download what you want to keep, or ask for b64_json to get the bytes in the response.
Does the same key work for Seedance and other image models?
Yes. It calls every image, video, speech and 3D model in the media catalog, and every chat model.