Luma Ray 3.2 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 name | ray-3.2/image-to-video |
|---|---|
| Type | Video generation (image-to-video) |
| Endpoint | POST /v1/tasks |
| Pricing | See HiAPI Pricing |
Luma Ray 3.2 image-to-video turns a first frame, with an optional last frame, into a 5-second cinematic clip at 540p, 720p, or 1080p, matched to the closest supported aspect ratio of the first frame.
Production guidance
- For production, pass callback.url at the top level of the request body so HiAPI can notify your service when the task reaches a terminal state.
- GET /v1/tasks/:id is better for local debugging, low-volume jobs, or fallback reconciliation if a callback is missed.
- Use callback.when=final. Both success and fail are terminal states, so your service should deduplicate by taskId.
Best suited for
Use an existing image as the first frame and describe camera moves and scene changes in the prompt.
image_urlpromptProvide both a first and a last frame to generate a transition from the starting shot to the target shot.
image_urlend_image_urlChoose 540p, 720p, or 1080p output.
resolutionRequest parameters
model string required Fixed value ray-3.2/image-to-video.
input object required Business parameters. Put Luma Ray 3.2 Image to Video-specific configuration here.
prompt string required Describes the motion, camera movement, and scene changes to create from the image. 1–6000 characters.
image_url string required Public image URL used as the first frame. The output is matched to the closest supported aspect ratio (16:9, 9:16, 1:1, 4:3, 3:4, 21:9), so the image may be cropped.
end_image_url string optional Public image URL used as the last frame. When set, the video transitions from the first frame to this frame.
resolution enum optional Output video resolution: 540p, 720p, or 1080p. Every video is 5 seconds long.
callback object optional Optional callback configuration. When set, HiAPI notifies your service when the task reaches a terminal state.
url string required Required when callback is set; HTTPS URL that receives terminal task notifications.
when enum optional Callback trigger timing. Use final.
Example requests
First-frame image-to-video example: a 5-second clip at 720p.
{
"model": "ray-3.2/image-to-video",
"input": {
"prompt": "The shooting star streaks across the Milky Way as the camera slowly cranes down toward the glowing tent, desert sand ripples shimmer in the lantern light, cinematic night timelapse feel",
"image_url": "https://static.hiapi.ai/previews/nano-banana-2-lite/2026/07/03/1783076316176-b9c9c7b278a01155-nano-lite-g2-desert.webp",
"resolution": "720p"
}
}Getting the result
- The response returns a taskId immediately without waiting for generation to finish.
- In production, prefer waiting for callback.url to receive the terminal notification. For local debugging, poll GET /v1/tasks/:id.
- When status=success, download the generated video from output[].url.
- When status=fail, fix the request based on the returned error instead of retrying the same invalid payload.
FAQ
Can I set the duration or aspect ratio?
No. Every video is 5 seconds long. The aspect ratio is derived from the image_url first frame and matched to the closest supported ratio (16:9, 9:16, 1:1, 4:3, 3:4, 21:9), so the image may be cropped when the ratios differ; there are no duration or aspect_ratio parameters.
How do first and last frames work?
Pass the first frame in image_url and an optional last frame in end_image_url; the video transitions from the first frame to the last. Without end_image_url, generation starts from the first frame only.
How is it billed?
See the live prices on the HiAPI pricing page. View pricing