Kling O1

This guide shows how to generate video using Kling O1 model via the Leonardo.AI REST API.

This guide shows how to generate videos using Kling O1 model via the Leonardo.AI REST API.

Sample Request

curl --request POST \
     --url https://cloud.leonardo.ai/api/rest/v2/generations \
     --header 'accept: application/json' \
     --header 'authorization: Bearer <YOUR_API_KEY>' \
     --header 'content-type: application/json' \
     --data '
{
    "model": "kling-video-o-1",
    "public": false,
    "parameters": {
      "prompt": "The woman plays with the cat",
      "guidances": {
        "start_frame": [
          {
            "image": {
              "id": "<YOUR_START_IMAGE_ID>",
              "type": "UPLOADED"
            }
          }
        ],
        "end_frame": [
          {
            "image": {
              "id": "<YOUR_END_IMAGE_ID>",
              "type": "UPLOADED"
            }
          }
        ]
      },
      "duration": 5,
      "width": 1080,
      "height": 1920
    }
}
'

Sample Request - Video Editing

curl --request POST \
     --url https://cloud.leonardo.ai/api/rest/v2/generations \
     --header 'accept: application/json' \
     --header 'authorization: Bearer <YOUR_API_KEY>' \
     --header 'content-type: application/json' \
     --data '
{
  "model": "kling-video-o-1",
  "public": false,
  "parameters": {
    "prompt": "add @image1 to the background",
    "mode": "RESOLUTION_1080",
    "prompt_enhance": "OFF",
    "quantity": 1,
    "duration": 5,
    "seed": YOUR_SEED,
    "width": 1920,
    "height": 1080,
    "guidances": {
      "image_reference": [
        {
          "image": {
            "id": "YOUR_UPLOADED_IMAGE_ID",
            "type": "UPLOADED"
          }
        }
      ],
      "video_reference_base": [
        {
          "video": {
            "id": "YOUR_GENERATED_VIDEO_ID",
            "type": "GENERATED"
          }
        }
      ]
    }
  }
}
'

Recipe


API Request Endpoint, Headers, Parameters

Endpoint

https://cloud.leonardo.ai/api/rest/v2/generations

Headers

--header "accept: application/json" \
--header "authorization: Bearer <YOUR_API_KEY>" \
--header "content-type: application/json"

Body Parameters

Parameter

Type

Definition

duration

number

Length of the generated video. Set to 5 or 10.

guidances.endframe

array

Maximum 1 item. Each item includes image.id and image.type (GENERATED or UPLOADED). Only available when start_frame is provided. Only available when NO image_reference is provided.

guidances.image_reference

array

Array of up to four reference images used to guide the visual style or content of the generation. Each item includes image.id and image.type (GENERATED or UPLOADED). Only available when NO start_frame or end_frame is provided.

guidances.start_frame

array

Maximum 1 item. Each item includes image.id and image.type (GENERATED or UPLOADED). Only available when NO image_reference is provided.

guidances.video_reference_base

array

Duration of reference needs to be 3-10 seconds.

Reference height/width needs to be at least 720pixels. Width cannot be greater than 2160 pixels.

Referenced videos can currently only be of GENERATED type.

The video ID is the image ID of the associated image. i.e. the video is the video at generated_images.motionMP4URL

height

number

Sets the height of the output video in pixels.

model

string

Specifies the model used for generation. Set to kling-video-o-1.

prompt

string

Text description of the video content to generate. Maximum of 1500 characters.

public

boolean

Controls whether the generated video is public (true) or private (false).

width

number

Sets the width of the output video in pixels.

Height and Width Combination

The API accepts width and height parameters in the following aspect ratio combinations:

Aspect RatioWidthHeight
16:9 (Landscape)19201080
1:1 (Square)14401440
9:16 (Portrait)10801920