Seedance 2.0 Lite — low-cost full multimodal video (text / image / multimodal reference), 480p / 720p / 1080p output. Three tiers: Lite / Fast / Mini. Real people are used via the Portrait Library (asset://).
Near-identical names, different upstreams & capabilities. You are viewing the highlighted row.
| Model | Channel | Real person | Price |
|---|---|---|---|
| Seedance 2.0 | Chenyu · real-person multimodal | Real faces directly | $0.11–$0.33/s |
| Seedance 2.0 Official | Volcengine Ark direct | Via asset:// library | token-settled |
| Seedance 2.0 (sd-A) | Custom-A · Topaz HD | Via asset:// library | $0.073–$0.365/s |
| Seedance 2.0 Lite ← | Low-cost / anime | Own portrait library | $0.04–$0.15/s |
| Seedance 2.0 Cinematic | RunningHub film-grade | — | $1 / $2 / $3 |
All requests carry the API key in the header:
Authorization: Bearer YOUR_API_KEY| Field | Required | Type | Description |
|---|---|---|---|
| Model | API name | Resolution | $/s (480p / 720p / 1080p) |
| Seedance 2.0 Lite | seedance2-lite | 480p / 720p / 1080p | $0.10 / $0.13 / $0.15 |
| Seedance 2.0 Lite Fast | seedance2-lite-fast | 480p / 720p / 1080p | $0.09 / $0.12 / $0.13 |
| Seedance 2.0 Lite Mini | seedance2-lite-mini | 480p / 720p / 1080p | $0.04 / $0.06 / $0.08 |
Billed = $/s × duration (3-15 seconds).
/api/v1/video/generations# Text-to-video (model: seedance2-lite / -fast / -mini)
curl -X POST https://apimodels.app/api/v1/video/generations \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "seedance2-lite",
"prompt": "a hummingbird hovering near a bright flower, slow motion",
"resolution": "720p",
"aspect_ratio": "16:9",
"duration": 5
}'
# Real-person video — reference one or more saved portraits by asset id
# (register them first via the Portrait Library, see below):
# "portrait_asset_ids": ["asset-2026...-xxxx"]
# Plain (non-real) reference images / first-last frame / driving video+audio:
# "images": ["https://.../object.jpg"] (non-real objects/scenes)
# "first_frame_url" / "last_frame_url": "https://.../frame.jpg"
# "videos": ["https://.../drive.mp4"], "audios": ["https://.../voice.mp3"]
# Poll for the result
curl "https://apimodels.app/api/v1/video/generations?task_id=TASK_ID" \
-H "Authorization: Bearer YOUR_API_KEY"| Field | Required | Type | Description |
|---|---|---|---|
| Mode | Input fields | ||
| Text-to-video | prompt | ||
| Real-person video | portrait_asset_ids (asset:// — 见下方人像素材库 / see Portrait Library) | ||
| Image-to-video (first / first+last frame) | first_frame_url (+ last_frame_url) | ||
| Multimodal reference (non-real) | images (≤10) + videos (≤3) + audios (≤3) |
| Field | Required | Type | Description |
|---|---|---|---|
| Field | Type | Description | |
| model | string | seedance2-lite / seedance2-lite-fast / seedance2-lite-mini | |
| prompt | string | Prompt (optional when a reference input is provided) | |
| resolution | string | 480p | 720p | 1080p | |
| aspect_ratio | string | 21:9 / 16:9 / 4:3 / 1:1 / 3:4 / 9:16 / adaptive | |
| duration | number | 3-15 seconds | |
| portrait_asset_ids | string[] | Real person: portrait asset ids from your library (referenced as asset://) | |
| images | string[] | Non-real reference images (https://) | |
| first_frame_url / last_frame_url | string | First / last frame for image-to-video | |
| videos / audios | string[] | Reference video / audio (https://) |
Photorealistic real faces are rejected by upstream moderation when passed as a plain reference image. To make real-person video, upload the face to the Portrait Library to get an asset id, then reference it via portrait_asset_ids in generation. Portraits are isolated per token (API key), stored for reuse, and cost $0.03 per successful upload.
# 1) Upload a portrait (multipart) — charged $0.03 on success.
# Returns an asset id used to reference the person in generations.
curl -X POST https://apimodels.app/api/v1/asset-library/portraits \
-H "Authorization: Bearer YOUR_API_KEY" \
-F 'file=@/path/to/portrait.jpg' \
-F 'name=host'
# → { "data": { "id": "asset-2026...-xxxx", "asset_url": "asset://asset-2026...-xxxx" } }
# 2) List your saved portraits
curl -X POST https://apimodels.app/api/v1/asset-library/portraits/list \
-H "Authorization: Bearer YOUR_API_KEY" -H "Content-Type: application/json" \
-d '{"page_number": 1, "page_size": 50}'
# 3) Use the id in a generation: "portrait_asset_ids": ["asset-2026...-xxxx"]
# 4) Delete a portrait when no longer needed
curl -X DELETE https://apimodels.app/api/v1/asset-library/portraits/asset-2026...-xxxx \
-H "Authorization: Bearer YOUR_API_KEY"| Field | Required | Type | Description |
|---|---|---|---|
| Endpoint | Description | ||
| POST /v1/asset-library/portraits | Upload a portrait (multipart: file [+ name]) → asset id, $0.03 | ||
| POST /v1/asset-library/portraits/list | List saved portraits (paginated) | ||
| DELETE /v1/asset-library/portraits/{id} | Delete one portrait |
Try it in the Playground
Upload a face to the portrait library ($0.03) to get a portrait id, then pass portrait_asset_ids in the generation. One portrait is reusable across all Lite tiers.