Seedance 2.5 Text to Video API
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
- 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
Generate 4-30 seconds in one task.
durationGenerate dialogue, ambience, effects, and background music with the picture.
generate_audioCreate landscape, portrait, square, or 21:9 widescreen output.
aspect_ratioRequest parameters
model string required Model ID.
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.
duration integer optional Output duration in seconds. Accepts integers from 4 to 30 and defaults to 5 seconds.
aspect_ratio enum optional Output aspect ratio. adaptive lets the model select a ratio from the prompt.
generate_audio boolean optional Generate synchronized dialogue, effects, and background audio. Generated audio is mono.
output_format enum optional Output format. mp4 has broad compatibility; mov is intended for grading, keying, and compositing workflows.
watermark boolean optional Add an AI-generated watermark to the bottom-right corner.
web_search boolean optional Allow the model to search for current information mentioned in the prompt. This may increase processing time.
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.
when enum optional Triggers when the task reaches a terminal state.
Example requests
Generate an 8-second 720p landscape clip.
{
"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"
}
}Disable generated audio for a later voice-over.
{
"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
- Read data.taskId from the create-task response.
- Wait for the callback or query GET /v1/tasks/:id; polling puts the task under data.
- 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.