---
title: Kling VIDEO O1 Standard | Runware Docs
url: https://runware.ai/docs/models/klingai-video-o1-standard
description: Unified multimodal video generation and editing model
---
# Kling VIDEO O1 Standard

![Kling VIDEO O1 Standard](https://assets.runware.ai/covers/klingai-video-o1-standard.jpg)

Kling VIDEO O1 Standard is a unified multimodal video model for controllable generation and instruction-based editing. It supports text prompts, image references, and video input to enable precise control over motion, transitions, object changes, and visual adjustments within short-form video workflows.

- **Status**: live
- **ID**: `klingai:kling@o1-standard`
- Try in Playground
- **Creator**: Kling AI
- **Release Date**: December 1, 2025
- **Capabilities**: Text to Video, Image to Video, Video to Video, Edit, Checkpoint

## Pricing

$0.084 from, per second · ~2m 1s per request

**Rates** (per second)

- 720p · T2V: `$0.084`
- 720p · I2V: `$0.084`
- 720p · R2V: `$0.126`

**5 example generations**

- [text-to-video](https://runware.ai/docs/models/klingai-video-o1-standard/examples#example-archaeological-site-night-lighting-study) · 720p · 5s: `$0.42` (~55s)
- [first-last-frame](https://runware.ai/docs/models/klingai-video-o1-standard/examples#example-wildfire-crew-roster-update) · 5s: `$0.42` (~2m 1s)
- [video-edit](https://runware.ai/docs/models/klingai-video-o1-standard/examples#example-rotoscoped-table-tennis-music-insert): `$0.756` (~3m 31s)
- [first-frame](https://runware.ai/docs/models/klingai-video-o1-standard/examples#example-submarine-cable-drama-title-sequence) · 10s: `$0.84` (~1m 4s)
- [reference-to-video](https://runware.ai/docs/models/klingai-video-o1-standard/examples#example-museum-conservation-vertical-outpaint) · 720p · 7s: `$0.882` (~5m 21s)

times vary, measured end to end · [How pricing works](https://runware.ai/docs/models-api/pricing)

## Compatibility & Validation

Provide at least one of `inputs.frameImages` and `inputs.video`, or `width/height`, but not both.

---

Inside `inputs`, `frameImages` cannot be used with `referenceVideos` or `video`.

---

Inside `inputs`, `referenceVideos` cannot be used with `video`.

---

When `inputs.frameImages` is provided, `inputs.referenceImages` is limited to 6 items and `duration` is limited to `5`, `10`.

---

When `inputs.referenceImages` is provided, `inputs.frameImages` is limited to 1 item.

---

When `inputs.referenceImages` or `inputs.referenceVideos` is provided, `inputs.referenceImages` is limited to 7 items and `duration` must be between `3` and `10`.

---

When `inputs.video` is provided, `duration` cannot be used.

---

When `inputs.video` or `inputs.referenceVideos` is provided, `inputs.referenceImages` is limited to 4 items.

---

When `providerSettings.klingai.keepOriginalSound` is provided, `inputs.video` or `inputs.referenceVideos` is required.

---

`width` and `height` must be used together.

---

The following dimension combinations are supported:

| Configuration | Dimensions |
| --- | --- |
| `720p (16:9)` | `1280x720` |
| `960p (1:1)` | `960x960` |
| `720p (9:16)` | `720x1280` |

## Request Parameters

**API Options**

Platform-level options for task execution and delivery.

### [taskType](https://runware.ai/docs/models/klingai-video-o1-standard#request-tasktype)

- **Type**: `string`
- **Required**: true
- **Value**: `videoInference`

Identifier for the type of task being performed.

### [taskUUID](https://runware.ai/docs/models/klingai-video-o1-standard#request-taskuuid)

- **Type**: `string`
- **Required**: true
- **Format**: `UUID v4`

UUID v4 identifier for tracking tasks and matching async responses. Must be unique per task.

### [outputType](https://runware.ai/docs/models/klingai-video-o1-standard#request-outputtype)

- **Type**: `string`
- **Default**: `URL`

Video output type.

**Allowed values**: `URL`

### [outputFormat](https://runware.ai/docs/models/klingai-video-o1-standard#request-outputformat)

- **Type**: `string`
- **Default**: `MP4`

Specifies the file format of the generated output. The available values depend on the task type and the specific model's capabilities.

- \`MP4\`: Widely supported video container (H.264), recommended for general use.
- \`WEBM\`: Optimized for web delivery.
- \`MOV\`: QuickTime format, common in professional workflows (Apple ecosystem).

**Allowed values**: `MP4` `WEBM` `MOV`

### [outputQuality](https://runware.ai/docs/models/klingai-video-o1-standard#request-outputquality)

- **Type**: `integer`
- **Min**: `20`
- **Max**: `99`
- **Default**: `95`

Compression quality of the output. Higher values preserve quality but increase file size.

### [webhookURL](https://runware.ai/docs/models/klingai-video-o1-standard#request-webhookurl)

- **Type**: `string`
- **Format**: `uri`

Webhook URL that receives JSON responses via HTTP POST when generation tasks complete. For batch requests with multiple results, each completed item triggers a separate webhook call as it becomes available.

**Learn more** (1 resource):

- [Webhooks](https://runware.ai/docs/models-api/webhooks) (platform)

### [deliveryMethod](https://runware.ai/docs/models/klingai-video-o1-standard#request-deliverymethod)

- **Type**: `string`
- **Default**: `async`

Determines how the API delivers task results.

**Allowed values**:

- `async` Returns an immediate acknowledgment with the task UUID. Poll for results using getResponse. Required for long-running tasks like video generation.

**Learn more** (1 resource):

- [Task Polling](https://runware.ai/docs/models-api/task-polling) (platform)

### [uploadEndpoint](https://runware.ai/docs/models/klingai-video-o1-standard#request-uploadendpoint)

- **Type**: `string`
- **Format**: `uri`

Specifies a URL where the generated content will be automatically uploaded using the HTTP PUT method. The raw binary data of the media file is sent directly as the request body. For secure uploads to cloud storage, use presigned URLs that include temporary authentication credentials.

**Common use cases:**

- **Cloud storage**: Upload directly to S3 buckets, Google Cloud Storage, or Azure Blob Storage using presigned URLs.
- **CDN integration**: Upload to content delivery networks for immediate distribution.

```text
// S3 presigned URL for secure upload
https://your-bucket.s3.amazonaws.com/generated/content.mp4?X-Amz-Signature=abc123&X-Amz-Expires=3600

// Google Cloud Storage presigned URL
https://storage.googleapis.com/your-bucket/content.jpg?X-Goog-Signature=xyz789

// Custom storage endpoint
https://storage.example.com/uploads/generated-image.jpg
```

The content data will be sent as the request body to the specified URL when generation is complete.

### [safety](https://runware.ai/docs/models/klingai-video-o1-standard#request-safety)

- **Path**: `safety.checkContent`
- **Type**: `object (2 properties)`

Content safety checking configuration for video generation.

#### [checkContent](https://runware.ai/docs/models/klingai-video-o1-standard#request-safety-checkcontent)

- **Path**: `safety.checkContent`
- **Type**: `boolean`

Enable or disable content safety checking. Increases total generation time.

#### [mode](https://runware.ai/docs/models/klingai-video-o1-standard#request-safety-mode)

- **Path**: `safety.mode`
- **Type**: `string`
- **Default**: `fast`

Safety checking mode for video generation.

**Allowed values**:

- `fast` Checks key frames.
- `full` Checks all frames.

### [ttl](https://runware.ai/docs/models/klingai-video-o1-standard#request-ttl)

- **Type**: `integer`
- **Min**: `60`

Time-to-live (TTL) in seconds for generated content. Only applies when `outputType` is `URL`.

### [includeCost](https://runware.ai/docs/models/klingai-video-o1-standard#request-includecost)

- **Type**: `boolean`

Include task cost in the response.

### [numberResults](https://runware.ai/docs/models/klingai-video-o1-standard#request-numberresults)

- **Type**: `integer`
- **Min**: `1`
- **Max**: `4`
- **Default**: `1`

Number of results to generate. Each result uses a different seed, producing variations of the same parameters.

**Inputs**

Input resources for the task (images, audio, etc). These must be nested inside the \`inputs\` object.

### [referenceImages](https://runware.ai/docs/models/klingai-video-o1-standard#request-inputs-referenceimages)

- **Path**: `inputs.referenceImages`
- **Type**: `array of strings`
- **Min items**: `1`
- **Max items**: `7`

List of reference images (UUID, URL, Data URI, or Base64).

### [frameImages](https://runware.ai/docs/models/klingai-video-o1-standard#request-inputs-frameimages)

- **Path**: `inputs.frameImages`
- **Type**: `array of strings or objects`
- **Min items**: `1`
- **Max items**: `2`

An array of frame-specific image inputs to guide video generation. Each item can be either a plain image input (UUID, URL, Data URI, or Base64) or an object that pairs an image with a target position in the video.

The `frameImages` parameter allows you to constrain specific frames within the video sequence, ensuring that particular visual content appears at designated points. Position can be specified using `frame` (named positions or frame indices) or `timestamp` (seconds), depending on model support. This is different from `referenceImages`, which provide overall visual guidance without constraining specific timeline positions.

When the `frame` parameter is omitted, automatic distribution rules apply:

- **1 image**: Used as the first frame.
- **2 images**: First and last frames.

**Examples**:

**Shorthand format:** When you don't need to specify a frame position, you can pass a plain image input directly.

```json
"frameImages": [
  "aac49721-1964-481a-ae78-8a4e29b91402"
]
```

**Object format:** When you need to specify a position, use an object with `image` and either `frame` or `timestamp` (model-dependent).

```json
"frameImages": [
  {
    "image": "aac49721-1964-481a-ae78-8a4e29b91402",
    "frame": "first"
  }
]
```

**First and last frames:** With two images, they automatically become the first and last frames of the video sequence. You can mix shorthand and object formats.

```json
"frameImages": [
  "aac49721-1964-481a-ae78-8a4e29b91402",
  {
    "image": "3ad204c3-a9de-4963-8a1a-c3911e3afafe",
    "frame": "last"
  }
]
```

**Format 1: string[]**:

- **Type**: `string`

Image input (UUID, URL, Data URI, or Base64).

**Format 2: object[]**:

#### [image](https://runware.ai/docs/models/klingai-video-o1-standard#request-inputs-frameimages-format-2-image)

- **Path**: `inputs.frameImages.image`
- **Type**: `string`
- **Required**: true

Image input (UUID, URL, Data URI, or Base64).

#### [frame](https://runware.ai/docs/models/klingai-video-o1-standard#request-inputs-frameimages-format-2-frame)

- **Path**: `inputs.frameImages.frame`
- **Type**: `object`

Target frame position for the image. Supports first and last frame.

**Allowed values**:

- `first` First frame of the video.
- `last` Last frame of the video.
- `0` Frame index 0 (first frame).
- `-1` Frame index -1 (last frame).

### [video](https://runware.ai/docs/models/klingai-video-o1-standard#request-inputs-video)

- **Path**: `inputs.video`
- **Type**: `string`

Video input (UUID or URL). Source video for prompt-based editing. Dimensions and duration match the input video.

### [referenceVideos](https://runware.ai/docs/models/klingai-video-o1-standard#request-inputs-referencevideos)

- **Path**: `inputs.referenceVideos`
- **Type**: `array of strings`
- **Min items**: `items: 1`

List of reference videos (UUID or URL).

**Core Parameters**

Primary parameters that define the task output.

### [model](https://runware.ai/docs/models/klingai-video-o1-standard#request-model)

- **Type**: `string`
- **Required**: true
- **Value**: `klingai:kling@o1-standard`

Identifier of the model to use for generation.

**Learn more** (3 resources):

- [Text To Image: Model Selection](https://runware.ai/docs/learn/text-to-image#model-selection) (learn)
- [Image Inpainting: Model Specialized Inpainting Models](https://runware.ai/docs/learn/image-inpainting#model-specialized-inpainting-models) (learn)
- [Image Outpainting: Other Critical Parameters](https://runware.ai/docs/learn/image-outpainting#other-critical-parameters) (learn)

### [positivePrompt](https://runware.ai/docs/models/klingai-video-o1-standard#request-positiveprompt)

- **Type**: `string`
- **Required**: true
- **Min**: `2`
- **Max**: `2500`

Text prompt describing elements to include in the generated output.

**Learn more** (1 resource):

- [Prompts](https://runware.ai/docs/learn/prompts) (learn)

### [width](https://runware.ai/docs/models/klingai-video-o1-standard#request-width)

- **Type**: `integer`
- **Required**: conditional — Required when inputs.frameImages and inputs.video are not provided
- **Paired with**: height

Width of the generated media in pixels.

**Learn more** (2 resources):

- [Dimensions](https://runware.ai/docs/learn/dimensions) (learn)
- [Image Outpainting: Dimensions Critical For Outpainting](https://runware.ai/docs/learn/image-outpainting#dimensions-critical-for-outpainting) (learn)

### [height](https://runware.ai/docs/models/klingai-video-o1-standard#request-height)

- **Type**: `integer`
- **Required**: conditional — Required when inputs.frameImages and inputs.video are not provided
- **Paired with**: width

Height of the generated media in pixels.

**Learn more** (2 resources):

- [Dimensions](https://runware.ai/docs/learn/dimensions) (learn)
- [Image Outpainting: Dimensions Critical For Outpainting](https://runware.ai/docs/learn/image-outpainting#dimensions-critical-for-outpainting) (learn)

### [duration](https://runware.ai/docs/models/klingai-video-o1-standard#request-duration)

- **Type**: `integer`
- **Default**: `5`

Length of the generated video in seconds. The total number of frames produced is determined by duration multiplied by the model's frame rate (fps).

**Provider Settings**

Parameters specific to this model provider. These must be nested inside the \`providerSettings.klingai\` object.

### [keepOriginalSound](https://runware.ai/docs/models/klingai-video-o1-standard#request-providersettings-klingai-keeporiginalsound)

- **Path**: `providerSettings.klingai.keepOriginalSound`
- **Type**: `boolean`

Maintain the original sound from the reference video.

## Response Parameters

### [taskType](https://runware.ai/docs/models/klingai-video-o1-standard#response-tasktype)

- **Type**: `string`
- **Required**: true
- **Value**: `videoInference`

Identifier for the type of task this response belongs to.

### [taskUUID](https://runware.ai/docs/models/klingai-video-o1-standard#response-taskuuid)

- **Type**: `string`
- **Required**: true
- **Format**: `UUID v4`

UUID v4 identifier echoed from the original request, used to match async responses to their tasks.

### [videoUUID](https://runware.ai/docs/models/klingai-video-o1-standard#response-videouuid)

- **Type**: `string`
- **Required**: true
- **Format**: `UUID v4`

UUID of the output video.

### [videoURL](https://runware.ai/docs/models/klingai-video-o1-standard#response-videourl)

- **Type**: `string`
- **Format**: `uri`

URL of the output video.

### [videoBase64Data](https://runware.ai/docs/models/klingai-video-o1-standard#response-videobase64data)

- **Type**: `string`

Base64-encoded video data.

### [videoDataURI](https://runware.ai/docs/models/klingai-video-o1-standard#response-videodatauri)

- **Type**: `string`
- **Format**: `uri`

Data URI of the output video.

### [seed](https://runware.ai/docs/models/klingai-video-o1-standard#response-seed)

- **Type**: `integer`

The seed used for generation. If none was provided, shows the randomly generated seed.

### [NSFWContent](https://runware.ai/docs/models/klingai-video-o1-standard#response-nsfwcontent)

- **Type**: `boolean`

Flag indicating if NSFW content was detected.

### [cost](https://runware.ai/docs/models/klingai-video-o1-standard#response-cost)

- **Type**: `float`

Task cost in USD. Present when `includeCost` is set to `true` in the request.

## Examples

### text-to-video (text-to-video)

[Watch video](https://assets.runware.ai/examples/klingai-video-o1-standard/fbc51f9a-7196-448c-9d14-65fb05e9e2d5.mp4)

```json
{
  "taskType": "videoInference",
  "taskUUID": "a207c154-592c-4fed-a1ad-ed2a54c6058d",
  "model": "klingai:kling@o1-standard",
  "positivePrompt": "Landscape architectural visualization for a heritage-lighting proposal at a coastal Roman bath excavation. A preserved limestone bathing pool, low ruined walls, weathered columns and a narrow timber visitor walkway fill the wide composition, with silver-green coastal scrub beyond. Begin in soft, overcast late-afternoon daylight, every stone clearly legible in neutral natural color. Over five seconds, transition continuously and realistically into deep blue hour: the sky cools to indigo, ambient daylight falls, and discreet conservation-grade lighting activates in sequence. Narrow warm-white grazing lights reveal the wall textures, recessed walkway markers form a restrained line through the ruins, and a subtle underwater glow outlines the empty tiled pool without becoming theatrical. Maintain identical architecture and spatial layout throughout the relight. A very slow stabilized dolly forward creates gentle parallax; grasses move lightly in the sea breeze while the structures remain still. Photorealistic high-end architectural film, natural exposure adaptation, accurate stone texture, controlled highlights, cool blue surroundings balanced with soft ivory illumination, quiet museum-grade atmosphere, no people, no signage, no text, no logos.",
  "width": 1280,
  "height": 720,
  "duration": 5
}
```

---

### first-frame (first-frame)

[Watch video](https://assets.runware.ai/examples/klingai-video-o1-standard/13aa934c-01a0-4738-8e1e-35070a81da53.mp4)

```json
{
  "taskType": "videoInference",
  "taskUUID": "58cbd9ac-9859-4bc6-93b9-7ef24eef50a7",
  "model": "klingai:kling@o1-standard",
  "positivePrompt": "Continue naturally from the supplied first frame as a single elegant ten-second historical-drama title shot. The camera begins a slow, steady push toward the exposed copper core while a narrow band of cold light travels across the blueprint like a scanning beam. Fine copper filaments loosen from the cable and glide outward with controlled mechanical tension, tracing a transatlantic route across the paper. Subtle water-caustic shadows pass over the table, the blueprint edges lift in a faint draft, brass dividers tremble, and tiny graphite dust catches the light. The camera lowers from overhead into a shallow raking angle and tracks beside the moving copper line. During the final three seconds, the filaments settle into refined, widely spaced serif capitals reading “THE SILENT LINE,” physically formed from copper wire on the blueprint. Hold briefly on the complete, clearly legible title. Cold cyanotype blue, oxidized copper, charcoal black, tactile practical effects, restrained film grain, precise period detail, ominous prestige-miniseries mood, smooth cinematic motion, no cuts, no people, no additional words, logos, subtitles, or modern objects.",
  "duration": 10,
  "inputs": {
    "frameImages": [
      {
        "image": "https://assets.runware.ai/assets/inputs/7ce1a9a3-6cc1-4b24-919e-7e08f527c118.jpg",
        "frame": "first"
      }
    ]
  }
}
```

---

### first-last-frame (first-last-frame)

[Watch video](https://assets.runware.ai/examples/klingai-video-o1-standard/52bd6a15-1b46-4bca-b4d9-25989641b761.mp4)

```json
{
  "taskType": "videoInference",
  "taskUUID": "9c6085ac-0b75-4baf-a9a3-0d597c667550",
  "model": "klingai:kling@o1-standard",
  "positivePrompt": "Create a seamless five-second, single-take transition from the opening crew portrait to the final expanded group portrait. Preserve the same seven crew members, faces, uniforms, helicopter, mountain airfield, composition, weather and morning light throughout. A black-and-white border collie in an orange search-and-rescue vest trots naturally into frame from camera right toward the intentional gap in the front row. The kneeling handler gives one small welcoming hand signal; nearby crew members glance down and shift only slightly while keeping their group formation. The dog slows, turns toward camera and sits neatly beside the handler. She rests one hand on its shoulder, and the full crew settles into the confident final portrait with subtle smiles. Use a gentle stabilized camera push-in with minimal handheld documentary texture, physically accurate footsteps, fabric and fur motion, consistent scale and perspective. No cuts, dissolves, duplicated people, extra animals, wardrobe changes, helicopter movement, text or logos.",
  "duration": 5,
  "inputs": {
    "frameImages": [
      {
        "image": "https://assets.runware.ai/assets/inputs/f4536d22-033b-4b26-8c50-bb8b0abb370d.jpg",
        "frame": "first"
      },
      {
        "image": "https://assets.runware.ai/assets/inputs/6bb59323-6d24-438d-9c92-ae94a702bd9f.jpg",
        "frame": "last"
      }
    ]
  }
}
```

---

### reference-to-video (reference-to-video)

[Watch video](https://assets.runware.ai/examples/klingai-video-o1-standard/1933ab3d-d83d-4796-8c48-7f8b01756647.mp4)

```json
{
  "taskType": "videoInference",
  "taskUUID": "9ade81ec-b762-4d33-a8b2-72275156f862",
  "model": "klingai:kling@o1-standard",
  "positivePrompt": "Create a seamless 9:16 portrait outpaint of the reference video for a natural-history museum conservation social reel. Preserve the reference video as the exact central horizontal band: retain every original subject, pixel-level composition, timing, hand movement, butterfly anatomy, microscope position, lighting direction and documentary realism. Do not crop, stretch, zoom or replace the source action. Extend the canvas substantially above and below it. Use reference image 1 to construct the upper extension: continue the conservator's white lab coat and posture naturally upward, with the stereo microscope, pale cyan task light, white specimen cabinets and archival drawers aligned in correct perspective. Use reference image 2 to construct the lower extension: continue the work surface downward with bone-white archival board, stainless forceps, sable brush, glass weights, tissue and specimen tags arranged with museum-lab precision. Generated hands, sleeves, table edges and microscope supports must join the source band invisibly with consistent scale, lens depth, shadows and color. Motion outside the original frame should remain subtle and physically connected: slight sleeve movement from the brushing action, minute task-light shimmer and barely moving tissue from ventilation. Carry forward the reference video's quiet clinical atmosphere and delicate conservation foley. Cool cyan, white, silver and electric Morpho blue palette; observational science documentary style; no captions, logos, borders, split screens or visible seams.",
  "width": 720,
  "height": 1280,
  "duration": 7,
  "providerSettings": {
    "klingai": {
      "keepOriginalSound": true
    }
  },
  "inputs": {
    "referenceImages": [
      "https://assets.runware.ai/assets/inputs/13fae6c9-5b0d-4619-9db9-c0a10ead74a7.jpg",
      "https://assets.runware.ai/assets/inputs/5e1dfa7f-e8e9-47f0-98a8-227c5babfd77.jpg"
    ],
    "referenceVideos": [
      "https://assets.runware.ai/assets/inputs/e4349347-6379-4ae2-9ed0-732c2b65796d.mp4"
    ]
  }
}
```

---

### video-edit (video-edit)

[Watch video](https://assets.runware.ai/examples/klingai-video-o1-standard/8e98adf0-7cbe-4ef6-bfd3-65afe46cf4e1.mp4)

```json
{
  "taskType": "videoInference",
  "taskUUID": "3e0a823f-05d4-4fab-9d82-27348b480bbc",
  "model": "klingai:kling@o1-standard",
  "positivePrompt": "Transform the source footage into a polished rotoscoped music-video segment for an experimental breakbeat single. Preserve the exact camera position, rally choreography, player timing, ball trajectory, paddle contacts, body proportions, and uninterrupted temporal continuity of the original video. Replace the ordinary sports hall with a deep matte-black screen-print environment built from coarse paper grain, acid-green court markings, electric-violet shadows, and small white halftone highlights. Render both players as recognizable, consistently dressed graphic silhouettes with expressive hand-inked contour lines that follow their real motion precisely. Every audible paddle strike triggers a brief concentric ink burst at the true contact point; the ball leaves a thin acid-green trail that accurately follows its path and immediately dissipates. Shoe squeaks produce subtle violet scuffs beneath the correct foot without changing the action. Use energetic frame-by-frame texture variation while keeping faces, limbs, paddles, table geometry, and ball placement coherent with no morphing, duplicated equipment, missed contacts, added cuts, or camera movement. Retain the useful original sound of impacts, bounces, shoes, and exertion unchanged so it functions as the percussive backbone of the finished music-video insert. No captions, logos, titles, or interface graphics.",
  "providerSettings": {
    "klingai": {
      "keepOriginalSound": true
    }
  },
  "inputs": {
    "video": "https://assets.runware.ai/assets/inputs/7baf9957-dfc8-4bd0-ada5-da83be58d623.mp4"
  }
}
```