Seedance 1.5 API Documentation

Complete guide to integrating the Seedance 1.5 Video Generation API into your applications.

API v1 · 1.5 Base URL: https://seedanceapi.org/v1

Quick Start

bash
1curl -X POST 'https://seedanceapi.org/v1/generate' \
2 -H 'Authorization: Bearer YOUR_API_KEY' \
3 -H 'Content-Type: application/json' \
4 -d '{
5 "prompt": "A cinematic shot of mountains at sunrise with flowing clouds",
6 "aspect_ratio": "16:9",
7 "resolution": "720p",
8 "duration": "8"
9 }'

Authentication

All API requests require authentication using a Bearer token in the Authorization header.

Important: You can get your API key from the API Keys page in your dashboard. → Get Your API Key

http
1Authorization: Bearer YOUR_API_KEY

Pricing

480p

480p Resolution

Fast generation, suitable for previews and drafts

DurationWithout AudioWith Audio
4s8 credits14 credits
8s14 credits28 credits
12s19 credits38 credits
720p

720p Resolution

High quality output, recommended for production

DurationWithout AudioWith Audio
4s14 credits28 credits
8s28 credits56 credits
12s42 credits84 credits

API Endpoints

POST/v1/generate

Create a new video generation task using Seedance 1.5 model. Supports text-to-video and image-to-video modes.

Request Body

Body ParametersJSON
prompt:string

Text description of the video to generate (max 2000 characters)

aspect_ratio:optional string

Output aspect ratio. Supported: 1:1, 16:9, 9:16, 4:3, 3:4, 21:9, 9:21 Defaults to 1:1.

resolution:optional string

Video resolution: 480p or 720p Defaults to 720p.

duration:optional string

Video duration in seconds: 4, 8, or 12 Defaults to 8.

generate_audio:optional boolean

Enable AI audio generation for the video Defaults to false.

fixed_lens:optional boolean

Lock the camera lens to reduce motion blur Defaults to false.

image_urls:optional string[]

Array of reference image URLs for image-to-video generation (max 1 image)

callback_url:optional string

Webhook URL for async status notifications. Must be publicly accessible (no localhost).

Text to Video

json
1{
2 "prompt": "A majestic eagle soaring through golden sunset clouds over ocean waves",
3 "aspect_ratio": "16:9",
4 "resolution": "720p",
5 "duration": "8"
6}

Image to Video

json
1{
2 "prompt": "The character slowly turns and smiles at the camera",
3 "image_urls": [
4 "https://example.com/my-image.jpg"
5 ],
6 "aspect_ratio": "16:9",
7 "resolution": "720p",
8 "duration": "4"
9}

With Audio Generation

json
1{
2 "prompt": "A peaceful river flowing through a forest with birds singing",
3 "aspect_ratio": "16:9",
4 "resolution": "720p",
5 "duration": "8",
6 "generate_audio": true,
7 "fixed_lens": true
8}

Responses

Task created successfully

1{
2 "code": 200,
3 "message": "success",
4 "data": {
5 "task_id": "seed15abc123def456pro",
6 "status": "IN_PROGRESS"
7 }
8}
GET/v1/status

Check the status of a video generation task and retrieve the result when completed.

Query Parameters

Body ParametersJSON
task_id:string

The unique task ID returned from the generate endpoint

Example Request

bash
1curl -X GET 'https://seedanceapi.org/v1/status?task_id=seed15abc123def456pro' \
2 -H 'Authorization: Bearer YOUR_API_KEY'

💡 Tip: The response field in the status API is an array of video URLs. You can directly access data.response[0] to get the video URL.

javascript
1// Extract video URL from response
2const videoUrl = data.response[0];

Responses

1{
2 "code": 200,
3 "message": "success",
4 "data": {
5 "task_id": "seed15abc123def456pro",
6 "status": "SUCCESS",
7 "consumed_credits": 28,
8 "created_at": "2026-02-07T10:30:00Z",
9 "request": {
10 "prompt": "A majestic eagle soaring through golden sunset clouds",
11 "aspect_ratio": "16:9",
12 "resolution": "720p",
13 "duration": "8"
14 },
15 "response": [
16 "https://cdn.example.com/videos/seed15abc123def456pro.mp4"
17 ],
18 "error_message": null
19 }
20}

API Playground

Test the API directly from your browser. Replace YOUR_API_KEY with your actual API key.

API PlaygroundPOST

Error Codes

StatusCodeDescription
400 Bad RequestINVALID_PROMPTThe prompt is invalid or empty
400 Bad RequestINVALID_ASPECT_RATIOUnsupported aspect ratio value
400 Bad RequestINVALID_RESOLUTIONResolution must be 480p or 720p
400 Bad RequestINVALID_DURATIONDuration must be 4, 8, or 12 seconds
400 Bad RequestTOO_MANY_IMAGESMaximum 1 image URL allowed in image_urls array
401 UnauthorizedINVALID_API_KEYAPI key is missing or invalid
402 INSUFFICIENT_CREDITSNot enough credits for this operation
404 Not FoundTASK_NOT_FOUNDTask ID not found or does not belong to your account
500 Internal Server ErrorINTERNAL_ERRORServer error, please try again later