Application Process
To use the SeeDance Videos Generation API, first go to the Ace Data Cloud Console to obtain your API Token for future use.
If you are not logged in or registered, you will be automatically redirected to the login page to invite you to register and log in, and after completion, you will be automatically returned to the current page.
One API Token can call all services on the platform without needing to apply separately for each service. The first application will grant a free quota for a trial experience; when the quota is insufficient, you can recharge the general balance in the console.
📘 Complete documentation: SeeDance Videos Generation API →
Basic Usage
First, understand the basic usage method, which is to input the promptcontent.text, type content.type=text, and model model, to obtain the processed result. The specific content is as follows:

accept: the format of the response result you want to receive, here filled in asapplication/json, which is JSON format.authorization: the key to call the API, which can be directly selected after application.
model: the model for generating the video.- Seedance 1.x series:
doubao-seedance-1-0-pro-250528,doubao-seedance-1-0-pro-fast-251015,doubao-seedance-1-5-pro-251215,doubao-seedance-1-0-lite-t2v-250428,doubao-seedance-1-0-lite-i2v-250428. - Seedance 2.0 series (supports multi-modal inputs such as face/character references):
doubao-seedance-2-0-260128(standard),doubao-seedance-2-0-fast-260128(fast),doubao-seedance-2-0-mini-260615(lightweight). See the section “Face and Character References (Seedance 2.0)” below for details.
- Seedance 1.x series:
content: input content array,typecan betext(prompt),image_url(reference image),audio_url(reference audio, 2.0),video_url(reference video, 2.0). Images can specify usage throughrole:first_frame(first frame) /last_frame(last frame) /reference_image(face/character/subject reference).resolution: output resolution, optional480p/720p/1080p(the 2.0 standard model also supports4k; 2.0’sfast/minisupports up to720p).ratio: aspect ratio, optional16:9/4:3/1:1/3:4/9:16/21:9/adaptive.duration: video duration (seconds), 1.x range 2–12, 2.0 range 2–15.seed: random seed, integer, -1 to 4294967295.camerafixed: whether to fix the camera,true/false.watermark: whether to add a watermark,true/false.generate_audio: whether to generate a video with sound,true/false, onlydoubao-seedance-1-5-pro-251215supports.return_last_frame: whether to return the last frame image URL in the result.execution_expires_after: task timeout duration (seconds), range 3600–259200.callback_url: asynchronous callback address, after setting, the API immediately returnstask_id, and when the task is completed, it will POST the result to this address.async: optional, set totruefor the interface to immediately returntask_id, no need to providecallback_url, and then poll the corresponding task query interface to obtain results.

success, the status of the video generation task at this time.task_id, the ID of the video generation task at this time.trace_id, the tracking ID of the video generation at this time.data, the result list of the video generation task at this time.task_id, the server-side ID of the video generation task at this time.video_url, the video link of the video generation task at this time.status, the status of the video generation task at this time.model, the model used to generate the video.
data of the result.
Additionally, if you want to generate the corresponding integration code, you can directly copy the generated code, for example, the CURL code is as follows:
Inline Parameter Description
At the end of thecontent[].text prompt, you can pass in generation parameters in the form of --parameter value (old method, weak validation, defaults will be used if filled incorrectly). The complete parameter list is as follows:
Recommended Practice: Directly use the corresponding top-level fields (such asresolution,ratio, etc.) in the Request Body for strict validation mode. If the parameters are filled incorrectly, a clear error message will be returned, making it easier to troubleshoot issues.
Generate Audio Video
doubao-seedance-1-5-pro-251215 supports generating videos with audio through the generate_audio parameter:
Image to Video First Frame
If you want to create a video from an image, thecontent parameter must first include an item with type as image_url, and the image_url field must be in object format: {"url": "https://..."} or Base64 format {"url": "data:image/png;base64,..."}.
Note:Corresponding code:image_urldoes not support being passed in string format (e.g.,"image_url": "https://..."), it must use object format"image_url": {"url": "https://..."}, otherwise a 400 error will be returned.
Image to Video First and Last Frame
If you want to create a video with first and last frames from images, thecontent parameter must first include an item of type image_url, and set role to first_frame and last_frame, allowing you to specify the following content:
- role: Specify first frame or last frame.
- image_url
- url Image link
Additionally,
contentmust also include an item of typetextas a prompt.
- url Image link
Additionally,
Face and Character Reference (Seedance 2.0)
Seedance 2.0 Series (doubao-seedance-2-0-260128, doubao-seedance-2-0-fast-260128, doubao-seedance-2-0-mini-260615) supports passing in reference materials of “real person / character”: add an item in content with type as image_url and role as reference_image, using a person’s photo as a reference. The model will maintain the appearance features of that person in the generated video, thus placing the same person into a brand new scene, action, or shot.
📌 Real person photos will be automatically registered as underlying materials by the platform before being used for generation. The entire process is completely transparent to the caller: the request and response format remains unchanged, and no additional parameters are required. Only the first generation will take a few extra seconds for material processing.Usage points:
- Only the Seedance 2.0 series models support
reference_image; for 1.x models, please usefirst_frame/last_frame(the first and last frames of the image-generated video). reference_imagecannot be used in conjunction withfirst_frame/last_frame, only one can be chosen.- The upper limit for the number of multimodal references:
image_urlcan have a maximum of 9 images; 2.0 also supportsaudio_url(withroleasreference_audio, up to 3 entries) andvideo_url(withroleasreference_video, up to 3 entries). - It is recommended to use single, frontal, clear, unobstructed photos for reference images; the clearer the face, the higher the similarity.
Example 1: Close-up that maintains the character’s appearance
Input a face photo and have the character smile and wave at the camera. The corresponding code:Example 2: Placing the same person in a brand new scene
The power ofreference_image lies in: only retaining the identity of the character, while the scene, clothing, and actions are entirely determined by the prompt. Below, using the same face photo, the character is dressed in a beige coat walking in an autumn park:
💡 If you want the character to accurately replicate the composition in the photo (rather than “the same person in a different scene”), you can switch to first_frame (the first frame of the image-generated video), allowing the video to start moving from this photo.
Asynchronous Callback
Since the SeeDance Videos Generation API takes a longer time to generate (about 1-2 minutes), you can use thecallback_url field to employ asynchronous mode, avoiding long HTTP connection occupancy.
Overall process: When the client initiates a request, specify the callback_url, and the API immediately returns a response containing the task_id; after the task is completed, the platform will send the generated result to the callback_url in POST JSON format, which also includes the task_id for association.
callback_url by the platform is as follows:
task_id field in the result is consistent with the one returned during the request, allowing for task association through this field.
Error Handling
When calling the API, if an error occurs, the API will return the corresponding error code and message. For example:400 token_mismatched: Bad request, possibly due to missing or invalid parameters.400 api_not_implemented: Bad request, possibly due to missing or invalid parameters.401 invalid_token: Unauthorized, invalid or missing authorization token.429 too_many_requests: Too many requests, you have exceeded the rate limit.500 api_error: Internal server error, something went wrong on the server.

