Skip to content
English

Seedance 2.5 Text to Video 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.5/text-to-video
Capability Text-to-video
Resolution 480p / 720p
Duration 4-30 seconds

Generate a continuous clip of up to 30 seconds from text, with 480p or 720p output, seven aspect ratios, and synchronized audio.

Production guidance

Calling the API
  • Use callback.url for terminal notifications and GET /v1/tasks/:id as a fallback query.
  • Read the video artifact from the output item whose type is video.
  • Artifact URLs expire; copy files you need to keep into persistent storage.

Best suited for

Long-take storytelling

Generate 4-30 seconds in one task.

duration
Synchronized sound

Generate dialogue, ambience, effects, and background music with the picture.

generate_audio
Multiple formats

Create landscape, portrait, square, or 21:9 widescreen output.

aspect_ratio

Request parameters

model string required

Model ID.

example seedance-2.5/text-to-video
input object required

Text-to-video parameters.

prompt string required

Describe the video. Supported languages are Chinese, English, Spanish, Indonesian, Portuguese, Japanese, Malay, Thai, Arabic, Vietnamese, and Korean. Keep Chinese prompts within 500 characters or English prompts within 1,000 words for best results.

resolution enum optional

Output video resolution. Defaults to 480p.

default 480p enum: 480p720p
duration integer optional

Output duration in seconds. Accepts integers from 4 to 30 and defaults to 5 seconds.

default 5
aspect_ratio enum optional

Output aspect ratio. adaptive lets the model select a ratio from the prompt.

default adaptive enum: 16:94:31:13:49:1621:9adaptive
generate_audio boolean optional

Generate synchronized dialogue, effects, and background audio. Generated audio is mono.

default true
output_format enum optional

Output format. mp4 has broad compatibility; mov is intended for grading, keying, and compositing workflows.

default mp4 enum: mp4mov
watermark boolean optional

Add an AI-generated watermark to the bottom-right corner.

default false
web_search boolean optional

Allow the model to search for current information mentioned in the prompt. This may increase processing time.

default false
callback object optional

Sends the task object when the task reaches a terminal state; the polling endpoint wraps the same object in data.

url string required

HTTPS URL that receives terminal notifications.

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

Triggers when the task reaches a terminal state.

default final enum: final

Example requests

Basic text-to-video

Generate an 8-second 720p landscape clip.

Request body
{
  "model": "seedance-2.5/text-to-video",
  "input": {
    "prompt": "A misty valley at sunrise, slow push-in, distant birdsong",
    "resolution": "720p",
    "duration": 8,
    "aspect_ratio": "16:9"
  }
}
Silent vertical video

Disable generated audio for a later voice-over.

Request body
{
  "model": "seedance-2.5/text-to-video",
  "input": {
    "prompt": "A barista making latte art, close camera following the hands",
    "resolution": "480p",
    "duration": 6,
    "aspect_ratio": "9:16",
    "generate_audio": false
  }
}

Getting the result

  1. Read data.taskId from the create-task response.
  2. Wait for the callback or query GET /v1/tasks/:id; polling puts the task under data.
  3. When status=success, read the video URL from output type=video; a callback reads output directly.

FAQ

How do callback and polling responses differ?

They contain the same task fields but use different HTTP envelopes: polling puts the task under data, while the callback body is the task object itself.

Next steps