# Kling Video Generation

> Generate videos with Kling v3 models through UniAll video APIs.

Canonical URL: https://docs.uniall.ai/models/video/kling
Locale: en

Kling supports text-to-video, image-to-video, first-last-frame generation, and advanced prompt controls. Select the public model ID for standard or pro quality and silent or audio output.

## Supported Models

| Model | Tier | Audio |
| --- | --- | --- |
| `kling-v3-std-silent` | Standard | Silent output. |
| `kling-v3-std-audio` | Standard | Audio output. |
| `kling-v3-pro-silent` | Pro | Silent output. |
| `kling-v3-pro-audio` | Pro | Audio output. |

## Endpoint

```http
POST /v1/video/generations
GET  /v1/videos/{task_id}
```

## Authentication

```http
Authorization: Bearer sk-***
Content-Type: application/json
```

## Request Parameters

| Parameter | Type | Required | Description |
| --- | --- | --- | --- |
| `model` | string | Yes | One of the Kling v3 model IDs. |
| `prompt` | string | Yes | Main prompt. In image mode, do not pass it together with `extra_body.multi_prompt`. |
| `image` | string | Conditional | Reference image URL. If `last_image` is present, this is the first frame. |
| `last_image` | string | Conditional | Last-frame image URL. |
| `aspect_ratio` | string | No | `16:9`, `9:16`, or `1:1`; image-to-video may not guarantee this ratio. |
| `duration` | integer | No | Source range: `3` to `15` seconds. |
| `extra_body.negative_prompt` | string | No | Content to avoid. |
| `extra_body.cfg_scale` | number | No | Prompt adherence strength. Higher values generally follow the prompt more closely. |
| `extra_body.multi_prompt` | array | No | Multi-shot prompt list for advanced image mode. |
| `extra_body.element_list` | array | No | Element references. |
| `extra_body.shot_type` | string | No | `customize` or `intelligent`. |

## Text-To-Video Example

```bash
curl -X POST "{BASE_URL}/v1/video/generations" \
  -H "Authorization: Bearer sk-***" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "kling-v3-std-silent",
    "prompt": "A wide cinematic shot of a traveler walking through dusty desert ruins, cloak moving in the wind, slow pullback, natural motion.",
    "aspect_ratio": "16:9",
    "duration": 5,
    "extra_body": {
      "cfg_scale": 0.5,
      "shot_type": "customize",
      "negative_prompt": "blur, low detail"
    }
  }'
```

## Image-To-Video Example

```bash
curl -X POST "{BASE_URL}/v1/video/generations" \
  -H "Authorization: Bearer sk-***" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "kling-v3-pro-audio",
    "prompt": "The person writes naturally in a notebook, subtle hand detail, small thoughtful pauses, soft classroom depth of field.",
    "image": "https://example.com/start-frame.png",
    "aspect_ratio": "16:9",
    "duration": 6,
    "extra_body": {
      "cfg_scale": 0.6,
      "shot_type": "intelligent",
      "negative_prompt": "artifacts, distortion"
    }
  }'
```

## First-Last-Frame Example

```bash
curl -X POST "{BASE_URL}/v1/video/generations" \
  -H "Authorization: Bearer sk-***" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "kling-v3-pro-silent",
    "prompt": "The portrait subject slowly turns toward the camera while keeping identity stable and motion natural.",
    "image": "https://example.com/first-frame.png",
    "last_image": "https://example.com/last-frame.png",
    "duration": 8
  }'
```

## Query Task Status

```bash
curl "{BASE_URL}/v1/videos/task_xxx" \
  -H "Authorization: Bearer sk-***"
```

```json
{
  "id": "task_xxx",
  "task_id": "task_xxx",
  "object": "video.generation.job",
  "model": "kling-v3-pro-audio",
  "status": "completed",
  "progress": 100,
  "video_url": "https://example.com/output.mp4"
}
```

## Billing Notes

Kling billing depends on model tier, audio mode, output seconds, and generation mode. The task settlement record and current product pricing are the final billing source.

## Common Errors

- Passing both `prompt` and `extra_body.multi_prompt` in image mode.
- Requesting a duration outside `3` to `15`.
- Assuming `aspect_ratio` is guaranteed in image-to-video mode.
- Using an audio model when silent output is expected.
- Passing private media URLs.

## Related Pages

- [Video Generation Overview](/models/video/overview)
- [Veo 3.1 Video Generation](/models/video/veo-3-1)
- [Digital Human Video](/models/avatar/digital-human)
