Kling 3.0 Omni icon
Video by Kuaishou

Kling 3.0 Omni API

Kling 3.0 Omni is Kuaishou's unified Kling model, and the Kling 3.0 Omni API brings text to video, image to video, reference to video, and video editing together at one endpoint. Add up to seven reference images for consistent characters, restyle or edit an existing clip with a reference video, and co-generate native audio — then receive every generated video through async jobs and webhooks. The Kling 3.0 Omni API runs on Apiframe with no separate Kling AI account to manage.

Integrate Kling 3.0 Omni with a single API call — one key, one unified endpoint, and shared billing across every model on Apiframe.

model: "kling-3.0-omni"

What's special about Kling 3.0 Omni

One unified model for every mode

Kling 3.0 Omni collapses text to video, image to video, reference to video, and video editing into a single model. The Kling 3.0 Omni API picks the right mode from the inputs you send — a prompt alone, a start image, reference images, or a reference video — so one integration covers every kind of video generation behind a single Kling video model.

Reference images for consistent characters

Attach up to seven reference images and address them positionally in the prompt as `<<<image_1>>>`, `<<<image_2>>>`, and so on. The Kling 3.0 Omni API carries each subject, product, or location into the generated video, so subject consistency and character consistency hold across shots — ideal for series, ads, and campaigns.

Reference video for style transfer and editing

Send a short reference video with a `feature` type to transfer its style and camera language, or a `base` type to edit and restyle that clip directly. The Kling 3.0 Omni API turns an existing clip into new video content without a separate editor, keeping motion and continuity intact.

Native audio generation

Kling 3.0 Omni co-generates synchronized sound with the video, so the Kling 3.0 Omni API delivers native audio: music, sound effects, and ambience in the same pass, with natural lip sync. Prefer the original track when editing? Keep the reference video’s sound instead.

Multi shot storytelling

Provide a multi-shot timeline of up to six shots, each with its own prompt and duration, and the Kling 3.0 Omni API returns an edited sequence from a single request. One call ships trailers, explainers, and social clips as a coherent multi shot narrative rather than a single take.

Standard, Pro, and native 4K

Choose Standard (720p), Pro (1080p), or native 4K per request to trade cost for fidelity. The Kling 3.0 Omni API renders high fidelity video with strong physics and cinematic camera movement, and per-second pricing keeps costs predictable across durations from 3 to 15 seconds.

Access Kling 3.0 Omni through one AI API

Apiframe gives you API access to Kling 3.0 Omni behind one AI API and key, with no separate Kling AI account. The Kling 3.0 Omni API uses async jobs: send a request, get a task id, and poll or receive a webhook when the generated video is ready. The same AI API runs other Kling video models and dozens more.

Made with Kling 3.0 Omni

A few outputs generated through the Kling 3.0 Omni API on Apiframe.

Reference to video: <<<image_1>>> gives a gentle head turn and blink in soft window light.

Image to video: animate <<<image_1>>> rotating on a pedestal, studio lighting, logo staying legible.

Multi shot timeline: a wide city street cutting to a close-up of a neon sign, continuous mood and clean cuts.

Text to video with native audio: a waterfall, flowing water and mist, birdsong ambience.

Overview

Endpoint
POST /v2/videos/generate
Model ID
kling-3.0-omni
Params key
klingParams
Modality
Video
Provider
Kuaishou
Avg. completion
~180s

Capabilities

Aspect ratios1:1, 9:16, 16:9
Durations3s, 5s, 8s, 10s, 15s
Image inputSupported
AudioSupported
Avg. time~180s

Quick start

Send a single POST /v2/videos/generate request with your API key to generate with Kling 3.0 Omni. The call returns a jobId you can poll or receive via webhook.

curl -X POST https://api.apiframe.ai/v2/videos/generate \
  -H "X-API-Key: afk_your_api_key_here" \
  -H "Content-Type: application/json" \
  -d '{
        "prompt": "a cinematic sunrise over a futuristic cityscape, smooth camera push-in",
        "model": "kling-3.0-omni",
        "klingParams": {
            "start_image": "https://example.com/input.jpg",
            "mode": "pro",
            "generate_audio": false,
            "end_image": "https://example.com/input.jpg"
        }
    }'
import requests

response = requests.post(
    "https://api.apiframe.ai/v2/videos/generate",
    headers={
        "X-API-Key": "afk_your_api_key_here",
        "Content-Type": "application/json",
    },
    json={
        "prompt": "a cinematic sunrise over a futuristic cityscape, smooth camera push-in",
        "model": "kling-3.0-omni",
        "klingParams": {
            "start_image": "https://example.com/input.jpg",
            "mode": "pro",
            "generate_audio": False,
            "end_image": "https://example.com/input.jpg"
        }
    },
)
print(response.json())  # { "jobId": "...", "status": "QUEUED" }
const response = await fetch("https://api.apiframe.ai/v2/videos/generate", {
  method: "POST",
  headers: {
    "X-API-Key": "afk_your_api_key_here",
    "Content-Type": "application/json",
  },
  body: JSON.stringify({
    "prompt": "a cinematic sunrise over a futuristic cityscape, smooth camera push-in",
    "model": "kling-3.0-omni",
    "klingParams": {
      "start_image": "https://example.com/input.jpg",
      "mode": "pro",
      "generate_audio": false,
      "end_image": "https://example.com/input.jpg"
    }
  }),
});
const { jobId } = await response.json();
console.log(jobId);

