Kling 3.0 Omni 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 | kling-3.0-omni/image-to-video |
|---|---|
| Type | Video generation (image-to-video) |
| Endpoint | POST /v1/tasks |
| Pricing | See HiAPI Pricing |
Kling 3.0 Omni image-to-video animates one first frame, or a first and last frame, into a 3–15 second clip at 720p to 4k that follows the first frame's aspect ratio, with native synchronized audio, smart multi-shot planning, and @name subject references.
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 add subject motion, camera moves, and atmosphere.
image_urlspromptPass two images as the first and last frames and let the model generate the transition between them.
image_urlsdurationTurn on audio to generate ambience and sound effects together with the picture.
audioAdd more images of the same subject in elements and reference it as @name in the prompt.
elementsRequest parameters
model string required Fixed value kling-3.0-omni/image-to-video.
input object required Model-specific parameters. Put the Kling 3.0 Omni Image-to-Video configuration here.
prompt string required Describe the scene, subject motion, and camera work. To use a subject from elements, mention it in the prompt as @name. 1–3072 characters.
image_urls string[] required 1 image = first frame; 2 images = first frame then last frame. JPG/PNG, up to 50MB each, shortest side at least 300px, aspect ratio 0.4–2.5. The output aspect ratio follows the first frame.
duration integer optional Video length in seconds; any integer from 3 to 15.
resolution enum optional Resolution of the generated video.
audio boolean optional Whether to generate native audio synchronized with the picture (ambience and sound effects).
prefer_multi_shots boolean optional Smart multi-shot: when enabled, the model plans multiple shots from the prompt automatically.
elements object[] optional Reusable subjects, up to 3. Each has a name, a short description, and 2–4 images of the same subject; reference it in the prompt as @name to keep the character or object consistent across the video.
name string required Unique subject name without spaces; referenced in the prompt as @name.
description string required Short description of the subject.
element_input_urls string[] required 2–4 image URLs of the same subject, JPG/PNG.
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
Minimal image-to-video example driven by one first frame: 3 seconds, 720p, no audio.
{
"model": "kling-3.0-omni/image-to-video",
"input": {
"prompt": "Morning fog slowly lifts over the harbor as the fishing boats rock gently on the water; the low sun breaks through the haze and glints on the wet pier, camera slowly pushes in along the dock. Cinematic, calm, photorealistic.",
"image_urls": [
"https://static.hiapi.ai/gallery/2026/07/8acba0f00bdacec3.jpg"
],
"duration": 3,
"resolution": "720p",
"audio": false
}
}Pass two images as the first and last frames for an 8-second 1080p transition with native audio. Replace the last-frame URL with your own image.
{
"model": "kling-3.0-omni/image-to-video",
"input": {
"prompt": "Slow transition from a fog-covered harbor at dawn to the same pier under bright midday sun; the haze gradually clears and the reflections on the water grow brighter while the camera keeps a steady push-in. Photorealistic, with ambient waves and gulls.",
"image_urls": [
"https://static.hiapi.ai/gallery/2026/07/8acba0f00bdacec3.jpg",
"https://example.com/harbor-noon-last-frame.jpg"
],
"duration": 8,
"resolution": "1080p",
"audio": true
}
}Lock the scene with a first frame, add two images of the same character in elements referenced as @captain, and enable smart multi-shot for a 10-second clip. Replace the example URLs with publicly accessible subject images.
{
"model": "kling-3.0-omni/image-to-video",
"input": {
"prompt": "@captain walks from the cabin onto the deck, looks out at the clearing morning fog, then starts coiling a rope. Several shots: medium shot at the cabin door, close-up gazing out, wide shot of the deck. Soft dawn light, cinematic.",
"image_urls": [
"https://static.hiapi.ai/gallery/2026/07/8acba0f00bdacec3.jpg"
],
"elements": [
{
"name": "captain",
"description": "Middle-aged fisherman in a dark blue raincoat and a knit beanie",
"element_input_urls": [
"https://example.com/captain-front.jpg",
"https://example.com/captain-side.jpg"
]
}
],
"duration": 10,
"resolution": "1080p",
"audio": false,
"prefer_multi_shots": true
}
}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
What determines the output aspect ratio?
The aspect ratio of the first image in image_urls, so this model has no aspect_ratio parameter.
What is the difference between 1 and 2 images in image_urls?
One image sets only the first frame. With two images, the first is the first frame and the second is the last frame, and the model generates the transition between them.
What are the image requirements?
JPG/PNG, up to 50MB each, shortest side at least 300px, aspect ratio between 0.4 and 2.5.
How many subjects can elements hold?
Up to 3 subjects for image-to-video, each with 2–4 images of the same subject, referenced in the prompt as @name.
How is it billed?
See the live prices on the HiAPI pricing page. View pricing