Kling 3.0 Turbo API reference
Check Kling 3.0 Turbo availability, inputs, parameters, file requirements, credit pricing, and request examples for Rivya Public API v1. Model ID: kling-3-turbo.
kling-3-turbo
text, file
Required for reference modes
Credit rate: 18–22.5 per second of output The final cost is rounded up to whole credits.
Video
METERED
2500 characters
Request fields
Set model at the top level. Put model-specific controls and reference inputs in params, using the format documented for this model.
| Key | Type | Required | Default | Description |
|---|---|---|---|---|
| model | string | Yes | kling-3-turbo | Set model to kling-3-turbo. |
| prompt | string | Yes | - | Maximum 2500 characters for this model. |
| params | object | No | - | The model-specific params object. Use the documented keys and reference-file format for this model. |
| client_request_id | string | No | - | Optional ID for tracing this request in your system. It does not replace Idempotency-Key. |
Model parameters
| Key | Type | Required | Default | Range | Options | Description |
|---|---|---|---|---|---|---|
| resolution | select | No | 720p | - | 720p, 1080p | The selected resolution also sets the per-output-second credit rate. |
| duration | number | No | 5 | min 3 / max 15 / step 1 | - | Choose a whole-number output duration from 3 through 15 seconds. |
| aspect_ratio | select | No | 16:9 | - | 1:1, 9:16, 16:9 | Available for text-to-video only; the control is hidden when one image is used. |
Upload policy
Upload reference files through Files API first. Keep the original URLs, verified metadata, and tokens. Follow this model's request example: some models use params.referenceMediaItems, while others use different fields.
Optional starting image: For image-to-video, upload exactly one JPEG or PNG image up to 10 MB. Text-to-video uses no uploaded media.
1
image
When duration verification is required, use duration_token from /api/v1/files as durationToken in the request. Keep any additional signed metadata this model requires.
| kind | Max size | MIME types |
|---|---|---|
| image | 10 MB | image/jpeg, image/png |
Minimal request
{
"model": "kling-3-turbo",
"prompt": "A camera slowly circles a product bottle on a studio table.",
"params": {
"resolution": "720p",
"duration": 5,
"aspect_ratio": "16:9"
}
}Reference-file request
{
"model": "kling-3-turbo",
"prompt": "A camera slowly circles a product bottle on a studio table.",
"params": {
"resolution": "720p",
"duration": 5,
"aspect_ratio": "16:9",
"referenceMediaItems": [
{
"url": "https://cdn.example.com/reference-image.png",
"kind": "image",
"name": "reference-image.png",
"mimeType": "image/png",
"width": 1024,
"height": 1024,
"sizeBytes": 1048576,
"imageDimensionsToken": "image_dimensions_token_from_original_files_api_upload_response"
}
]
}
}Example response
An accepted generation request returns a task ID. Poll the status endpoint until the task succeeds or fails. A status request failure does not mean generation failed.
{
"id": "task_kling_3_turbo_example",
"status": "queued",
"model": "kling-3-turbo",
"reserved_credits": 90,
"final_credits": 0,
"settlement_status": "RESERVED",
"created_at": "2026-05-11T00:00:00.000Z",
"updated_at": "2026-05-11T00:00:00.000Z",
"result": null,
"error": null
}Common errors
validation_failed, insufficient_credits, idempotency_conflict, rate_limited, not_found
Some modes require Files API reference uploads.
