Seedance 2.0
/v1/tasks All models are called through the Unified Async API POST /v1/tasks endpoint; only the input fields differ (see input parameters below).
Model summary
| Model name | seedance-2-0 |
|---|---|
| Type | Video generation (text-to-video / reference-driven) |
| Endpoint | POST /v1/tasks |
| Pricing | See HiAPI Pricing |
Seedance 2.0 supports text-to-video, first-frame / first-last-frame image-to-video, and multimodal reference video generation, with optional synchronized audio.
Production guidance
- For production, pass callback.url at the top level of the request body so HiAPI can notify your service when the task reaches a terminal state.
- GET /v1/tasks/:id is better for local debugging, low-volume jobs, or fallback reconciliation if a callback is missed.
- Use callback.when=final. Both success and fail are terminal states, so your service should deduplicate by taskId.
Best suited for
Generate clips from a prompt for ads, storyboards, and creative previews.
promptdurationUse first_frame_url and last_frame_url to control start and end frames.
first_frame_urllast_frame_urlPass reference images, video, or audio to guide generation.
reference_image_urlsreference_video_urlsreference_audio_urlsEnable generate_audio when audio is needed.
generate_audioRequest parameters
model string required Fixed value seedance-2-0.
input object required Business parameters for core settings, reference media, and advanced switches.
prompt string required Video prompt, 3-20000 characters.
aspect_ratio enum required Video aspect ratio.
duration integer optional Video duration, 4-15 seconds.
resolution enum optional Video resolution. Current options are 480p, 720p, and 1080p.
first_frame_url string optional First-frame image URL or asset id.
last_frame_url string optional Last-frame image URL or asset id.
reference_image_urls string[] optional Reference image URL list. Combined count with first/last frames should not exceed 9.
reference_video_urls string[] optional Reference video URL list, up to 3 videos.
reference_audio_urls string[] optional Reference audio URL list, up to 3 clips.
return_last_frame boolean optional Whether to return the last frame of the generated video.
generate_audio boolean optional Whether to generate synchronized audio.
web_search boolean optional Whether to enable web search.
nsfw_checker boolean optional Whether to enable content checking.
seed integer optional Random seed, range 0-2147483647.
callback object optional Optional callback configuration. In production, pass callback.url so HiAPI can notify your service when the task reaches a terminal state.
url string required HTTPS URL that receives terminal task notifications.
when enum optional Callback trigger timing. Use final for terminal-state notifications.
Example requests
Low-cost test body for validating the prompt.
{
"model": "seedance-2-0",
"input": {
"prompt": "A ceramic cup gently rotating on a clean studio table",
"aspect_ratio": "16:9",
"duration": 4,
"resolution": "480p",
"generate_audio": false
}
}Pass a first frame to control the starting image.
{
"model": "seedance-2-0",
"input": {
"prompt": "Animate the product with a slow cinematic push-in",
"aspect_ratio": "16:9",
"duration": 5,
"resolution": "720p",
"first_frame_url": "https://example.com/first.jpg",
"generate_audio": false
}
}Video tasks should use callbacks for terminal status.
{
"model": "seedance-2-0",
"input": {
"prompt": "A cinematic studio shot of a ceramic cup with soft steam",
"aspect_ratio": "16:9",
"duration": 4,
"resolution": "480p",
"generate_audio": false
},
"callback": {
"url": "https://your-domain.com/hiapi/callback",
"when": "final"
}
}Getting the result
- The response returns a taskId immediately without waiting for generation to finish.
- In production, prefer waiting for callback.url to receive the terminal notification. For local debugging, poll GET /v1/tasks/:id.
- When status=success, download the generated video from output[].url.
- When status=fail, fix the request based on the returned error instead of retrying the same invalid payload.