Skip to main content
POST
kling v3.0 video generation

Overview

Kling Video 3.0 turns text descriptions or still images into video clips at up to 4K resolution. The model generates videos between 3 and 15 seconds—a significant jump from the 10-second limit of earlier versions. It handles realistic scenes, stylized content, and complex multi-step actions within a single generation. You can also generate native audio alongside the video, including dialogue with lip sync, sound effects, and ambient sound—all in one pass.

Key Rules

  • multi_shots is required on every request.
  • When multi_shots is false, prompt is required.
  • When multi_shots is true:
    • img_urls must contain exactly 1 image.
    • audio is automatically forced to true.
    • shot_type controls how multi-shot generation works:
      • customize: requires multi_prompt
      • intelligence: requires prompt
  • When shot_type is customize, the sum of all shot durations in multi_prompt must exactly equal duration.
  • In single-shot mode, img_urls supports 1 start frame or 2 frames for first/last frame control.
  • If img_urls is provided, aspect_ratio is ignored and the output follows the first image aspect ratio.
  • audio is forced to true in multi-shot mode.
  • element_list supports up to 3 elements, and each element accepts 1 to 4 reference images.

How to use it

Text to video

Describe what you want to see. The model generates visuals (and optionally audio) from your description. Usage Examples:

Image to video

Upload a starting image and describe the motion you want. You can also provide an end image to guide where the video should land. Usage Examples:

Multi-shot mode

For videos with multiple scenes, set multi_shots to true. There are two available multi-shot generation modes:

Validation Rules

  • When multi_shots=true and shot_type=customize:
    • multi_prompt is required
    • Total duration of all shots must equal duration
  • When multi_shots=true and shot_type=intelligence:
    • prompt is required
    • multi_prompt should not be provided
  • When multi_shots=false:
    • shot_type is automatically set to null

1. Customize Mode

Use shot_type="customize" together with multi_prompt to manually define each shot. Pass a JSON array of shot definitions, each with a prompt and duration. You can define up to 6 shots, with a minimum of 1 second per shot. The total duration of all shots must equal the duration parameter.

Example


2. Intelligence Mode

Use shot_type="intelligence" together with a single prompt. The model automatically analyzes the prompt and generates multiple cinematic shots intelligently.

Example

Element References

Define elements in the element_list array and you can use the @element_name syntax to reference images in the prompt.

Query Task Status

After submitting a task, use the unified query endpoint to check progress and retrieve results:

Get Task Info

Learn how to query task status and retrieve generation results
For production use, we recommend using the callback_url parameter to receive automatic notifications when generation completes, rather than polling the status endpoint.

Models Overview

Explore all available models

Common API

Check credits and account usage

Authorizations

x-api-key
string
header
required

All APIs require authentication via API Key.

Get API Key:

  1. Visit API Key Management Page to get your API Key

Usage: Add to request header:

x-api-key: YOUR_API_KEY

Note:

  • Keep your API Key secure and do not share it with others
  • If you suspect your API Key has been compromised, reset it immediately in the management page

Body

application/json
model
enum<string>
required

The model name to use for generation. Required field.

  • Must be kling/v3 for this endpoint
Available options:
kling/v3
input
object
required

Kling-V3 high-level video generation. Supports standard/pro modes, multi-shot sequences, intelligent storyboard generation, and fine-grained element control.

callback_url
string<uri>

Optional. Callback URL for receiving task completion notifications.

  • System will POST task status and results to this URL when generation completes
  • Callback payloads structure is consistent with the data object returned by the task status query
  • Your callback endpoint should accept POST requests with JSON payload containing results
  • It returns an HTTP 200 status code upon successful receipt
Example:

"https://your-domain.com/api/callback"

Response

Request successful

code
enum<integer>

Response status code

  • 200: Success - Request has been processed successfully
  • 401: Unauthorized - Authentication credentials are missing or invalid
  • 402: Insufficient Credits - Account does not have enough credits to perform the operation
  • 404: Not Found - The requested resource or endpoint does not exist
  • 422: Validation Error - The request parameters failed validation checks
  • 429: Rate Limited - Request limit has been exceeded for this resource
  • 455: Service Unavailable - System is currently undergoing maintenance
  • 500: Server Error - An unexpected error occurred while processing the request
  • 501: Generation Failed - Content generation task failed
  • 505: Feature Disabled - The requested feature is currently disabled
Available options:
200,
401,
402,
404,
422,
429,
455,
500,
501,
505
message
string

Response message, error description when failed

Example:

"success"

data
object