Create Seedance 2.0 Standard — Reference To Video
curl --request POST \
--url https://api.apisale.ai/v1/run/bytedance/seedance-2.0/reference-to-video \
--header 'Authorization: <api-key>' \
--header 'Content-Type: application/json' \
--data '
{
"input": {
"prompt": "Using the reference look, create a dramatic tracking shot through misty mountain ridges at sunrise, volumetric light, epic scale, photoreal cinematic motion @Image1",
"duration": "5",
"resolution": "720p",
"aspect_ratio": "16:9",
"generate_audio": false,
"image_urls": [
"https://assets.apisale.ai/temp/2026/07/18/d1f0674f-1f79-48d2-ad1b-4ef53f623fc0.png"
]
}
}
'import requests
url = "https://api.apisale.ai/v1/run/bytedance/seedance-2.0/reference-to-video"
payload = { "input": {
"prompt": "Using the reference look, create a dramatic tracking shot through misty mountain ridges at sunrise, volumetric light, epic scale, photoreal cinematic motion @Image1",
"duration": "5",
"resolution": "720p",
"aspect_ratio": "16:9",
"generate_audio": False,
"image_urls": ["https://assets.apisale.ai/temp/2026/07/18/d1f0674f-1f79-48d2-ad1b-4ef53f623fc0.png"]
} }
headers = {
"Authorization": "<api-key>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {Authorization: '<api-key>', 'Content-Type': 'application/json'},
body: JSON.stringify({
input: {
prompt: 'Using the reference look, create a dramatic tracking shot through misty mountain ridges at sunrise, volumetric light, epic scale, photoreal cinematic motion @Image1',
duration: '5',
resolution: '720p',
aspect_ratio: '16:9',
generate_audio: false,
image_urls: [
'https://assets.apisale.ai/temp/2026/07/18/d1f0674f-1f79-48d2-ad1b-4ef53f623fc0.png'
]
}
})
};
fetch('https://api.apisale.ai/v1/run/bytedance/seedance-2.0/reference-to-video', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));{
"run_id": "<string>",
"endpoint": "<string>",
"model": "<string>",
"capability": "<string>",
"mode": "<string>",
"status": "queued",
"created_at": "2023-11-07T05:31:56Z",
"output": {},
"error": {
"type": "<string>",
"code": 123,
"message": "<string>"
},
"billing": {
"amount": "<string>",
"currency": "usd"
},
"started_at": "2023-11-07T05:31:56Z",
"completed_at": "2023-11-07T05:31:56Z",
"elapsed_ms": 123
}Bytedance
Seedance 2.0 Standard — Reference To Video
ByteDance Seedance 2.0 multimodal cinematic video; Standard/Fast tiers. Optimized for reference to video via apisale.
POST
/
v1
/
run
/
bytedance
/
seedance-2.0
/
reference-to-video
Create Seedance 2.0 Standard — Reference To Video
curl --request POST \
--url https://api.apisale.ai/v1/run/bytedance/seedance-2.0/reference-to-video \
--header 'Authorization: <api-key>' \
--header 'Content-Type: application/json' \
--data '
{
"input": {
"prompt": "Using the reference look, create a dramatic tracking shot through misty mountain ridges at sunrise, volumetric light, epic scale, photoreal cinematic motion @Image1",
"duration": "5",
"resolution": "720p",
"aspect_ratio": "16:9",
"generate_audio": false,
"image_urls": [
"https://assets.apisale.ai/temp/2026/07/18/d1f0674f-1f79-48d2-ad1b-4ef53f623fc0.png"
]
}
}
'import requests
url = "https://api.apisale.ai/v1/run/bytedance/seedance-2.0/reference-to-video"
payload = { "input": {
"prompt": "Using the reference look, create a dramatic tracking shot through misty mountain ridges at sunrise, volumetric light, epic scale, photoreal cinematic motion @Image1",
"duration": "5",
"resolution": "720p",
"aspect_ratio": "16:9",
"generate_audio": False,
"image_urls": ["https://assets.apisale.ai/temp/2026/07/18/d1f0674f-1f79-48d2-ad1b-4ef53f623fc0.png"]
} }
headers = {
"Authorization": "<api-key>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {Authorization: '<api-key>', 'Content-Type': 'application/json'},
body: JSON.stringify({
input: {
prompt: 'Using the reference look, create a dramatic tracking shot through misty mountain ridges at sunrise, volumetric light, epic scale, photoreal cinematic motion @Image1',
duration: '5',
resolution: '720p',
aspect_ratio: '16:9',
generate_audio: false,
image_urls: [
'https://assets.apisale.ai/temp/2026/07/18/d1f0674f-1f79-48d2-ad1b-4ef53f623fc0.png'
]
}
})
};
fetch('https://api.apisale.ai/v1/run/bytedance/seedance-2.0/reference-to-video', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));{
"run_id": "<string>",
"endpoint": "<string>",
"model": "<string>",
"capability": "<string>",
"mode": "<string>",
"status": "queued",
"created_at": "2023-11-07T05:31:56Z",
"output": {},
"error": {
"type": "<string>",
"code": 123,
"message": "<string>"
},
"billing": {
"amount": "<string>",
"currency": "usd"
},
"started_at": "2023-11-07T05:31:56Z",
"completed_at": "2023-11-07T05:31:56Z",
"elapsed_ms": 123
}Overview
ByteDance Seedance 2.0 multimodal cinematic video; Standard/Fast tiers. Optimized for reference to video via apisale.Docs = API contract + Try it (snapshot). Explore = browser playground. Model page = product examples.
Endpoint
POST https://api.apisale.ai/v1/run/bytedance/seedance-2.0/reference-to-video
| Model slug | bytedance/seedance-2.0/reference-to-video |
| Category | Reference to Video (reference-to-video) |
| Lab | Bytedance |
| Tier | Standard |
| Mode | async |
Pricing
From $0.029/sec apisale price is 30% below the vendor’s official list price.| Tier | Unit | Official price | apisale price |
|---|---|---|---|
| Seedance 2.0 Ref 480p without video input | second | $0.068 | $0.048 |
| Seedance 2.0 Ref 720p without video input | second | $0.146 | $0.102 |
| Seedance 2.0 Ref 1080p without video input | second | $0.364 | $0.255 |
| Seedance 2.0 Ref 480p with video input, 0.6x multiplier | second | $0.041 | $0.029 |
| Seedance 2.0 Ref 720p with video input, official discounted price | second | $0.089 | $0.062 |
| Seedance 2.0 Ref 1080p with video input, 0.6x multiplier | second | $0.222 | $0.155 |
Official price = vendor list price. apisale price = what you pay through apisale.
Volume tiers
Seedance 2.0 Ref 480p without video input — 5000+→0.043 Seedance 2.0 Ref 720p without video input — 5000+→0.092 Seedance 2.0 Ref 1080p without video input — 5000+→0.230 Seedance 2.0 Ref 480p with video input, 0.6x multiplier — 5000+→0.026 Seedance 2.0 Ref 720p with video input, official discounted price — 5000+→0.056 Seedance 2.0 Ref 1080p with video input, 0.6x multiplier — 5000+→0.140Request
{
"input": {
"prompt": "Using the reference look, create a dramatic tracking shot through misty mountain ridges at sunrise, volumetric light, epic scale, photoreal cinematic motion @Image1",
"duration": "5",
"resolution": "720p",
"aspect_ratio": "16:9",
"generate_audio": false,
"image_urls": [
"https://assets.apisale.ai/temp/2026/07/18/d1f0674f-1f79-48d2-ad1b-4ef53f623fc0.png"
]
}
}
Parameters
Fields marked * are required. UseAuthorization: Key YOUR_API_KEY for REST.
number
Optional random seed for reproducibility.
string
required
Text prompt for video generation. Maximum 2000 characters.
string
Default:
4 Values: 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15array
Reference audio (up to 3 tracks, combined duration <=15s).
array
Reference images; cite as @Image1 in prompt (1-9).
string
Default:
720p Values: 480p, 720p, 1080parray
Reference videos (up to 3 clips, combined 2-15s).
string
Optional end-user identifier for abuse tracking.
string
Default:
auto Values: auto, 21:9, 16:9, 4:3, 1:1, 3:4, 9:16boolean
Default:
truestring
Optional HTTPS webhook when the run reaches a terminal state.
boolean
Block until completion (same Run response shape).
Input schema
Input schema
{
"params": {
"seed": {
"type": "int",
"description": "Optional random seed for reproducibility."
},
"prompt": {
"type": "string",
"required": true,
"max_length": 2000,
"description": "Text prompt for video generation. Maximum 2000 characters."
},
"duration": {
"type": "enum",
"values": [
"4",
"5",
"6",
"7",
"8",
"9",
"10",
"11",
"12",
"13",
"14",
"15"
],
"default": "4"
},
"audio_urls": {
"type": "array<media>",
"max_items": 3,
"description": "Reference audio (up to 3 tracks, combined duration <=15s)."
},
"image_urls": {
"type": "array<media>",
"max_items": 9,
"min_items": 1,
"description": "Reference images; cite as @Image1 in prompt (1-9)."
},
"resolution": {
"type": "enum",
"values": [
"480p",
"720p",
"1080p"
],
"default": "720p"
},
"video_urls": {
"type": "array<media>",
"max_items": 3,
"description": "Reference videos (up to 3 clips, combined 2-15s)."
},
"end_user_id": {
"type": "string",
"description": "Optional end-user identifier for abuse tracking."
},
"aspect_ratio": {
"type": "enum",
"values": [
"auto",
"21:9",
"16:9",
"4:3",
"1:1",
"3:4",
"9:16"
],
"default": "auto"
},
"generate_audio": {
"type": "bool",
"default": true
}
}
}
Submit response
Returns a Run withrun_id. Poll with GET /v1/runs/{run_id} or use Try it above.
string
required
Unique run ID — save for polling and webhooks.
string
required
queued (async) or terminal state for sync runs.object
Result when
status is succeeded — see Output schema below.Example (async submit)
{
"run_id": "run_550e8400-e29b-41d4-a716-446655440000",
"endpoint": "bytedance/seedance-2.0/reference-to-video",
"model": "reference-to-video",
"capability": "video",
"mode": "reference-to-video",
"status": "queued",
"output": null,
"error": null,
"billing": null,
"created_at": "2026-06-27T12:00:00.000Z",
"started_at": null,
"completed_at": null,
"elapsed_ms": null
}
Output
Whenstatus is succeeded, output follows this schema:
Output schema
Output schema
{
"type": "object",
"example": {
"videos": [
{
"url": "https://cdn.mountsea.ai/tasks/ms-example/0.mp4"
}
]
},
"required": [
"videos"
],
"properties": {
"videos": {
"type": "array",
"items": {
"type": "object",
"required": [
"url"
],
"properties": {
"url": {
"type": "string",
"format": "uri"
}
}
}
}
},
"description": "Succeeded task output: single video URL."
}
Example
curl -X POST "https://api.apisale.ai/v1/run/bytedance/seedance-2.0/reference-to-video" \
-H "Authorization: Key YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"input": {
"prompt": "Using the reference look, create a dramatic tracking shot through misty mountain ridges at sunrise, volumetric light, epic scale, photoreal cinematic motion @Image1",
"duration": "5",
"resolution": "720p",
"aspect_ratio": "16:9",
"generate_audio": false,
"image_urls": [
"https://assets.apisale.ai/temp/2026/07/18/d1f0674f-1f79-48d2-ad1b-4ef53f623fc0.png"
]
}
}'
Related
Authorizations
Key sk-... (native REST) or Bearer sk-... (vendor SDKs)
Body
application/json
Show child attributes
Show child attributes
Example:
{
"prompt": "Using the reference look, create a dramatic tracking shot through misty mountain ridges at sunrise, volumetric light, epic scale, photoreal cinematic motion @Image1",
"duration": "5",
"resolution": "720p",
"aspect_ratio": "16:9",
"generate_audio": false,
"image_urls": [
"https://assets.apisale.ai/temp/2026/07/18/d1f0674f-1f79-48d2-ad1b-4ef53f623fc0.png"
]
}
Response
201 - application/json
Run accepted
Unique run identifier
Model slug
Available options:
queued, processing, succeeded, failed, timeout, cancelled Show child attributes
Show child attributes
Show child attributes
Show child attributes
