---
title: "Generate images with Seedream 5 Lite"
method: POST
path: "/api/v1/image/seedream-5-lite"
tags: ["Image"]
---

# Generate images with Seedream 5 Lite

`POST /api/v1/image/seedream-5-lite`

## Request

- Base URL: `https://www.seedance2ai.io`
- URL: `https://www.seedance2ai.io/api/v1/image/seedream-5-lite`
- Auth: HTTP bearer
- TypeScript: <https://skmtc.dev/seedance2ai/apis/seedance-2-0-ai-public-api/docs/api/v1/image/seedream-5-lite/post.ts> (a function with typed inputs; its response is checked against the schema)

channel "standard" balances quality and cost; "wild" has fewer content restrictions and costs more.

## Headers

- `Idempotency-Key` string

## Request body

- union
  - object
    - `type` 'text-to-image', required
    - `prompt` string, required
    - `aspect_ratio` '1:1' | '4:3' | '3:4' | '16:9' | '9:16' | '2:3' | '3:2' | '21:9'
    - `quality` '2K' | '4K'
    - `channel` 'standard' | 'wild'
  - object
    - `type` 'image-to-image', required
    - `prompt` string, required
    - `aspect_ratio` '1:1' | '4:3' | '3:4' | '16:9' | '9:16' | '2:3' | '3:2' | '21:9'
    - `quality` '2K' | '4K'
    - `channel` 'standard' | 'wild'
    - `image_urls` string[], required

## Response `202`

Task accepted. Poll GET /api/v1/tasks/{id} with the returned id (prefix sd5l_) until status is completed or failed, and read the files from result_urls there.

- object
  - `id` string, required
  - `status` 'processing' | 'completed', required: Usually processing. A channel that waits for the image inside the request returns completed; the task's result_urls are then ready at GET /api/v1/tasks/{id}.
  - `model` 'seedream-5-lite', required
  - `credits_used` number: Credits charged for this task.
  - `remaining_credits` number

## Other responses

- `400`: invalid_request: bad JSON, an unsupported field, or a value outside the documented constraints. The message names the first failing field and details lists them all. Fix the request; retrying it unchanged fails again.
- `401`: unauthorized: the API key is missing, invalid, or revoked.
- `402`: insufficient_credits: the key owner's balance is too low. Some responses also include required_credits and available_credits. Add credits before retrying.
- `403`: purchase_required: the operation needs a successful credits or plan purchase. credits_frozen: credit spending is temporarily unavailable for this account; topping up does not lift it.
- `409`: idempotency_conflict: the Idempotency-Key was used with a different body, or the first request with this key is still running. Use a new key for a new request; wait and retry for a running one.
- `429`: rate_limited: submissions are limited to 30 per 60 seconds and reads to 120 per 60 seconds per account; Seedance requests that inspect reference media have a lower limit. Wait for Retry-After before retrying.
- `500`: internal_error: an unexpected server failure. Retry with the same Idempotency-Key; contact support if it persists.
- `503`: service_busy: a temporary generation or credit-concurrency issue. Retry with the same Idempotency-Key after a short delay.
- `default`: Another structured error. Branch on error.code rather than the HTTP status.

---

[API](https://skmtc.dev/seedance2ai/apis/seedance-2-0-ai-public-api.md) - [All operations](https://skmtc.dev/seedance2ai/apis/seedance-2-0-ai-public-api/llms.txt) - [OpenAPI document](https://skmtc.dev/seedance2ai/apis/seedance-2-0-ai-public-api/revisions/e4ef5c6db219?raw)
