Kling V3 Omni

Kling V3 Omni is a multimodal video model for text-to-video, image-to-video, first-and-last-frame generation, multimodal references, and video editing, with controls for generated audio and source-audio preservation. It is suited to creative prototyping, advertising assets, social media production, and automated video workflows that need repeatable API access. Use the playground below to test representative prompts, input media, duration, resolution, aspect ratio, and other controls that are available for this model. Before production rollout, compare motion quality, subject consistency, processing time, failure handling, and estimated cost with your actual workload. The controls shown on this page describe the currently supported integration options.

A multimodal film set with a performer, cinema camera, mirror, and projected ocean imagery
Model ID
kling-v3-omni
Provider
Kling
API endpoint
/v1/videos
Pricing
0.029411764706
Last updated
2026-08-13

Capabilities

  • Video generation through the current public task endpoint
  • Image, reference, duration, or resolution controls when exposed by the live schema
  • Current parameters including prompt, operation, resolution

Limitations

  • Capabilities and parameter ranges can change; pin and validate the parameter set used in production
  • Do not assume support for parameters absent from the live request schema
  • Asynchronous jobs require explicit polling, failure, timeout, and safety-status handling

Use cases

  • Product prototypes and automated content workflows
  • Batch media generation and programmatic creative tooling
  • Multi-model applications that need unified authentication, billing, and usage records

Pricing and billing examples

  • 1K/2K image output | 0.029411764706 | output_images | {"operation":["image.generate","image.edit"],"resolution_tier":["std","default","1k","2k"]}
  • 4K image output | 0.058823529412 | output_images | {"operation":["image.generate","image.edit"],"resolution_tier":"4k"}
  • PRO video editing with audio estimate | 0.205882352941 | input_video_seconds | {"generated_audio":true,"operation":"video.edit","resolution_tier":"pro"}
  • PRO silent video editing | 0.176470588235 | input_video_seconds | {"generated_audio":false,"operation":"video.edit","resolution_tier":"pro"}
  • STD video editing with audio estimate | 0.161764705882 | input_video_seconds | {"generated_audio":true,"operation":"video.edit","resolution_tier":"std"}
  • STD silent video editing | 0.132352941176 | input_video_seconds | {"generated_audio":false,"operation":"video.edit","resolution_tier":"std"}
  • PRO video with audio without references | 0.147058823529 | output_video_seconds | {"generated_audio":true,"input_videos":0,"operation":["video.generate","video.image_to_video","video.reference_to_video"],"resolution_tier":"pro"}
  • PRO silent video without references | 0.117647058824 | output_video_seconds | {"generated_audio":false,"input_videos":0,"operation":["video.generate","video.image_to_video","video.reference_to_video"],"resolution_tier":"pro"}
  • PRO video with audio and references | 0.205882352941 | output_video_seconds | {"generated_audio":true,"input_videos":{"gte":1},"operation":["video.generate","video.image_to_video","video.reference_to_video"],"resolution_tier":"pro"}
  • PRO silent video with references | 0.176470588235 | output_video_seconds | {"generated_audio":false,"input_videos":{"gte":1},"operation":["video.generate","video.image_to_video","video.reference_to_video"],"resolution_tier":"pro"}
  • STD video with audio without references | 0.117647058824 | output_video_seconds | {"generated_audio":true,"input_videos":0,"operation":["video.generate","video.image_to_video","video.reference_to_video"],"resolution_tier":"std"}
  • STD silent video without references | 0.088235294118 | output_video_seconds | {"generated_audio":false,"input_videos":0,"operation":["video.generate","video.image_to_video","video.reference_to_video"],"resolution_tier":"std"}
  • STD video with audio and references | 0.161764705882 | output_video_seconds | {"generated_audio":true,"input_videos":{"gte":1},"operation":["video.generate","video.image_to_video","video.reference_to_video"],"resolution_tier":"std"}
  • STD silent video with references | 0.132352941176 | output_video_seconds | {"generated_audio":false,"input_videos":{"gte":1},"operation":["video.generate","video.image_to_video","video.reference_to_video"],"resolution_tier":"std"}

Request parameters

ParameterTypeRequiredDefaultOptions
modelstringYes
prompttextareaYes
operationselectYestext_to_videotext_to_video, image_to_video, first_last_frame, reference_to_video, edit_video
resolutionselectYesstdstd, pro
durationintegerNo5
aspect_ratioselectNo16:916:9, 9:16, 1:1
soundselectNooffoff, on
imageasset_listNo
last_imageasset_listNo
reference_image_urlsasset_listNo
watermarkbooleanNofalse

API examples

cURL

curl -X POST 'https://api.uniall.ai/v1/videos' \
  -H 'Authorization: Bearer $UNIALL_API_KEY' \
  -H 'Content-Type: application/json' \
  -d '{"aspect_ratio":"16:9","duration":5,"model":"kling-v3-omni","operation":"text_to_video","prompt":"Describe the output you want","resolution":"std","sound":"off","watermark":false}'

Python

import json
import requests

payload = json.loads(r'''{"aspect_ratio":"16:9","duration":5,"model":"kling-v3-omni","operation":"text_to_video","prompt":"Describe the output you want","resolution":"std","sound":"off","watermark":false}''')
response = requests.post(
    "https://api.uniall.ai/v1/videos",
    headers={"Authorization": "Bearer " + UNIALL_API_KEY},
    json=payload,
)
response.raise_for_status()
result = response.json()

JavaScript

const response = await fetch("https://api.uniall.ai/v1/videos", {
  method: 'POST',
  headers: {
    Authorization: `Bearer ${process.env.UNIALL_API_KEY}`,
    'Content-Type': 'application/json',
  },
  body: JSON.stringify({"aspect_ratio":"16:9","duration":5,"model":"kling-v3-omni","operation":"text_to_video","prompt":"Describe the output you want","resolution":"std","sound":"off","watermark":false}),
});

if (!response.ok) throw new Error(`HTTP ${response.status}`);
const result = await response.json();

Frequently asked questions

What API endpoint does kling-v3-omni use?

The endpoint is resolved from the current model capabilities and request schema and shown on this page.

How is kling-v3-omni priced?

The pricing section reads the current structured billing configuration, so editorial text does not need a rewrite after a price change.

Can I use Python?

Yes. The example uses the current endpoint and exact model identifier.

Are JavaScript and cURL examples included?

Yes. All examples share the same live request structure.

Which resolution, duration, or reference-image controls are supported?

Supported controls come from the current request schema. Do not assume fields that are not listed.

What should I validate before production use?

Validate parameters, timeouts, error handling, and asynchronous video task status behavior after model updates.