Wan 3.0 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 name | wan3.0-video |
|---|---|
| Type | Video generation (all-purpose reference) |
| Endpoint | POST /v1/tasks |
| Pricing | See HiAPI Pricing |
Wan 3.0 all-purpose video generation API for text, first/last frames, reference images, videos, audio, files, and webpages, with 480P, 720P, or 1080P output and optional synchronized audio.
Production guidance
- The submission returns a taskId immediately; use callback.url for terminal notifications in production.
- Poll GET /v1/tasks/:id for local debugging or callback reconciliation.
- Reference video duration plus output duration must stay within 30 seconds; first/last-frame mode cannot be combined with reference arrays.
Best suited for
Describe the complete scene, motion, and camera in the prompt.
promptCombine image, video, or audio references and address them in order in the prompt.
promptreference_image_urlsreference_video_urlsreference_audio_urlsControl the beginning and ending frames with two images.
first_frame_urllast_frame_urlRequest parameters
model string required Fixed value wan3.0-video.
input object required Model input parameters.
prompt string required Describe the scene, motion, camera, lighting, and sound. In reference mode, use Image1, Video1, or Audio1 in the order of the supplied arrays.
first_frame_url string optional One publicly reachable image used as the first frame. Do not combine with reference media arrays.
last_frame_url string optional One publicly reachable image used as the last frame together with first_frame_url.
reference_image_urls string[] optional Up to 10 publicly reachable reference image URLs for all-purpose reference generation.
reference_video_urls string[] optional Up to 5 reference video URLs. Each clip is 1-15 seconds and the combined duration is at most 15 seconds.
reference_audio_urls string[] optional Up to 5 WAV or MP3 reference audio URLs. Pair audio with an image or video.
reference_file_urls string[] optional At most one publicly reachable document or presentation URL.
reference_link_urls string[] optional At most one publicly reachable webpage URL that does not require login.
resolution enum optional Output video resolution.
aspect_ratio enum optional Output aspect ratio; adaptive follows the media and prompt.
duration integer optional Output duration in seconds, from 2 to 30. Reference video duration plus output duration must not exceed 30 seconds.
audio boolean optional Include a synchronized audio track in the output video.
seed integer optional Fixed random seed for reproducible results, from 0 to 2147483647.
callback object optional Optional terminal-state callback configuration.
url string required HTTPS URL that receives terminal task notifications.
when enum optional Callback trigger timing.
Example requests
A low-resolution example sourced from the verified golden task.
{
"model": "wan3.0-video",
"input": {
"prompt": "A small cat runs across a moonlit rooftop while neon signs flicker in the distance; cinematic camera movement and natural motion.",
"resolution": "480P",
"aspect_ratio": "adaptive",
"duration": 5,
"audio": true
}
}Place public media URLs in the matching array and refer to them in the prompt.
{
"model": "wan3.0-video",
"input": {
"prompt": "The subject from Image1 walks toward the camera on a rainy night street.",
"reference_image_urls": [
"https://example.com/reference.jpg"
],
"resolution": "720P",
"aspect_ratio": "9:16",
"duration": 5,
"audio": true
}
}Getting the result
- POST /v1/tasks returns a taskId immediately.
- When the task succeeds, download the video from output[].url.
- When it fails, fix the request from the error message instead of repeating the same invalid payload.
FAQ
How do I retrieve the result?
Use the returned taskId. On success, download the video from output[].url or receive a terminal callback at callback.url.
Can first-frame input be combined with reference images?
First/last-frame mode and reference_* arrays are mutually exclusive. Choose the mode that matches the media role.