Theme
Language
·6 min read

Kling 3.0 Omni API: reference-to-video and video transformation, explained

How to use Kling 3.0 Omni Reference (video from reference images) and Kling 3.0 Omni Transformation (restyle an existing video) through one API: parameters, live price quotes, code, limits and FAQ.

Kling 3.0 Omni API: reference-to-video and video transformation, explained

Kling 3.0 Omni (also called Kling O3) is Kuaishou’s video model family with native audio and output up to 4K. Two of its modes solve problems that plain text-to-video cannot: Reference keeps a specific character or product consistent by generating from your images, and Transformation takes a video you already have and restyles it from a text description. GetVibe API offers both under one key. This guide explains when to use which, the parameters, how pricing works, and the code to call them.

Reference vs Transformation at a glance

  • Kling 3.0 Omni Reference (kling-v3-omni-reference): new video from reference images (up to 7) and a prompt, 3 to 15 seconds, 720p, 1080p or 4K, optional native audio. Use it when the same person, mascot or product has to look the same across clips.
  • Kling 3.0 Omni Transformation (kling-v3-omni-transformation): your video (3 to 15.5 seconds) transformed by a prompt, optionally guided by up to 4 reference images. The result follows the source’s motion and length and is silent. Use it for style transfer, changing the setting, or turning live footage into animation.

There is also plain Kling 3.0 Omni for text-to-video and image-to-video. The rule of thumb: start from text with the base model, from images with Reference, from a video with Transformation.

Kling 3.0 Omni Reference

Parameters

  • prompt (required): the scene and action.
  • input_urls: up to 7 public HTTPS image URLs (character, product, outfit, setting). image_url takes a single image.
  • duration: "3" to "15" seconds.
  • resolution: "720p", "1080p" or "4k".
  • aspect_ratio: "16:9", "9:16" or "1:1".
  • audio: true for native sound (ambient, effects, speech the model decides on). Only available without a reference video.
  • video_input / video_url: a reference video (3 to 15 seconds, MP4/MOV) can be supplied instead of or alongside images (then up to 4 images); native audio is off in that mode.

Price

Reference is priced per second of output by resolution and audio. 720p without audio is the cheapest tier; native audio and higher resolutions cost more, and 4K is the top tier. The live table is on the Kling 3.0 Omni Reference model page. For an exact figure for your request, use the free quote endpoint shown below.

Kling 3.0 Omni Transformation

Parameters

  • video_url (required): the source video, 3 to 15.5 seconds.
  • prompt (required): what to change (“hand-drawn watercolor animation”, “the street at night in heavy rain”, “claymation style”).
  • input_urls / image_url: up to 4 reference images to steer the new look.
  • resolution: "720p", "1080p" or "4k".
  • aspect_ratio: applies only when reference images are sent.
  • duration: only an estimate for the quote; the real length comes from your source video.

The output has no sound. If you need the original audio, mux it back from the source file afterwards (for example with ffmpeg).

Price

Transformation is priced per second of the source video, by resolution. The charge is the per-second rate times the length of your file, which is why the quote is marked as an estimate until the file is measured. See the Kling 3.0 Omni Transformation model page for the live per-second rates.

Code: quote first, then generate

Video is the most expensive media type, so the safe pattern is to quote every request before you submit it. The quote endpoint takes exactly the same body as the generation endpoint, costs nothing, and returns a quoteId valid for 15 minutes.

import os, requests

API = "https://getvibeapi.com"
HEADERS = {"Authorization": f"Bearer {os.environ['GETVIBE_API_KEY']}"}

reference = {
    "model": "kling-v3-omni-reference",
    "prompt": "The woman from the reference photo walks through a sunlit bakery and hands a loaf to the camera",
    "opts": {
        "input_urls": ["https://your-cdn.example/presenter.jpg"],
        "duration": "5",
        "resolution": "720p",
        "aspect_ratio": "16:9",
        "audio": False,
    },
}

transformation = {
    "model": "kling-v3-omni-transformation",
    "prompt": "Turn the scene into a hand-drawn watercolor animation",
    "opts": {
        "video_url": "https://your-cdn.example/source.mp4",
        "resolution": "720p",
        "duration": "5",   # estimate only; billing follows the source length
    },
}

