Skip to main content
POST
cURL

Usage notes

  • First / last frame: image_urls is required and takes 1-2 images. With multi_shot off, 2 images are the first frame (image_urls[0]) and last frame (image_urls[1]), and 1 image is the first frame. With multi_shot on, only a first frame is supported. The output aspect ratio follows the first frame.
  • Multi-shot: set multi_shot to true and describe up to 5 shots in multi_prompt ({prompt, duration}, 1-12 seconds and up to 500 characters each). The total shot duration must not exceed duration; when duration is omitted it defaults to the sum of the shots, and prompt may be omitted.
  • Audio: generate_audio defaults to false for single-shot requests and true for multi-shot requests.
  • Prompt: required for single-shot requests; in multi-shot mode put each shot’s description in multi_prompt instead.
  • Not supported: kling_elements, aspect_ratio (the output follows the first frame), negative_prompt (write exclusions into the prompt), top-level audio_urls, and video_url.

Billing

Billed per second of output video. The per-second rate has five tiers: 720p or 1080p, each with or without native audio, plus 4K (same rate with or without audio). Current prices are shown on the model page.

Task flow

The create call returns data.task_id. Poll Query video task until status is completed (outputs in data.result) or failed, or pass callback_url to be notified when the task reaches a terminal state.

Authorizations

Authorization
string
header
required

Use your APIPod API key as a Bearer token in the Authorization header.

Body

application/json
model
string
required

Public APIPod model ID.

Allowed value: "kling-3.0-i2v"
image_urls
string[]
required

First/last frame images. With multi_shot off, 2 images are the first and last frame (index 0 and 1) and 1 image is the first frame; with multi_shot on, only a first frame is supported. first_frame_image / last_frame_image are accepted as aliases. The aspect ratio follows the first frame.

Required array length: 1 - 2 elements
prompt
string

Text prompt describing the motion, up to 2,500 characters. Required unless multi_prompt is provided.

Maximum string length: 2500
duration
integer
default:5

Output duration in seconds (3-15). Defaults to 5; in multi-shot mode it defaults to the sum of the shot durations when omitted.

Required range: 3 <= x <= 15
resolution
enum<string>
default:720p

Output resolution (up to 4K). Defaults to 720p. The per-second rate depends on the resolution and, for 720p and 1080p, on native audio.

Available options:
720p,
1080p,
4k
generate_audio
boolean

Generate native audio (alias audio). Defaults to false for single-shot requests and true for multi-shot requests.

multi_shot
boolean

Enable multi-shot generation (alias multi_shots). Use together with multi_prompt to define each shot.

multi_prompt
Multi Prompt · object[]

Shot list for multi-shot generation, up to 5 shots. Each shot is {prompt, duration} with a prompt of up to 500 characters and a duration of 1-12 seconds; the total must not exceed duration.

Maximum array length: 5
callback_url
string
default:""

HTTPS URL that receives the task's terminal state.

Response

200 - application/json

Task accepted

Standard response for task submission

code
integer
required
data
Task Submit Data · object
required

Data content for task submission

message
string
required