Kling Video O1 powers seamless transitions from start and end frames into dynamic videos, blending image inputs with text prompts for precise motion and style control. This model excels in cinematic storytelling through frame interpolation.
Kling O1 achieves industry-leading motion consistency, with characters and objects retaining properties without morphing, outperforming prior models in frame-to-frame stability. Processing includes a reasoning step that boosts quality but adds time, yielding realistic camera flows in 5-10s clips up to 2K. Benchmarks highlight superior handling of physics and multi-subject interactions compared to Kling 2.1.

vs Kling 2.1: O1 introduces CoT reasoning and multi-modal inputs for 2x better motion accuracy and subject consistency, while 2.1 focuses on cost-efficient standard image-to-video without advanced editing.
vs Runway Gen-4: O1 excels in frame-specific interpolation and physics realism for 10s clips, whereas Gen-4 prioritizes longer text-to-video but lags in multi-image reference stability.
vs Google Veo 3.1: O1 offers superior element preservation from dual frames and conversational edits, though Veo edges in raw length; O1 wins for commercial precision at lower per-second costs.
import requests, time headers = {"Authorization": "Bearer " + AIMLAPI_KEY} job = requests.post( "https://api.aimlapi.com/v2/video/generations", headers=headers, json={ "model": "kling-video/o1/image-to-video", "prompt": "A serene timelapse of clouds over a mountain range" }, ).json() gid = job["id"] while True: res = requests.get(f"https://api.aimlapi.com/v2/video/generations?generation_id={gid}", headers=headers).json() if res.get("status") in ("completed", "error"): break time.sleep(5) print(res["video"]["url"])
const headers = { Authorization: `Bearer ${process.env.AIMLAPI_KEY}`, "Content-Type": "application/json", }; const job = await (await fetch("https://api.aimlapi.com/v2/video/generations", { method: "POST", headers, body: JSON.stringify({ "model": "kling-video/o1/image-to-video", "prompt": "A serene timelapse of clouds over a mountain range" }), })).json(); let res; do { await new Promise((r) => setTimeout(r, 5000)); res = await (await fetch(`https://api.aimlapi.com/v2/video/generations?generation_id=${job.id}`, { headers })).json(); } while (!["completed", "error"].includes(res.status)); console.log(res.video.url);
# submit the generation — the response contains the job "id" curl -X POST https://api.aimlapi.com/v2/video/generations \ -H "Authorization: Bearer $AIMLAPI_KEY" \ -H "Content-Type: application/json" \ -d '{"model":"kling-video/o1/image-to-video","prompt":"A serene timelapse of clouds over a mountain range"}' # then poll until status is "completed" — video.url holds the result curl "https://api.aimlapi.com/v2/video/generations?generation_id={id}" -H "Authorization: Bearer $AIMLAPI_KEY"
OpenAI-compatible — swap the base URL and it works with your existing SDK.
| Type | Price |
|---|---|
| Output | |
| Model | Input | Output | Context | Best for |
|---|---|---|---|---|
Kling Video O1 Image to Video This page | Video generation |
Kling Video O1 Image to Video takes image as input and returns video.
Kling Video O1 Image to Video is priced at $0.1456 / sec (variable).
Kling Video O1 Image to Video is billed per generation — a fixed charge per output rather than by prompt length.
Yes, Kling Video O1 Image to Video accepts image input as well as a text prompt.
Kling Video O1 Image to Video was built by Kling AI.
Send a request to v2/video/generations with kling-video/o1/image-to-video as the model id.
Yes. Kling Video O1 Image to Video is served through AI/ML API, so the same key and endpoint format used for other models applies.