Skip to content
English

Seedance 2.0 Fast API

POST /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

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

Short-form & social content

Batch-generate vertical/horizontal short videos for TikTok, Reels, and similar platforms; native audio removes the need for a separate soundtrack.

promptaspect_ratiodurationgenerate_audio
Image-to-video (first/last frame)

Turn a still image, or a first + last frame, into a moving shot while keeping the subject and style consistent.

first_frame_urllast_frame_urlresolution
Multimodal reference-to-video

Lock subject, style, or rhythm using reference images/videos/audio — ideal for character consistency and style transfer.

reference_image_urlsreference_video_urlsreference_audio_urls
Cost-sensitive generation at scale

The 480p tier is faster and cheaper, billed per second — good for large batch runs and previews before a final pass.

resolutionduration

Request parameters

model string required

Fixed value seedance-2.0-fast.

example 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.

default 16:9 enum: 1:14:33:416:99:1621:9adaptive
resolution enum optional

Output video resolution. 720p offers higher quality; 480p is faster and cheaper.

default 720p enum: 480p720p
duration integer optional

Video duration in seconds. Billed per second.

default 5
generate_audio boolean optional

Whether to generate a native audio track.

default true
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).

default false
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.

example https://your-domain.com/hiapi/callback
when enum optional

Callback trigger timing. Use final.

default final enum: final

Example requests

Text-to-video (with audio)

Generate a video with native audio from a text prompt only.

Request body
{
  "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
  }
}
Image-to-video (first frame)

Drive generation from a single first-frame image while keeping subject and style consistent.

Request body
{
  "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

  1. The response returns a taskId immediately without waiting for generation to finish.
  2. In production, prefer waiting for callback.url to receive the terminal notification. For local debugging, poll GET /v1/tasks/:id.
  3. When status=success, download the generated video from output[].url.
  4. 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).

Next steps