> ## Documentation Index
> Fetch the complete documentation index at: https://docs.mixroute.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# Kling Text to Video

> Prompt, audio, aspect ratio and duration parameters for Kling text-to-video.

Authenticate with your MixRoute API Key using `Authorization: Bearer $MIXROUTE_API_KEY` and send JSON. The model ID belongs in the URL, not a body `model` field. Do not add `/v1` or wrap the request in `metadata`.

## Supported Models

| Model ID                                                  | Resolution        | Standard Generation Duration (s) |
| --------------------------------------------------------- | ----------------- | -------------------------------- |
| [kling-3.0](/en/model-api/kuaishou/kling-3.0)             | 720p / 1080p / 4k | 3-15                             |
| [kling-3.0-turbo](/en/model-api/kuaishou/kling-3.0-turbo) | 720p / 1080p      | 3-15                             |
| [kling-2.6](/en/model-api/kuaishou/kling-2.6)             | 720p / 1080p      | 5 / 10                           |
| [kling-2.5-turbo](/en/model-api/kuaishou/kling-2.5-turbo) | 720p / 1080p      | 5 / 10                           |

## Request Parameters

| Field                   | Type    | Required | Description                                                                                                                                                 |
| ----------------------- | ------- | -------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `prompt`                | string  | Yes      | Nonempty text containing positive and negative descriptions. 3.0/3.0 Turbo: maximum 3072 characters, recommended at most 2500. 2.6/2.5 Turbo: maximum 2500. |
| `settings.resolution`   | string  | No       | Defaults to 720p. Use lowercase 720p, 1080p or 4k as supported above.                                                                                       |
| `settings.duration`     | integer | No       | Defaults to 5. Integers 3-15 for 3.0/3.0 Turbo; only 5 or 10 for 2.6/2.5 Turbo.                                                                             |
| `settings.aspect_ratio` | string  | No       | 16:9 (default), 9:16 or 1:1.                                                                                                                                |
| `settings.audio`        | string  | No       | 3.0/2.6 only: off (default) or native. 2.6 native requires 1080p. Omit for 3.0 Turbo (built-in audio) and 2.5 Turbo (unsupported).                          |
| `settings.multi_shot`   | boolean | No       | 3.0 only: defaults to true; false disables multi-shot generation. Turbo has no such switch; use storyboard prompts.                                         |

For 3.0 and 3.0 Turbo, use `shot n, m, words;`: 1-6 shots, at least one second each, durations summing to the total and at most 512 characters per shot prompt. Do not send images to this endpoint.

## Request Example

Set the `MIXROUTE_API_KEY` environment variable. Replace `example.com` media URLs with real, publicly accessible files.

```bash theme={null}
curl --request POST "https://api.mixroute.ai/kling/text-to-video/kling-3.0" \
  --header "Authorization: Bearer $MIXROUTE_API_KEY" \
  --header "Content-Type: application/json" \
  --data '{
  "prompt": "A red ceramic mug slowly rotates on a white tabletop. Static camera, soft studio lighting.",
  "settings": {
    "resolution": "720p",
    "duration": 5,
    "aspect_ratio": "16:9",
    "audio": "off",
    "multi_shot": false
  },
  "options": {
    "watermark_info": {
      "enabled": false
    }
  }
}'
```

See [Kling Overview](/en/api-reference/endpoint/kling).

## Submission Response

```json theme={null}
{
  "code": 0,
  "message": "",
  "request_id": "REQUEST_ID",
  "data": {
    "id": "task_example",
    "status": "submitted"
  }
}
```

Keep `data.id` and use [Query Kling Task](/en/api-reference/endpoint/kling-tasks) until `succeeded` or `failed`. Successful submission does not mean generation has finished.
