Skip to main content
POST
cURL

Usage notes

  • First / last frame: image_urls[0] is the first frame and the optional image_urls[1] is the last frame. The output aspect ratio follows the first frame.
  • Referencing inputs: images are numbered image_1..image_N in order and the video is video_1. Use @image_1 / @video_1 in the prompt to point at a specific input.
  • Multi-shot: set multi_shot to true without multi_prompt to let the model split the prompt into shots automatically, or describe up to 6 shots in multi_prompt ({prompt, duration}, up to 512 characters each) whose durations add up to exactly duration.
  • Not supported: negative_prompt (write exclusions into the prompt), audio_urls, and video_url (use video_urls).

Billing

Billed per second of output video. The per-second rate depends on the tier: 720p basic, 720p enhanced, 1080p basic, 1080p enhanced, or 4K. The enhanced tier applies when native audio is enabled or any video input is provided. 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-omni-i2v"
image_urls
string[]
required

First frame URL, optionally followed by a last frame URL (1-2 images). 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, up to 2,500 characters; required unless multi_prompt is provided. Inputs are numbered automatically: images become image_1..image_N in order and the video becomes video_1; reference them in the prompt as @image_1 or @video_1.

Maximum string length: 2500
duration
integer
default:5

Output duration in seconds (3-15). Defaults to 5. With multi_prompt, the shot durations must add up to exactly this value; when omitted it defaults to the sum of the shot durations.

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

Output resolution. Defaults to 720p. The per-second rate depends on the resolution tier.

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

Generate native audio (alias audio). Defaults to false. Enabling it uses the enhanced billing tier.

multi_shot
boolean

Enable multi-shot generation (alias multi_shots). Without multi_prompt, the model splits the prompt into shots automatically.

multi_prompt
Multi Prompt · object[]

Shot list for multi-shot generation, up to 6 shots. Each shot is {prompt, duration} with a prompt of up to 512 characters; the shot durations must add up to duration (3-15 seconds).

Maximum array length: 6
watermark
boolean
default:false

When true, an additional watermarked copy is generated and the watermarked copy is returned as the result.

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