Response & job lifecycle

Generation is asynchronous. A successful submission returns 202 Accepted with a jobId. Poll GET /v2/jobs/{id} (or supply a webhook_url) until the status is COMPLETED; the result field then holds the output URL(s).

1. Submission response (202)

{
  "jobId": "b2c3d4e5-f6a7-8901-bcde-f23456789012",
  "status": "QUEUED"
}

2. Poll for the result

curl https://api.apiframe.ai/v2/jobs/JOB_ID \
  -H "X-API-Key: afk_your_api_key_here"
import requests, time

while True:
    job = requests.get(
        "https://api.apiframe.ai/v2/jobs/JOB_ID",
        headers={"X-API-Key": "afk_your_api_key_here"},
    ).json()
    if job["status"] in ("COMPLETED", "FAILED"):
        break
    time.sleep(2)
print(job["result"])
let job;
do {
  await new Promise((r) => setTimeout(r, 2000));
  job = await fetch("https://api.apiframe.ai/v2/jobs/JOB_ID", {
    headers: { "X-API-Key": "afk_your_api_key_here" },
  }).then((r) => r.json());
} while (job.status !== "COMPLETED" && job.status !== "FAILED");
console.log(job.result);

Input schema

Request parameters accepted by the Kling 3.0 Omni endpoint. Model-specific options are nested under the params object shown below.

Parameter Type Required Default Allowed / range Description
prompt string required Text description of what to generate.
model string required "kling-3.0-omni" "kling-3.0-omni" The model identifier for this endpoint.
klingParams.start_image string (URL) optional Use a still as the first frame of the clip.
klingParams.mode string optional "pro" "standard", "pro", "4k" Mode
klingParams.generate_audio boolean optional false Generate audio
klingParams.end_image string (URL) optional Optional last frame to control the ending.
klingParams.reference_images string[] (URLs) optional Up to 7 reference images (max 4 when a reference video is set).
klingParams.reference_video string (URL) optional A 3–10s clip for style transfer or video editing.
klingParams.video_reference_type string optional "feature", "base" How the reference video is used. Required when a reference video is set.
klingParams.keep_original_sound boolean optional false Keep the reference video’s original audio track.
klingParams.negative_prompt string optional Negative prompt

Frequently Asked Questions

Common questions about the Kling 3.0 Omni API.

What is Kling 3.0 Omni?

Kling 3.0 Omni is Kuaishou's unified Kling video model. It handles text to video, image to video, reference to video, and video editing in one model, with native audio and multi shot storytelling. On Apiframe it runs behind one AI API and key, so you call it the way you call every other video generation model.

How is Kling 3.0 Omni different from Kling 3.0?

Kling 3.0 Omni is the unified variant: on top of Kling 3.0’s modes, audio, and multi-shot support, it adds reference images (up to seven), a reference video for style transfer or editing, and a keep-original-sound option. Pricing and the standard/pro/4K modes match Kling 3.0.

How do reference images work?

Pass up to seven image URLs in `reference_images` and refer to them in the prompt as `<<<image_1>>>`, `<<<image_2>>>`, and so on. The Kling 3.0 Omni API uses them to keep characters, products, and locations consistent in the generated video. When you also send a reference video, reference images are capped at four.

Can Kling 3.0 Omni edit an existing video?

Yes. Send a reference video and set `video_reference_type` to `base` to edit or restyle that clip, or `feature` to transfer its style and camera language into a new generation. Audio generation is disabled when a reference video is present; use keep-original-sound to retain the source track.

Does Kling 3.0 Omni generate audio?

Yes. Kling 3.0 Omni co-generates synchronized native audio — music, sound effects, and ambience — with natural lip sync, unless a reference video is supplied. Generate audio and reference video are mutually exclusive.

What duration, aspect ratio, and resolution are supported?

Duration runs from 3 to 15 seconds. Aspect ratios are 16:9, 9:16, and 1:1. Choose Standard (720p), Pro (1080p), or native 4K per request. Pricing is per second of output.

How much does Kling 3.0 Omni cost?

Pricing is per second and matches Kling 3.0: 29 credits/sec Standard, 39 Pro, and 72 at 4K, with audio adding to Standard (43) and Pro (58). The total is the per-second rate times the requested duration. See [Credit costs](/pricing).

How do I call the Kling 3.0 Omni API?

Get an api key, store it in an environment variable, and send a POST request to the Kling 3.0 Omni API with `model: "kling-3.0-omni"`. The request returns a task id; poll it or set a webhook to fetch the video url when the job completes.

Still have questions?

Start building with the Kling 3.0 Omni API

Get your API key and integrate Kling 3.0 Omni in minutes — Pay-as-you-go.

Free credits to start
One API for every model
Webhooks, SDKs & idempotency
No provider account required

Questions? Join our Discord or contact sales.