Seedance 2.5 Image to Video API
https://api.hiapi.ai /v1/tasks Image, video, and audio models are called through theUnified Async API POST /v1/tasks endpoint; only the input fields differ (see input parameters below).
Model summary
| Model | seedance-2.5/image-to-video |
|---|---|
| Capability | First-frame / first-last-frame image-to-video |
| Resolution | 720p / 1080p |
| Duration | 4-30 seconds |
Generate up to 30 seconds from a first frame or a first/last-frame pair, with the output ratio following the first frame and optional synchronized audio.
Production guidance
- When providing last_frame_url, also provide first_frame_url.
- Use callback.url for task success or failure notifications; read the task object from data in query responses and directly from the callback body.
- Artifact URLs expire; copy files you need to keep into persistent storage.
Best suited for
Add natural motion and camera movement to a poster, product image, illustration, or scene.
first_frame_urlSpecify both endpoints to create a coherent transition between two images.
first_frame_urllast_frame_urlGenerate synchronized dialogue, effects, and background music for an image-driven shot.
generate_audioRequest parameters
model string required Model ID.
input object required First-frame and first/last-frame image-to-video parameters.
prompt string required Motion, camera, scene, and audio instructions. Eleven prompt languages are supported.
first_frame_url string optional First-frame HTTP(S) URL, data URL, or asset://<id> asset ID. First-frame or first/last-frame input cannot be combined with reference images or audio.
last_frame_url string optional Last-frame image URL used with first_frame_url. If its ratio differs from the first frame, it is center-cropped. First/last-frame input cannot be combined with reference images or audio.
reference_image_urls string[] optional Array of up to 30 reference image URLs for subject, style, or composition guidance. Reference images cannot be combined with first_frame_url or last_frame_url.
reference_audio_urls string[] optional Array of up to 10 reference audio clips for voice or sound guidance. Reference audio cannot be combined with first_frame_url or last_frame_url.
resolution enum optional Output video resolution.
duration integer optional Output duration in seconds. Accepts integers from 4 to 30.
aspect_ratio enum optional Output aspect ratio, derived from the first frame.
generate_audio boolean optional Generate synchronized dialogue, effects, and background audio.
output_format enum optional Output format. mp4 has broad compatibility; mov is intended for professional post-production.
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.
callback object optional Sends a notification when the task succeeds or fails; read the task object from data in query responses and directly from the callback body.
url string required HTTPS URL that receives task success or failure notifications.
when enum optional Triggers when the task succeeds or fails.
Example requests
Pass only the first frame and let the model create motion.
{
"model": "seedance-2.5/image-to-video",
"input": {
"prompt": "Move from a static view into a slow orbit",
"first_frame_url": "https://example.com/first-frame.jpg",
"resolution": "720p",
"duration": 6,
"aspect_ratio": "adaptive"
}
}Generate a coherent transition between two images.
{
"model": "seedance-2.5/image-to-video",
"input": {
"prompt": "A natural time-lapse transition from day to night",
"first_frame_url": "https://example.com/day.jpg",
"last_frame_url": "https://example.com/night.jpg",
"resolution": "720p",
"duration": 8,
"aspect_ratio": "adaptive",
"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
Where do I read the task from callback and polling responses?
Read the task object from data in query responses and directly from the callback body.
Can I pass only first_frame_url?
Yes. last_frame_url is optional; without it, the model creates the rest of the shot from the first frame.
What is the difference between image aspect ratio and aspect_ratio?
Input images must have an aspect ratio from 0.4 to 2.5; aspect_ratio=adaptive means the output video ratio follows the first frame.
Can I send first/last frames together with reference images or audio?
No. First-frame/first-last-frame input cannot be combined with reference images or reference audio. First-frame and first/last-frame mode can still set generate_audio=true to generate sound synchronized with the picture.