Images · Text to image · Image to image

Seedream 5 Pro API

ByteDance Seedream 5 Pro. Text-to-image and image editing.

Price
From $0.0675/image
Typical time
~25 s
Model id
seedream_5_pro

Seedream 5 Pro runs on one varg API key and one credit balance, the same as every other model here. You pay the provider's price, with no markup.

POST /v2/tools/image/call
curl -X POST https://api.varg.ai/v2/tools/image/call \
  -H "Authorization: Bearer $VARG_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
  "model": "seedream_5_pro",
  "prompt": "A ceramic teapot shaped like a sleeping fox, studio product shot, soft light"
}'

Seedream 5 Pro pricing

From $0.0675/image. Prices are in US dollars and are the provider's own, with no markup. Seedream 5 Pro has 3 routes: "model": "seedream_5_pro" picks one automatically, or pass a route key as "model" to pin it. For the exact price of a request, send the same body to POST https://api.varg.ai/v2/estimate.

  • byteplus $0.09/image
    byteplus:dola-seedream-5-0-pro-260628

    Text to image, Image to image ByteDance Seedream 5.0 Pro on BytePlus ModelArk (official API) — text-to-image and editing with up to 10 reference images, synchronous; 4.5¢ up to 2.61 MP, 9¢ at 2K.

    Per image
    $0.09
    Most one request can cost
    $0.12
    Typical time
    ~30 s
  • fal from $0.0675/image
    fal:bytedance/seedream/v5/pro/text-to-image

    Text to image ByteDance Seedream 5.0 Pro text-to-image — flagship model with deep-thinking prompt understanding, native text in 14 languages, precise control over dense layouts and structured designs.

    Image size square_hd
    $0.0675/image
    Image size square
    $0.0675/image
    Image size portrait_4_3
    $0.0675/image
    Image size portrait_16_9
    $0.0675/image
    Image size landscape_4_3
    $0.0675/image
    Image size landscape_16_9
    $0.0675/image
    Image size auto_1K
    $0.0675/image
    Other
    $0.135/image
    Most one request can cost
    $0.81
    Typical time
    ~25 s
  • fal from $0.0675/image
    fal:bytedance/seedream/v5/pro/edit

    Image to image ByteDance Seedream 5.0 Pro image editing — grounded, region-precise edits with layer separation, sketch completion, and up to 10 reference images.

    Image size square_hd
    $0.0675/image
    Image size square
    $0.0675/image
    Image size portrait_4_3
    $0.0675/image
    Image size portrait_16_9
    $0.0675/image
    Image size landscape_4_3
    $0.0675/image
    Image size landscape_16_9
    $0.0675/image
    Image size auto_1K
    $0.0675/image
    Other
    $0.135/image
    Most one request can cost
    $0.86
    Typical time
    ~25 s

Seedream 5 Pro inputs

The JSON body of the request. Media inputs are URLs: upload a local file with POST /v2/files and pass the URL it returns. Full JSON Schema, no key needed: api.varg.ai/v2/tools/image?model=seedream_5_pro

Seedream 5 Pro request fields
FieldWhat it does
model string requiredseedream_5_pro picks a route automatically. To pin one, pass a route key from Pricing above.
prompt string —
files array of { url } —
aspect_ratio string Allowed e.g. 16:9 | 9:16 | 1:1 | 4:3 | 3:4 | 21:9 | auto

Provider options

Optional, under provider_options.<provider>. Only the options of the provider that runs the job apply; pin a route to choose it.

provider_options.byteplus

Seedream 5 Pro options for byteplus
FieldWhat it does
prompt string What to generate, or how to change the input image(s).
size string 1K, 1.5K, 2K (the model picks the shape) or WIDTHxHEIGHT. Up to 2.61 MP is the lower price tier.
image string —
watermark boolean —

provider_options.fal

Seedream 5 Pro options for fal
FieldWhat it does
prompt string The text prompt used to generate the image.
image_urls array of URL strings —
sync_mode boolean If True, the media is returned as a data URI and the output data won't be available in the request history.
num_images integer Number of separate model generations to run with the prompt. Allowed 1–6
output_format string Allowed jpeg | png
enable_safety_checker boolean If set to true, the safety checker will be enabled.

Call the Seedream 5 Pro API

POST https://api.varg.ai/v2/tools/image/call with Authorization: Bearer $VARG_API_KEY. It answers 202 with a job right away.

1. Send the request

