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, inviting you to register and log in. After completing this, 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 asapplication/json, which is in 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 character and audio-video multimodal references):
doubao-seedance-2-0-260128(standard),doubao-seedance-2-0-fast-260128(fast),doubao-seedance-2-0-mini-260615(lightweight). - Seedance 2.5:
doubao-seedance-2-5-260628, supports up to 30 seconds, pure audio reference, more materials, video editing, and extension.
- Seedance 1.x Series:
content: input content array,typecan betext(prompt),image_url(reference image),audio_url(reference audio),video_url(reference video). Images can specify usage throughrole:first_frame(first frame) /last_frame(last frame) /reference_image(character / subject reference).resolution: output resolution, optional480p/720p/1080p/4k. 2.5 supports 480p, 720p, 1080p; 2.0 Fast/Mini supports 480p, 720p; 2.0 Standard supports up to 4k.ratio: aspect ratio, optional16:9/4:3/1:1/3:4/9:16/21:9/adaptive.duration: video length (seconds, integer). 1.0 series 2–12; 1.5 Pro 4–12; 2.0 series 4–15; 2.5 is 4–30. 1.5/2.x supports-1(automatic length).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, supported by Seedance 1.5 Pro and 2.x series.return_last_frame: whether to return the last frame image URL in the result.omni_reference_task_type: only 2.5;auto/reference/edit/extend.output_format: only 2.5;mp4/mov, defaultmp4.tools: only 2.5; currently supportsweb_searchonline search tool, can limit the number of results, keywords, and search sources.priority: 2.5 optional task priority, integer 0–9, default 0.safety_identifier: a stable anonymous end-user identifier of up to 64 characters; please use a hash or internal anonymous ID, do not input name, email, or phone number.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 totruewhen the interface immediately returnstask_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 for generating the video.
data result.
Additionally, if you want to generate the corresponding integration code, you can directly copy it, for example, the CURL code is as follows:
Inline Parameter Description
At the end of thecontent[].text prompt, you can pass 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 strong validation mode. If parameters are filled incorrectly, clear error messages will be returned, making it easier to troubleshoot issues.
Generate Audio Video
Seedance 1.5 Pro and 2.x series support generating audio videos through thegenerate_audio parameter:
Seedance 2.5 Full Modal Generation, Editing, and Extension
doubao-seedance-2-5-260628 supports 480p / 720p / 1080p, 4–30 seconds or automatic duration, and increases the material limit to 30 reference images, 10 reference videos, and 10 reference audios (up to 50 in total). 2.5 also supports only passing reference audio, no longer requiring images or videos to be provided simultaneously.
Ordinary full modal generation can omit omni_reference_task_type, set to auto, or explicitly set to reference. Video editing and extension must pass in reference_video:
reference: At least onereference_image,reference_video, orreference_audiomust be passed; 2.5 supports only passing reference audio.edit: Must useratio: adaptiveandduration: -1; output duration is billed based on actual results.extend: Must useratio: adaptive;durationcan be 4–30 or-1.auto: The model automatically selects generation, editing, or extension based on the prompt and materials.- If the task type does not match the materials or prompts, the task will fail and return a locatable parameter error; please adjust according to the above constraints and resubmit.
Image to Video First Frame
If you want to perform an image to video task, 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 directly passed in string format (e.g.,"image_url": "https://cdn.acedata.cloud/e724d7f13d.png"), 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 perform an image to video first and last frame, thecontent parameter must first pass in the type image_url, and set the role to first_frame and last_frame, you can specify the following content:
- role: Specify the first frame or last frame.
- image_url
- url Image link
At the same time,
contentalso needs to input typetextas the prompt.
- url Image link
At the same time,
Character and Audio-Video Multimodal 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 reference_image, reference_audio, and reference_video. You can use your own or authorized materials to maintain consistency in character, subject, action, camera movement, sound, and rhythm.
Please only upload your own or authorized real person and character materials. Different models support real person materials in different ways; the request format remains unchanged, and if the materials do not meet the requirements, a clear error will be returned.Usage points:
- Only Seedance 2.0 series models support
reference_image; 1.x models should usefirst_frame/last_frame(first and last frames of the image-generated video). - The first frame of the image-generated video, the first and last frames of the image-generated video, and full-modal references are three mutually exclusive scenarios:
first_frame/last_framecannot be mixed withreference_image/reference_video/reference_audio. - If you want to specify the first and last frames in the full-modal reference, please label the images as
reference_imageand specify in the prompt “Image 1 as the first frame” or “Image 2 as the last frame”; if you need to strictly lock the first and last frames, only usefirst_frame/last_frame. - The upper limit for the number of multimodal references: up to 9
image_url; 2.0 also supportsaudio_url(withroleasreference_audio, up to 3 entries) andvideo_url(withroleasreference_video, up to 3 entries). - Requirements for reference audio (
audio_url) materials: formatswav/mp3; single duration 2~15 seconds, up to 3 entries and total duration not exceeding 15 seconds; single entry not exceeding 15 MB. Exceeding the duration range will fail during the material processing stage. - Requirements for reference video (
video_url) materials: formatsmp4/mov; single duration 2~15 seconds, up to 3 entries and total duration not exceeding 15 seconds. - It is recommended to use single person, frontal, clear, unobstructed photos for reference images; the clearer the face, the higher the similarity.
Example 1: Close-up to Maintain Character Appearance
Pass in a face photo, letting 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 character identity, while the scene, clothing, and actions are completely determined by the prompt. Below, using the same face photo, let the character wear a beige coat and walk 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 use first_frame (the first frame of the video generated from the image) to start the video movement 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 occupation.
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 contains 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.

