For the complete documentation index, see llms.txt. This page is also available as Markdown.

Seedance 2.0

This documentation is valid for the following list of our models:

  • bytedance/seedance-2-0

The model supports text-to-video, image-to-video, and reference-to-video generation. Delivers higher motion quality and stronger prompt fidelity for more refined results.

Setup your API Key

If you don’t have an API key for the AI/ML API yet, feel free to use our Quickstart guide.

How to Make a Call

Step-by-Step Instructions

Generating a video using this model involves sequentially calling two endpoints:

  • The first one is for creating and sending a video generation task to the server (returns a generation ID).

  • The second one is for requesting the generated video from the server using the generation ID received from the first endpoint.

Below, you can find both corresponding API schemas.

API Schemas

Create a video generation task and send it to the server

This endpoint creates and sends a video generation task to the server — and returns its ID.

post
Body
modelstring · enumRequiredPossible values:
promptstringRequired

The text description of the scene, subject, or action to generate in the video.

image_urlstring · uriOptional

A direct link to an online image or a Base64-encoded local image that will serve as the visual base or the first frame for the video.

last_image_urlstring · uriOptional

A direct link to an online image or a Base64-encoded local image to be used as the last frame of the video.

audio_urlstring · uriOptional

URL, Base64-encoded string or asset ID of the audio. The duration of the audio file specified in the parameter must not exceed 15.2 seconds. If audio is provided, at least one reference image or video is required.

video_urlstring · uriOptional

The public URL of the video. Only video URLs are supported.

image_urlsstring · uri[] · min: 1 · max: 9Optional

Reference images to guide video generation. Refer to them in the prompt as @Image1, @Image2, etc.

audio_urlsstring · uri[] · min: 1 · max: 3Optional

Reference audio to guide video generation. Refer to them in the prompt as @Audio1, @Audio2, etc. Supported formats: MP3, WAV. Up to 3 files, combined duration must not exceed 15 seconds. If audio is provided, at least one reference image (image_urls) or video (video_urls) is required.

video_urlsstring · uri[] · min: 1 · max: 3Optional

Reference videos to guide video generation. Refer to them in the prompt as @Video1, @Video2, etc. Supported formats: MP4, MOV. Each video must be between ~480p (640x640) and ~720p (834x1112) in resolution.

aspect_ratiostring · enumOptional

The aspect ratio of the generated video.

Default: 16:9Possible values:
resolutionstring · enumOptional

An enumeration where the short side of the video frame determines the resolution.

Default: 720pPossible values:
durationinteger · enumOptional

The length of the output video in seconds.

Default: 5Possible values:
generate_audiobooleanOptional

Whether to generate audio for the video.

Default: true
seedintegerOptional

Varying the seed integer is a way to get different results for the same other request parameters. Using the same value for an identical request will produce similar results. If unspecified, a random number is chosen.

watermarkbooleanOptional

Whether the video contains a watermark.

Default: false
providerstringOptional

Provider routing override. bytedance runs native ByteDance with no fallback; fal runs the fal.ai mirror; auto (default) uses the ByteDance -> fal.ai fallback chain. Case-insensitive.

Example: auto
Responses
200Success
application/json
idstringRequired

The ID of the generated video.

Example: 60ac7c34-3224-4b14-8e7d-0aa0db708325
statusstring · enumRequired

The current status of the generation task.

Example: completedPossible values:
post/v2/video/generations
200Success

Retrieve the generated video from the server

After sending a request for video generation, this task is added to the queue. This endpoint lets you check the status of a video generation task using its id, obtained from the endpoint described above. If the video generation task status is completed, the response will include the final result — with the generated video URL and additional metadata.

get
Authorizations
AuthorizationstringRequired

Bearer key

Query parameters
generation_idstringRequiredExample: <REPLACE_WITH_YOUR_GENERATION_ID>
Responses
200Success
application/json
idstringRequired

The ID of the generated video.

Example: 60ac7c34-3224-4b14-8e7d-0aa0db708325
statusstring · enumRequired

The current status of the generation task.

Example: completedPossible values:
get/v2/video/generations
200Success

Code Example #1: Generating and Retrieving the Video From the Server

The code below creates a video generation task, then automatically polls the server every 15 seconds until it finally receives the video URL.

Response

Processing time: ~ 2 min 19 sec.

Generated video (1280x720, with sound):

Code Example #2: Lip-Sync

Now let’s look at how reference images and audio can be used. We ask the model to generate a lip-sync video in which the Mona Lisa from the reference image speaks the content taken from the reference audio. Following the developer’s recommendations, we refer to the reference image in the prompt as @Image1 and the audio as @Audio1.

The code below creates a video generation task, then automatically polls the server every 15 seconds until it finally receives the video URL.

Response

The result is quite good. Notably, although the reference audio contained a male voice, the model automatically adapted it to a female voice.

Processing time: ~ 2 min 49 sec.

Generated video (1280x720, with sound):

Last updated

Was this helpful?