Skip to content
English

Seedance 2.0 API

POST Base URL: https://api.hiapi.ai /v1/tasks

Image, video, and audio models are called through the Unified Async API POST /v1/tasks endpoint; only the input fields differ (see input parameters below).

Model summary

Model seedance-2.0
Capability Text-to-video / image-to-video / multimodal references
Routes standard / ext

Seedance 2.0 exposes standard and ext routes under one model. Select a route with the top-level route field without changing the model name.

Production guidance

Production guidance
  • Pass callback.url to receive terminal task updates, with polling as a fallback.
  • The standard and ext routes have different resolution, reference-media, and pricing contracts. Validate requests against the selected route.
  • Use the live HiAPI Pricing page instead of hard-coding prices.

Best suited for

Standard route

Use it for 480p or reference-video workflows. It supports image, video, and audio references.

reference_video_urlsresolution
ext route

Offers 720p, 1080p, and 4k tiers plus image and audio references.

routeresolution
First/last frame control

Use first_frame_url and last_frame_url to control the start and end images.

first_frame_urllast_frame_url
Synchronized audio

Enable generate_audio when model-generated synchronized audio is needed.

generate_audio

Request parameters

Route

The standard route supports 480p / 720p / 1080p / 4k plus reference images, reference video, and reference audio. Omit route by default.

model string required

Fixed value seedance-2.0.

example seedance-2.0
route string optional

Omit for the standard route, or pass default explicitly.

example default
input object required

Seedance 2.0 video generation parameters.

prompt string required

Video prompt, 3-20000 characters.

aspect_ratio enum required

Video aspect ratio. adaptive follows the input image ratio for image-to-video and falls back to the default for text-to-video.

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

Video duration, 4-15 seconds.

default 5
resolution enum optional

Video resolution. Supports 480p, 720p, 1080p, and 4k.

default 720p enum: 480p720p1080p4k
first_frame_url string optional

First-frame image URL or asset id. SVG is not supported.

last_frame_url string optional

Last-frame image URL or asset id. A first frame is required when this field is used.

reference_image_urls string[] optional

Reference image URLs. Combined count with first/last frames must not exceed 9. SVG is not supported.

reference_video_urls string[] optional

Reference video URLs, up to 3 videos.

reference_audio_urls string[] optional

Reference audio URLs, up to 3 clips.

return_last_frame boolean optional

Whether to return the last frame of the generated video.

default false
generate_audio boolean optional

Whether to generate synchronized audio.

default true
web_search boolean optional

Whether to enable web search.

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.

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

Callback trigger timing. Use final for terminal-state notifications.

default final enum: final

Example requests

Standard text-to-video

Omit route to use the standard route.

Request body
{
  "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
  }
}
ext 4K text-to-video

Pass ext at the top level and use the ext 4k tier.

Request body
{
  "model": "seedance-2.0",
  "route": "ext",
  "input": {
    "prompt": "Bioluminescent pearl architecture rising from a midnight ocean, cinematic camera movement",
    "aspect_ratio": "16:9",
    "duration": 5,
    "resolution": "4k",
    "generate_audio": true
  }
}
ext with a reference image

Use a reference image on the ext route.

Request body
{
  "model": "seedance-2.0",
  "route": "ext",
  "input": {
    "prompt": "Animate the reference product with a slow cinematic push-in",
    "aspect_ratio": "16:9",
    "duration": 5,
    "resolution": "1080p",
    "reference_image_urls": [
      "https://example.com/reference.jpg"
    ],
    "generate_audio": false
  }
}

Getting the result

  1. Read taskId from the create-task response.
  2. In production, wait for the terminal callback sent to callback.url.
  3. You can also query GET /v1/tasks/:id for status.
  4. Read the video URL from the successful result and copy long-lived assets to your own persistent storage.

FAQ

How do I call the Seedance 2.0 ext route?

Keep model set to seedance-2.0 and pass route: "ext" at the top level. Public examples should not put @ext in model.

What is the difference between standard and ext?

The routes have different resolution tiers, reference-media fields, and prices. Standard offers 480p and reference-video input; ext offers 720p, 1080p, and 4k plus image and audio references.

How is Seedance 2.0 priced?

Pricing is based on generated duration and resolution tier. Standard and ext have different rates; use the live pricing page as the source of truth. View video API pricing

Next steps