# Kling Video O1

> Run Kling Video O1 by klingai online or via API. $0.084-$0.168/sec, std: $0.084-$0.126, pro: $0.112-$0.168, +50% with video input, no setup.

**URL:** https://inference.sh/apps/klingai/video-o1
**Last updated:** 2026-08-07

---

Kling Video O1 (Omni) - unified video generation with text, image references, start/end frames, element references, and video references for editing and style transfer. The most capable Kling model.

- app: `klingai/video-o1`
- maker: [klingai](https://inference.sh/apps/klingai.md)
- category: [video](https://inference.sh/apps/category/video.md)
- input → output: text → video, image → video, reference → video, video → video
- tasks: [text to video](https://inference.sh/apps/tag/text-to-video.md), [image to video](https://inference.sh/apps/tag/image-to-video.md), [reference to video](https://inference.sh/apps/tag/reference-to-video.md), [video to video](https://inference.sh/apps/tag/video-to-video.md)
- price: $0.084-$0.168/sec, std: $0.084-$0.126, pro: $0.112-$0.168, +50% with video input
- runs via: api, javascript and python sdk, belt cli, mcp

## video-o1 API Guide

### About
kling video o1 (omni) - unified video generation with text, image references, start/end frames, element references, and video references for editing and style transfer. the most capable kling model.

### Get an API Key
Create one in [settings → api keys](https://app.inference.sh/settings/keys). The examples read it from `INFERENCE_API_KEY`.

```bash
export INFERENCE_API_KEY="inf_your_key"
```

### 1. Calling the API

#### Install the Client

```bash
pip install inferencesh
```

#### Run and Get Result
Submit a request and wait for the final result.

```python
import os
from inferencesh import inference

client = inference(api_key=os.environ["INFERENCE_API_KEY"])

## version @2bme3yxc pinned
result = client.run({
        "app": "klingai/video-o1@2bme3yxc",
        "input": {
            "prompt": "A serene lake at sunset with birds flying overhead"
        }
    })

print(result["output"])
```

#### Stream Live Updates
Get real-time progress updates as the task runs.

```python
import os
from inferencesh import inference

client = inference(api_key=os.environ["INFERENCE_API_KEY"])

## version @2bme3yxc pinned
## stream=True yields updates as they arrive
for update in client.run({
        "app": "klingai/video-o1@2bme3yxc",
        "input": {
            "prompt": "A serene lake at sunset with birds flying overhead"
        }
    }, stream=True):
    if update.get("progress"):
        print(f"progress: {update['progress']}%")
    if update.get("output"):
        print(f"output: {update['output']}")
```

#### Run in the Background
Start the task and get its id back right away, then check on it with `GET /tasks/{id}`. It is done when `status` is 10 (completed), 11 (failed) or 12 (cancelled).

```python
import os
from inferencesh import inference, TaskStatus

client = inference(api_key=os.environ["INFERENCE_API_KEY"])

## returns as soon as the task is created
task = client.run({
        "app": "klingai/video-o1@2bme3yxc",
        "input": {
            "prompt": "A serene lake at sunset with birds flying overhead"
        }
    }, wait=False)

## later: read its current state
state = client.tasks.get(task["id"]).data
if state["status"] == TaskStatus.COMPLETED:
    print(state["output"])
```

### 2. Files

#### Automatic Upload

```python
## local file paths are automatically uploaded
result = client.run({
    "app": "klingai/video-o1@2bme3yxc",
    "input": {
        "image": "/path/to/local/image.png",  # detected & uploaded
        "audio": "https://example.com/audio.mp3",  # url passed through
    }
})
```

#### Manual Upload

```python
## upload and get a hosted URL
file = client.files.upload("/path/to/file.png")
print(file.uri)  # https://cloud.inference.sh/...
```

### 3. Schema

#### Input
- **prompt** (string) *required*: Text prompt describing the video. Use @image_1, @element_name, @video_1 to reference inputs. Max 2500 chars.
- **image** (string): First-frame reference image.
- **end_image** (string): End-frame reference image. Requires image (first frame) to be set.
- **reference_images** (array): Reference images for style, character, or scene consistency. Referenced in prompt as @image_1, @image_2, etc. Max 7 without video, max 4 with video.
- **reference_video** (string): Reference video for camera style, motion, or editing. Referenced in prompt as @video_1.
- **reference_video_type** (string): How to use reference video: 'feature' for style/motion reference, 'base' for direct editing.
- **resolution** (string): Video resolution.
- **aspect_ratio** (string): Video aspect ratio. Required for text-to-video.
- **duration** (integer): Video duration in seconds. Text-to-video: 5 or 10 only. With reference images: 3-10.
- **watermark** (boolean): Add watermark to the output video.

#### Output
- **video** (string): The generated video file.

## other video apps

- [Kling Video V4 Flash](https://inference.sh/apps/klingai/video-v4-flash.md): $0.094/s at 720p
- [Kling Video V4](https://inference.sh/apps/klingai/video-v4.md): $0.157/s at 720p, $0.235/s at 1080p
- [Pika H3 Flex (self-hosted)](https://inference.sh/apps/pika/pika-h3-flex-oss.md): GPU time, billed per millisecond
- [Pika H3 Flex Upscale](https://inference.sh/apps/pika/pika-h3-flex-upscale.md): $0.05-$0.14/sec (480p src), $0.03-$0.12/sec (768p src); 1080p/2K/4K targets
- [Pika H3 Flex Reference to Video](https://inference.sh/apps/pika/pika-h3-flex-reference.md): $0.06/sec 480p, $0.12/sec 768p, $0.15/sec 1080p, $0.16/sec 2k, $0.20/sec 4k (output+input video sec). Stems: $0.001/sec

## faq

### how much does Kling Video O1 cost?

$0.084-$0.168/sec, std: $0.084-$0.126, pro: $0.112-$0.168, +50% with video input. you pay per run from your inference shell credits. no subscription is required.

### how do I run Kling Video O1 via api?

call klingai/video-o1 with the javascript or python sdk, the rest api, or `belt app run klingai/video-o1` from a terminal. the api reference on this page lists every input.

### who makes Kling Video O1?

Kling Video O1 is made by klingai and runs on inference shell. every klingai app is listed at https://inference.sh/apps/klingai.

### can my agent use Kling Video O1?

yes. agents call it as a tool through the inference shell mcp server (https://api.inference.sh/mcp), the belt cli or the sdk, and pay per run like you do.

### what are the alternatives to Kling Video O1?

other video apps on inference shell include Kling Video V4 Flash, Kling Video V4, Pika H3 Flex (self-hosted), Pika H3 Flex Upscale. they run through the same api, so switching is a one-line change.