for body in (reference, transformation):
    q = requests.post(f"{API}/api/media/price", json=body, headers=HEADERS).json()
    print(body["model"], q["priceUsd"], q["isEstimate"], q["chargeBasis"])

What it printed when we ran it on October 22, 2026:

kling-v3-omni-reference 0.4375 True source_duration
kling-v3-omni-transformation 0.625 True source_duration

Switching the reference request to "audio": true raised the quote to 0.5625 in our run, so native audio added about 29% at 720p. Prices move with supply, so re-quote rather than hard-coding these numbers.

When the quote looks right, send the same body to /api/media/generate (optionally with the "quote_id" from the quote to pin the price), then poll /api/media/jobs/<jobId> until the status is success:

job = requests.post(f"{API}/api/media/generate", json=reference, headers=HEADERS).json()
print(job["jobId"], job["status"])

r = requests.get(f"{API}/api/media/jobs/{job['jobId']}", headers=HEADERS).json()
print(r["status"], r["resultUrls"])

Video jobs take minutes, not seconds. For batches, register a webhook instead of polling; see media webhooks and the media generation docs.

Practical tips

  • Consistency comes from the references. For a recurring character, reuse the same 2 to 4 clean images (front, three-quarter, full body) across every Reference clip.
  • Iterate cheap, finish expensive. Find the prompt at 720p and short durations; render the final at 1080p or 4K.
  • Trim the source before a Transformation. You pay for every second of the input, so cut it to the part you actually need, and stay within 3 to 15.5 seconds.
  • Keep the prompt about change. In Transformation, describe the new look, not the motion; the motion comes from your video.
  • Need a talking presenter with your own voice? That is a different job; see talking video from a photo and your voiceover.

All video models, with their inputs and prices, are on the models page; image, video and voice through one API covers the general media flow.

Typical use cases

  • Brand mascot series. One set of mascot images, many short Reference clips in different scenes, the character stays recognizable.
  • Product shots. Upload clean product photos and generate the item on a table, in a hand, or in use, without a physical shoot.
  • Restyled B-roll. Take ordinary phone footage and turn it into watercolor, anime or claymation with Transformation for intros and transitions.
  • Location changes. Keep the motion of a real take and change day to night, summer to snow, or a plain room to a stylized set.

Common errors and how to avoid them

  • Source video too short or too long. Transformation accepts 3 to 15.5 seconds; trim the file before you send it.
  • Audio with a reference video. Native audio is only available for image references. If you need sound with a video reference, add it in post.
  • Private file links. Every URL must be publicly reachable over HTTPS. Signed links that expire in seconds, or files behind a login, will fail.
  • Too many references. More is not better: 7 images is the ceiling for Reference, 4 for Transformation, and a few consistent, well-lit images usually work better than many mixed ones.

FAQ

What is the difference between Kling 3.0 Omni Reference and Transformation?

Reference creates a new clip from images and a prompt. Transformation changes an existing video according to a prompt and keeps its motion and length.

Does Kling 3.0 Omni generate sound?

Reference can, with "audio": true, when no reference video is used. Transformation output is always silent.

How much does Kling 3.0 Omni cost?

Both modes are priced per second by resolution (and audio for Reference). Get an exact number for your request from the free /api/media/price endpoint; live tiers are on the Reference and Transformation model pages.

How many reference images can I use?

Up to 7 for Reference (up to 4 together with a reference video) and up to 4 for Transformation.

Can I output 4K?

Yes, both modes accept "resolution": "4k" (3840×2160). It is the most expensive tier, so quote it first.

Kling 3.0 Omni APIKling O3 APIkling-v3-omni-referencekling-v3-omni-transformationreference to video APIvideo style transfer APIGetVibe API

Try GetVibe API for free

GPT, Claude, Gemini and more through one OpenAI-compatible API. Pay in USD by card or crypto.

Related articles

Kling 3.0 Omni API: reference-to-video and video transformation, explained | GetVibe API