cURL
curl -X POST https://api.varg.ai/v2/tools/image/call \
  -H "Authorization: Bearer $VARG_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
  "model": "seedream_5_pro",
  "prompt": "A ceramic teapot shaped like a sleeping fox, studio product shot, soft light"
}'
JavaScript
JavaScript
const headers = {
  Authorization: `Bearer ${process.env.VARG_API_KEY}`,
  'Content-Type': 'application/json',
}

const res = await fetch('https://api.varg.ai/v2/tools/image/call', {
  method: 'POST',
  headers,
  body: JSON.stringify({
    "model": "seedream_5_pro",
    "prompt": "A ceramic teapot shaped like a sleeping fox, studio product shot, soft light"
  }),
})
const job = await res.json() // { id: "job_…", status: "queued" }
Python
Python
import os
import requests

headers = {"Authorization": f"Bearer {os.environ['VARG_API_KEY']}"}

job = requests.post(
    "https://api.varg.ai/v2/tools/image/call",
    headers=headers,
    json={
      "model": "seedream_5_pro",
      "prompt": "A ceramic teapot shaped like a sleeping fox, studio product shot, soft light"
    },
).json()  # {"id": "job_…", "status": "queued"}

2. Get the result

Poll the job until its status is completed, failed or cancelled; Seedream 5 Pro typically takes about 25 s. The result is at output.outputs[0].url.

GET /v2/jobs/{id}
curl https://api.varg.ai/v2/jobs/$JOB_ID \
  -H "Authorization: Bearer $VARG_API_KEY"

# Poll until "status" is completed, failed or cancelled.
# The result is in output.outputs[0].url
JavaScript
JavaScript
let current = job
while (!['completed', 'failed', 'cancelled'].includes(current.status)) {
  await new Promise((resolve) => setTimeout(resolve, 3000))
  current = await (await fetch(`https://api.varg.ai/v2/jobs/${current.id}`, { headers })).json()
}
console.log(current.output?.outputs?.[0]?.url)
Python
Python
import time

while job["status"] not in ("completed", "failed", "cancelled"):
    time.sleep(3)
    job = requests.get(f"https://api.varg.ai/v2/jobs/{job['id']}", headers=headers).json()

print(job["output"]["outputs"][0]["url"])
Or take a webhook instead of polling

Add options.webhook_url and varg POSTs the finished job to it.

request body
{
  "model": "seedream_5_pro",
  "prompt": "A ceramic teapot shaped like a sleeping fox, studio product shot, soft light",
  "options": {
    "webhook_url": "https://your-app.com/varg-webhook"
  }
}

From Claude, ChatGPT or Cursor (MCP)

The varg MCP server, https://mcp.varg.ai/mcp, runs Seedream 5 Pro with call_tool. Sign in with varg, no API key to paste. How to connect it

call_tool
{
  "tool": "image",
  "input": {
    "model": "seedream_5_pro",
    "prompt": "A ceramic teapot shaped like a sleeping fox, studio product shot, soft light"
  },
  "wait": true
}

Seedream 5 Pro API: questions

How much does Seedream 5 Pro cost on varg?
Seedream 5 Pro costs from $0.0675/image on varg, on its cheapest route. The total depends on the request. varg charges the provider's price with no markup, from one credit balance. For the exact price of a request before you run it, send the same body to POST https://api.varg.ai/v2/estimate.
How do I call the Seedream 5 Pro API?
Send POST https://api.varg.ai/v2/tools/image/call with the header "Authorization: Bearer $VARG_API_KEY" and a JSON body that includes "model": "seedream_5_pro". The call answers 202 with a job right away. Poll GET https://api.varg.ai/v2/jobs/{id} until "status" is "completed", then read output.outputs[0].url, or pass options.webhook_url to be called back.
Can I use Seedream 5 Pro from Claude, ChatGPT or Cursor?
Yes. Add the varg MCP server (https://mcp.varg.ai/mcp) to Claude, ChatGPT, Cursor or any other MCP client and sign in with varg, with no API key to paste. The agent runs Seedream 5 Pro with call_tool, passing tool "image" and "model": "seedream_5_pro".
How long does a Seedream 5 Pro request take?
Typically about 25 s on the fastest route, by the catalog's estimate. The API answers at once with a job id, so nothing waits on an open connection while it runs.

For AI agents: this page as Markdown is varg.ai/models/seedream_5_pro.md, and every model is listed in varg.ai/models/llms.txt.