Skip to content
English

Kling 3.0 Omni Text-to-Video API

POST Base URL: 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/text-to-video
Type Video generation (text-to-video)
Endpoint POST /v1/tasks
Pricing See HiAPI Pricing

Kling 3.0 Omni text-to-video turns a prompt into a 3–15 second clip at 720p to 4k, with 16:9 / 9:16 / 1:1 output, native synchronized audio, smart multi-shot planning, and @name subject references for consistent characters.

Production guidance

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

Prompt-only clips

Describe the scene, motion, and camera work in text and get a cinematic shot.

promptdurationresolution
Clips with synchronized audio

Turn on audio to generate ambience and sound effects together with the picture.

audio
Multi-shot storytelling

Turn on prefer_multi_shots to let the model plan several shots from one prompt.

prefer_multi_shots
Consistent characters across a series

Pass several images of the same subject in elements and reference it as @name in the prompt.

elements

Request parameters

model string required

Fixed value kling-3.0-omni/text-to-video.

example kling-3.0-omni/text-to-video
input object required

Model-specific parameters. Put the Kling 3.0 Omni Text-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.

duration integer optional

Video length in seconds; any integer from 3 to 15.

default 5
resolution enum optional

Resolution of the generated video.

default 720p enum: 720p1080p4k
audio boolean optional

Whether to generate native audio synchronized with the picture (ambience and sound effects).

default false example true
aspect_ratio enum optional

Aspect ratio of the generated video.

default 16:9 enum: 16:99:161:1
prefer_multi_shots boolean optional

Smart multi-shot: when enabled, the model plans multiple shots from the prompt automatically.

default false example true
elements object[] optional

Reusable subjects, up to 7. 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.

example https://your-domain.com/hiapi/callback
when enum optional

Callback trigger timing. Use final.

default final enum: final

Example requests

Paper boat in the rain

Minimal text-to-video example: 3 seconds, 720p, 16:9, no audio.

Request body
{
  "model": "kling-3.0-omni/text-to-video",
  "input": {
    "prompt": "A paper boat drifts down a rain-soaked city gutter at dusk, neon signs reflecting and rippling on the water; the camera glides low beside it as raindrops splash around. Cinematic, shallow depth of field, smooth tracking motion.",
    "duration": 3,
    "resolution": "720p",
    "audio": false,
    "aspect_ratio": "16:9"
  }
}
4k portrait with audio

Portrait 9:16 at 4k, 8 seconds, with native audio enabled.

Request body
{
  "model": "kling-3.0-omni/text-to-video",
  "input": {
    "prompt": "Morning fog slowly lifts over a fishing harbor; boats rock gently on the water, the low sun breaks through the haze onto the wet pier, and the camera pushes in slowly along the dock. Photorealistic, calm, with ambient waves and gulls.",
    "duration": 8,
    "resolution": "4k",
    "audio": true,
    "aspect_ratio": "9:16"
  }
}
Subject elements + smart multi-shot

Pass three images of the same character in elements, reference it as @mika in the prompt, and enable smart multi-shot for a 10-second clip. Replace the example URLs with publicly accessible subject images.

Request body
{
  "model": "kling-3.0-omni/text-to-video",
  "input": {
    "prompt": "@mika walks into an old-fashioned cafe; the door chime rings as she enters, she sits by the window and opens a notebook. Several shots: wide shot at the door, medium shot sitting down, close-up turning a page. Warm afternoon light, cinematic.",
    "elements": [
      {
        "name": "mika",
        "description": "Short-haired girl in a beige trench coat with round glasses",
        "element_input_urls": [
          "https://example.com/mika-front.jpg",
          "https://example.com/mika-side.jpg",
          "https://example.com/mika-back.jpg"
        ]
      }
    ],
    "duration": 10,
    "resolution": "1080p",
    "audio": true,
    "aspect_ratio": "9:16",
    "prefer_multi_shots": true
  }
}

Getting the result

  1. The response returns a taskId immediately without waiting for generation to finish.
  2. In production, prefer waiting for callback.url to receive the terminal notification. For local debugging, poll GET /v1/tasks/:id.
  3. When status=success, download the generated video from output[].url.
  4. When status=fail, fix the request based on the returned error instead of retrying the same invalid payload.

FAQ

What are the prompt limits?

prompt accepts 1–3072 characters. Describe the scene, subject motion, and camera work; reference elements subjects as @name.

How do I keep the same character consistent across videos?

Pass 2–4 images of the character in elements with a name, then reference it as @name in the prompt. Up to 7 subjects per request.

What does audio generate?

Native audio synchronized with the picture, including ambience and sound effects. It is off by default.

What is prefer_multi_shots?

Smart multi-shot. When enabled, the model plans several shots from the prompt and cuts between them, which suits narrative content. It is off by default.

How is it billed?

See the live prices on the HiAPI pricing page. View pricing

Next steps