Seedance 1.5 Pro API

Joint audio and video generation with millisecond lip sync, dialogue in six languages, cinematic camera moves, and up to 1080p output.

ByteDanceVideo GenerationReleased Dec 19, 2025MalaysiaProprietary Endpoint

About Seedance 1.5 Pro

Joint audio and video generation with millisecond lip sync, dialogue in six languages, cinematic camera moves, and up to 1080p output.

Also known as ByteDance Seedance 1.5 Pro

text to videoimage to videoaudio synclip synccamera controlseed control

Seedance 1.5 Pro specs

Model ID
seedance-1-5-pro
Provider
ByteDance
Category
Video Generation
Released
Dec 19, 2025
Input
TextImage
Output
Video
Region
Malaysia
Endpoints
POST/v1/videos/generations
Alternate model IDs
bytedance/seedance-1.5-proseedance-1.5-proseedance-1-5-pro-251215

Seedance 1.5 Pro API pricing

Live pay-as-you-go rates from the EmpirioLabs catalog. You are billed only for what you use, with no monthly minimum.

Type
Spec
Rate
With Audio 480P
per second
$0.048
With Audio 720P
per second
$0.104
With Audio 1080P
per second
$0.233
No Audio 480P
per second
$0.024
No Audio 720P
per second
$0.052
No Audio 1080P
per second
$0.117
Compare on the full pricing page

How to call the Seedance 1.5 Pro API

Seedance 1.5 Pro runs through POST /v1/videos/generations. The request returns a job_id right away; poll GET /v1/jobs/{job_id} until the job completes and read the output URLs from the result. Get an API key from the EmpirioLabs dashboard.

cURL: submit the job
curl https://api.empiriolabs.ai/v1/videos/generations \
  -H "Authorization: Bearer $EMPIRIOLABS_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "seedance-1-5-pro",
    "prompt": "Describe what you want Seedance 1.5 Pro to generate."
  }'
cURL: poll for the result
curl https://api.empiriolabs.ai/v1/jobs/JOB_ID \
  -H "Authorization: Bearer $EMPIRIOLABS_API_KEY"
Python
import requests

response = requests.post(
    "https://api.empiriolabs.ai/v1/videos/generations",
    headers={"Authorization": "Bearer YOUR_EMPIRIOLABS_API_KEY"},
    json={
        "model": "seedance-1-5-pro",
        "prompt": "Describe what you want Seedance 1.5 Pro to generate.",
    },
)
job = response.json()

# Generation runs as an async job. Poll until it completes.
import time
while True:
    status = requests.get(
        f"https://api.empiriolabs.ai/v1/jobs/{job['job_id']}",
        headers={"Authorization": "Bearer YOUR_EMPIRIOLABS_API_KEY"},
    ).json()
    if status.get("status") in ("completed", "failed"):
        print(status)
        break
    time.sleep(5)
Full Seedance 1.5 Pro API reference

Seedance 1.5 Pro API parameters

Request parameters supported by the Seedance 1.5 Pro API on EmpirioLabs. Defaults apply when a field is omitted.

ParameterTypeDefaultRange / valuesDescription
promptstring--Scene description. Put spoken dialogue in double quotes for lip-synced speech; native audio (dialogue, effects, music) is generated with the video.
modeenumautoauto, t2v, i2v_first, i2v_bothauto: detect from the inputs you attach. t2v: text-to-video. i2v_first: animate a first frame. i2v_both: animate between a first and last frame.
resolutionenum720p480p, 720p, 1080pOutput resolution. Audio and silent generations bill at different per-second rates for each resolution.
aspect_ratioenumadaptiveadaptive, 16:9, 9:16, 1:1, 4:3, 3:4, 21:9adaptive lets the model choose. First-frame jobs follow the input image's aspect ratio.
custom_durationbooleantrue-If false, the model picks the clip length itself. If true, use the duration field.
durationnumber54 to 12Clip length in seconds. Only used when custom_duration is true.
generate_audiobooleantrue-Generate native synchronized audio (dialogue, effects, music) with the video. Silent output bills at a lower rate.
camera_fixedbooleanfalse-Ask the model to keep the camera position fixed.
seednumber--1 to 2147483647Integer seed for reproducible-style output. Same seed gives similar, not identical, results.
draftbooleanfalse-Render a cheaper 480p draft first. Re-render the pick at full quality by passing its job id as draft_task_id.
return_last_framebooleanfalse-Also return the final frame as a PNG, ready to use as the first frame of the next clip.
imagestring--First frame image URL.
image_endstring--End-frame image URL for i2v_both.
draft_task_idstring--Job id of a previous draft generation to re-render at full quality. Reuses the draft's prompt, images, audio setting, and seed.
1 more parameter in the docs

Good to know

ByteDance's first joint audio-video model: sound (dialogue, effects, music) is generated together with the picture in one pass.

Modes

  • Text to video, first frame, or first and last frame. No video, audio, or multi-image reference input.
  • Put spoken lines in double quotes in the prompt for lip-synced dialogue. Speech covers English, Mandarin and several Chinese dialects, Japanese, Korean, Spanish, and Indonesian.

Output

  • 480p, 720p, and 1080p at 24fps, 4 to 12 seconds (or let the model pick the length), MP4 with mono audio.
  • generate_audio is on by default; silent output bills at the lower no-audio rate.

Draft mode

  • draft renders a cheap 480p preview at a reduced rate. Re-render a pick at full quality by passing its job id as draft_task_id.

Input limits

  • Images: jpeg, png, webp, bmp, tiff, gif, heic, or heif, 300 to 6000 px per side, aspect ratio between 0.4 and 2.5, under 30 MB each.

Billing

  • Billed per second of generated video at the rate for the output resolution, with separate audio and silent rates. The model meters generated frames, so billed seconds track the rendered output; draft renders bill fewer seconds.

Seedance 1.5 Pro API: common questions

How much does the Seedance 1.5 Pro API cost?

On EmpirioLabs, Seedance 1.5 Pro is billed pay as you go: With Audio 480P $0.048 per second; With Audio 720P $0.104 per second; With Audio 1080P $0.233 per second. The live rate card on this page always matches what the API charges.

Which endpoint does Seedance 1.5 Pro use?

Seedance 1.5 Pro is served through POST /v1/videos/generations on api.empiriolabs.ai with standard bearer-token authentication.

Can I try Seedance 1.5 Pro in the browser before integrating?

Yes. The EmpirioLabs playground runs Seedance 1.5 Pro in the browser with the same parameters the API exposes, so you can test prompts before writing code.

How do I get a Seedance 1.5 Pro API key?

Create an EmpirioLabs account, then generate a key under API Keys in the dashboard. Billing is pay-as-you-go credits, so you only pay for the requests you make.

Ready to use better endpoints?

Check out our pricing or reach out if you want your own model deployed on our stack.