Seedance 2.0 Fast API
/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-fast |
|---|---|
| Type | Video generation (text-to-video) |
| Endpoint | POST /v1/tasks |
| Pricing | See HiAPI Pricing |
ByteDance Seedance 2.0 Fast is a high-speed video generation model supporting text-to-video, image-to-video (first/last frame), and multimodal reference-to-video (image/video/audio), with native audio, 480p/720p, and 4-15 second clips — all through the unified POST /v1/tasks endpoint.
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
Batch-generate vertical/horizontal short videos for TikTok, Reels, and similar platforms; native audio removes the need for a separate soundtrack.
promptaspect_ratiodurationgenerate_audioTurn a still image, or a first + last frame, into a moving shot while keeping the subject and style consistent.
first_frame_urllast_frame_urlresolutionLock subject, style, or rhythm using reference images/videos/audio — ideal for character consistency and style transfer.
reference_image_urlsreference_video_urlsreference_audio_urlsThe 480p tier is faster and cheaper, billed per second — good for large batch runs and previews before a final pass.
resolutiondurationRequest parameters
model string required Fixed value seedance-2.0-fast.
input object required Business parameters. Put Seedance 2.0 Fast-specific configuration here.
prompt string required Text prompt describing the video to generate. Supports Chinese and English.
aspect_ratio enum optional Output video aspect ratio.
resolution enum optional Output video resolution. 720p offers higher quality; 480p is faster and cheaper.
duration integer optional Video duration in seconds. Billed per second.
generate_audio boolean optional Whether to generate a native audio track.
first_frame_url string optional First-frame image URL for image-to-video. SVG is not supported.
last_frame_url string optional Last-frame image URL (optional, paired with the first frame).
reference_image_urls string[] optional Reference image URLs for multimodal reference-to-video (up to 9). SVG is not supported.
reference_video_urls string[] optional Reference video URLs for multimodal reference-to-video (up to 3, total duration <=15s).
reference_audio_urls string[] optional Reference audio URLs for multimodal reference-to-video (up to 3, total duration <=15s).
web_search boolean optional Use web search during generation (text-to-video only).
callback object optional Optional callback configuration. When set, HiAPI notifies your service when the task reaches a terminal state.
url string required Required when callback is set; HTTPS URL that receives terminal task notifications.
when enum optional Callback trigger timing. Use final.
Example requests
Generate a video with native audio from a text prompt only.
{
"model": "seedance-2.0-fast",
"input": {
"prompt": "A sports car drifting around a neon-lit city corner on a rainy night, water spray flying, reflections on wet asphalt",
"resolution": "720p",
"aspect_ratio": "16:9",
"duration": 5,
"generate_audio": true
}
}Drive generation from a single first-frame image while keeping subject and style consistent.
{
"model": "seedance-2.0-fast",
"input": {
"prompt": "Slow camera push-in with natural motion",
"first_frame_url": "https://your-domain.com/first-frame.png",
"resolution": "720p",
"duration": 5
}
}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.
FAQ
How is Seedance 2.0 Fast billed?
Billed by video duration (seconds), tiered by resolution (480p/720p). See the model page for real-time pricing. View pricing
Does it support image-to-video and multimodal references?
Yes. For image-to-video, pass first_frame_url (and optionally last_frame_url). For multimodal references, pass reference_image_urls / reference_video_urls / reference_audio_urls. Note: image-to-video (first frame), image-to-video (first & last frames), and multimodal reference-to-video are mutually exclusive — use only one per request.
How long does generation take and how do I get the result?
POST /v1/tasks returns a taskId immediately; the video is generated asynchronously (typically ~2-5 minutes). In production, pass callback.url to receive a terminal notification; for local debugging, poll GET /v1/tasks/:id, then download from output[].url on success.
What video lengths are supported?
duration supports 4-15 seconds (default 5).