Seedance 2.0 API

Generate cinematic video with realistic motion, prompt-directed camera movement and optional synchronised audio.

Seedance 2.0 modes

ByteDance · seedance-2.0-text-to-video

Text to video

Generate cinematic video with realistic motion, prompt-directed camera movement and optional synchronised audio.

Put a prompt and "model": "seedance-2.0-text-to-video" on a video clip, and the render generates it and edits it into the video. To generate it on its own, send the same asset to the generate endpoint.

Built forProduct and brand clips · B-roll for your edits · Social video

Seedance 2.0 “A brass desk lamp on a navy backdrop switches on, and its glow spreads across the wall”
Technical specifications
InputText prompt
OutputVideo
Length4 to 15 seconds
Resolution480p, 720p, 1080p
Aspect ratiosauto, 21:9, 16:9, 4:3, 1:1, 3:4, 9:16
AudioOptional
{
  "asset": {
    "type": "video",
    "prompt": "A brass desk lamp on a navy backdrop switches on, and its glow spreads across the wall",
    "model": "seedance-2.0-text-to-video",
    "options": {
      "aspectRatio": "4:3",
      "resolution": "720p",
      "generateAudio": false
    }
  },
  "length": 4
}
Example request to the generate endpoint.

Options

OptionValuesDefault
aspectRatioauto, 21:9, 16:9, 4:3, 1:1, 3:4, 9:16auto
resolution480p, 720p, 1080p720p
generateAudioboolean

ByteDance · seedance-2.0-image-to-video

Image to video

Animate a still image with realistic motion, prompt-directed camera movement and optional synchronised audio. Supply an ending image to guide the final frame.

Put a prompt and "model": "seedance-2.0-image-to-video" on a video clip, and the render generates it and edits it into the video. To generate it on its own, send the same asset to the generate endpoint.

Built forBringing product photos to life · Animated listings and ads · Motion from a still

The image the example starts from
Start image
Seedance 2.0 “Steam curls up from the coffee and drifts away”
Technical specifications
InputText prompt and a start image, with an optional end image
OutputVideo
Length4 to 15 seconds
Resolution480p, 720p, 1080p
Aspect ratiosauto, 21:9, 16:9, 4:3, 1:1, 3:4, 9:16
AudioOptional
{
  "asset": {
    "type": "video",
    "prompt": "Steam curls up from the coffee and drifts away",
    "model": "seedance-2.0-image-to-video",
    "options": {
      "startSrc": "https://cdn.shotstack.io/au/v1/generations/35tqpmb0ya/0c4af0c0-e06a-5988-a512-4e92469c631c.png",
      "aspectRatio": "4:3",
      "resolution": "720p",
      "generateAudio": false
    }
  },
  "length": 5
}
Example request to the generate endpoint.

Options

OptionValuesDefault
startSrc (required)string
endSrcstring
aspectRatioauto, 21:9, 16:9, 4:3, 1:1, 3:4, 9:16auto
resolution480p, 720p, 1080p720p
generateAudioboolean

Pricing

Generation is paid in credits from the same balance as rendering, at what the model's provider charges plus a small margin. See AI generation pricing.

ModeCharged perPrice changes withLength a quote assumes without one
Text to videoSecond of video, 4 to 15Resolution: 480p, 720p (default), 1080p15 seconds
Image to videoSecond of video, 4 to 15Resolution: 480p, 720p (default), 1080p15 seconds

Get a quote

POST /generate/quote takes the same body as the generate endpoint and returns what that generation would cost. Nothing is generated, reserved or charged.

curl -X POST \
     -H "Content-Type: application/json" \
     -H "x-api-key: $SHOTSTACK_API_KEY" \
     -d '{
       "asset": {
         "type": "video",
         "prompt": "A brass desk lamp on a navy backdrop switches on, and its glow spreads across the wall",
         "model": "seedance-2.0-text-to-video",
         "options": {
           "aspectRatio": "4:3",
           "resolution": "720p",
           "generateAudio": false
         }
       },
       "length": 4
     }' \
     https://api.shotstack.io/edit/stage/generate/quote

The response gives credits, the price of that request, and ceiling, which is true when the request has no length for a model charged by length, so the price is an estimate. Prices follow the providers, so ask again rather than storing one.

How it compares

Seedance 2.0 beside the other models in Shotstack that make the same thing.

ModelBest forModesLengthMax resolutionAspect ratiosAudioEnd imageSeed
Seedance 2.0Cinematic motion and prompt-directed camera movesText to video, Image to video4–15 s1080p6OptionalYes—
Seedance 2.5Longer scenes, up to 30 seconds in one clipText to video, Image to video4–30 s1080p6OptionalYes—
Wan 3.0 Prime1080p clips, with audio and prompt enhancement on by defaultText to video, Image to video2–30 s1080p5On by defaultYesYes
Gemini Omni Flash 1.1Short clips up to 4K, with native audioText to video, Image to video3–10 s4K2NativeYes—

Questions

Do I need an account with the model provider?
No. Generation runs on your Shotstack API key and is paid in credits from the same balance as rendering, so there is no separate account to open and nothing extra to integrate.
Do I pay again for the same asset?
No. Every generated file is stored against your account. An asset with the same type, model, prompt, options and length as one generated before reuses the stored file at no charge.
What happens if a generation fails?
A failed generation isn't charged. If a render fails after some of its assets were generated, those assets are kept, and rendering again reuses them at no charge.
Can I generate an asset without rendering a video?
Yes. POST the asset to the generate endpoint and you get back a URL to the file, to check it before you render, to reuse it across many edits, or to use it outside Shotstack.

Start free

  • 10 free credits to start
  • No credit card required