Kling 4.0 R2V is APIPod’s Omni Reference mode for Kling 4.0, combining up to 10 reference images, 5 reference videos, 7 elements and 3 voices into 3-30 second clips with native audio.
POST
https://api.apipod.ai
/
v1
/
videos
/
generations
cURL
curl https://api.apipod.ai/v1/videos/generations \ -H "Authorization: Bearer $APIPOD_API_KEY" \ -H "Content-Type: application/json" \ -d '{ "model": "kling-4.0-r2v", "prompt": "@Hero sits at the desk in @video_1, picks up the doll from @image_1, and greets the camera using @Narrator.", "image_urls": [ "https://cdn.example.com/doll.png" ], "video_urls": [ "https://cdn.example.com/room.mp4" ], "kling_elements": [ { "name": "Hero", "tag": "character", "description": "Young man in a red jacket", "element_input_urls": [ "https://cdn.example.com/hero-front.jpg", "https://cdn.example.com/hero-side.jpg" ] } ], "voices": [ { "name": "Narrator", "audio_url": "https://cdn.example.com/narrator.mp3" } ], "keep_original_sound": false, "duration": 10, "resolution": "1080p"}'
import os
import requests
payload = {
"model": "kling-4.0-r2v",
"prompt": "@Hero sits at the desk in @video_1, picks up the doll from @image_1, and greets the camera using @Narrator.",
"image_urls": [
"https://cdn.example.com/doll.png"
],
"video_urls": [
"https://cdn.example.com/room.mp4"
],
"kling_elements": [
{
"name": "Hero",
"tag": "character",
"description": "Young man in a red jacket",
"element_input_urls": [
"https://cdn.example.com/hero-front.jpg",
"https://cdn.example.com/hero-side.jpg"
]
}
],
"voices": [
{
"name": "Narrator",
"audio_url": "https://cdn.example.com/narrator.mp3"
}
],
"keep_original_sound": False,
"duration": 10,
"resolution": "1080p"
}
response = requests.post(
"https://api.apipod.ai/v1/videos/generations",
headers={
"Authorization": f"Bearer {os.environ['APIPOD_API_KEY']}",
"Content-Type": "application/json",
},
json=payload,
timeout=60,
)
response.raise_for_status()
print(response.json())
package main
import (
"bytes"
"fmt"
"io"
"net/http"
"os"
)
func main() {
body := []byte(`{
"model": "kling-4.0-r2v",
"prompt": "@Hero sits at the desk in @video_1, picks up the doll from @image_1, and greets the camera using @Narrator.",
"image_urls": [
"https://cdn.example.com/doll.png"
],
"video_urls": [
"https://cdn.example.com/room.mp4"
],
"kling_elements": [
{
"name": "Hero",
"tag": "character",
"description": "Young man in a red jacket",
"element_input_urls": [
"https://cdn.example.com/hero-front.jpg",
"https://cdn.example.com/hero-side.jpg"
]
}
],
"voices": [
{
"name": "Narrator",
"audio_url": "https://cdn.example.com/narrator.mp3"
}
],
"keep_original_sound": false,
"duration": 10,
"resolution": "1080p"
}`)
req, err := http.NewRequest(http.MethodPost, "https://api.apipod.ai/v1/videos/generations", bytes.NewReader(body))
if err != nil {
panic(err)
}
req.Header.Set("Authorization", "Bearer "+os.Getenv("APIPOD_API_KEY"))
req.Header.Set("Content-Type", "application/json")
resp, err := http.DefaultClient.Do(req)
if err != nil {
panic(err)
}
defer resp.Body.Close()
out, _ := io.ReadAll(resp.Body)
fmt.Println(resp.Status, string(out))
}
use reqwest::Client;
use serde_json::json;
use std::env;
#[tokio::main]
async fn main() -> Result<(), Box<dyn std::error::Error>> {
let payload = json!({
"model": "kling-4.0-r2v",
"prompt": "@Hero sits at the desk in @video_1, picks up the doll from @image_1, and greets the camera using @Narrator.",
"image_urls": [
"https://cdn.example.com/doll.png"
],
"video_urls": [
"https://cdn.example.com/room.mp4"
],
"kling_elements": [
{
"name": "Hero",
"tag": "character",
"description": "Young man in a red jacket",
"element_input_urls": [
"https://cdn.example.com/hero-front.jpg",
"https://cdn.example.com/hero-side.jpg"
]
}
],
"voices": [
{
"name": "Narrator",
"audio_url": "https://cdn.example.com/narrator.mp3"
}
],
"keep_original_sound": false,
"duration": 10,
"resolution": "1080p"
});
let response = Client::new()
.post("https://api.apipod.ai/v1/videos/generations")
.bearer_auth(env::var("APIPOD_API_KEY")?)
.json(&payload)
.send()
.await?
.error_for_status()?;
println!("{}", response.text().await?);
Ok(())
}
const response = await fetch("https://api.apipod.ai/v1/videos/generations", {
method: "POST",
headers: {
Authorization: `Bearer ${process.env.APIPOD_API_KEY}`,
"Content-Type": "application/json",
},
body: JSON.stringify({
"model": "kling-4.0-r2v",
"prompt": "@Hero sits at the desk in @video_1, picks up the doll from @image_1, and greets the camera using @Narrator.",
"image_urls": [
"https://cdn.example.com/doll.png"
],
"video_urls": [
"https://cdn.example.com/room.mp4"
],
"kling_elements": [
{
"name": "Hero",
"tag": "character",
"description": "Young man in a red jacket",
"element_input_urls": [
"https://cdn.example.com/hero-front.jpg",
"https://cdn.example.com/hero-side.jpg"
]
}
],
"voices": [
{
"name": "Narrator",
"audio_url": "https://cdn.example.com/narrator.mp3"
}
],
"keep_original_sound": false,
"duration": 10,
"resolution": "1080p"
}),
});
if (!response.ok) {
throw new Error(`APIPod request failed: ${response.status} ${await response.text()}`);
}
console.log(await response.json());
Materials: provide at least one of image_urls (up to 10, @image_N), video_urls (up to 5 clips of 2-30 seconds, @video_N), kling_elements (up to 7, @name) and voices (up to 3, @name). All four types together are limited to 15; reference videos plus video elements are limited to 5 clips and 30 seconds combined.
Elements: each element is either 2-4 images (the first is the primary view) or exactly one 3-8 second single-shot character video, with an optional tag (character, animal, prop, costume, scene, effect, others; video subjects are always character) and description (up to 100 characters). Character elements can bind one voice in element_input_audio_urls. Clip windows (start_time / end_time) are not supported.
Names: element and voice names are 1-20 Chinese characters, letters, digits or underscores, unique across both lists (case-insensitive), and cannot use reserved names such as image_N, video_N, keyframe_N, object_N, audio_N, first_frame or last_frame.
Mentions: every @ mention in the prompt must match a material in the request, using longest match; a name ending with a letter, digit or underscore cannot be directly followed by another letter, digit or underscore. Unmatched mentions return a 400 error before a task is created.
Audio: native audio is always generated, so there is no generate_audio parameter — sending it is rejected. With video_urls, set keep_original_sound to true to keep the reference videos’ sound.
Not supported: keyframe_urls (use Kling 4.0 Image to Video), audio_urls (use voices), video_url (use video_urls), negative_prompt, multi_shot / multi_prompt, and 4K output.
Billed per second at a rate that depends on the resolution and on whether video input is present.
No video input (text, images, image elements or voices only): rate × output seconds.
With video input (video_urls or video elements): input video durations are merged and billed too, at a lower per-second video-input rate. If the total input is no longer than the output, you pay for output × 2; if it is longer, you pay for input + output. For example, a 10-second output with 5 seconds of input bills 20 seconds; with 15 seconds of input it bills 25 seconds.
Input videos are probed when the task is submitted; if a duration cannot be read, the request is rejected with a 400 error and nothing is charged. Current prices are shown on the model page.
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. Upstream checks such as reference video length or voice detection happen during generation; such failures are refunded.
Required, up to 8,000 characters. Mention materials as @image_1..@image_N and @video_1..@video_N (1-based, in array order), and elements / voices by @name. Every @ mention must match a material in this request; mentions use longest-match, and a name ending with a letter, digit or underscore cannot be followed by another letter, digit or underscore.
Reference images, up to 10 publicly accessible URLs, mentioned as @image_1..@image_N in array order. Each side must be 300-65536 pixels; aspect ratio 0.40-2.5.
Reference videos, up to 5 clips of 2-30 seconds each, mentioned as @video_1..@video_N. Reference videos plus video elements cannot exceed 5 clips or 30 seconds combined. Input video time is billed too, at the lower video-input rate: output + max(output, total input) seconds (10 s output + 5 s input bills 20 s; + 15 s input bills 25 s).
Subjects used only for this task, up to 7 (at most 3 video subjects), mentioned as @name. Each element is either 2-4 images (the first is the primary view) or exactly one 3-8 second single-shot character video. image_urls, video_urls, kling_elements and voices together cannot exceed 15 items.
{"docsConfig":{"theme":"mint","$schema":"https://mintlify.com/docs.json","name":"APIPod Docs","description":"APIPod API documentation for image and video generation models.","colors":{"primary":"#7F22FE","light":"#A684FF","dark":"#7008E7"},"logo":{"light":"https://mintcdn.com/apipod/eQooMSJ0T7lbhJsR/logo.svg?fit=max\u0026auto=format\u0026n=eQooMSJ0T7lbhJsR\u0026q=85\u0026s=8c3136fb3cec60f625ec4693d5313b42","dark":"https://mintcdn.com/apipod/eQooMSJ0T7lbhJsR/logo.svg?fit=max\u0026auto=format\u0026n=eQooMSJ0T7lbhJsR\u0026q=85\u0026s=8c3136fb3cec60f625ec4693d5313b42","href":"https://www.apipod.ai"},"favicon":"https://mintcdn.com/apipod/eQooMSJ0T7lbhJsR/favicon.ico?fit=max\u0026auto=format\u0026n=eQooMSJ0T7lbhJsR\u0026q=85\u0026s=f81f92481d656456460373ccf2fe85d0","api":{"openapi":["api-reference/openapi/gpt-image-2--gpt-image-2.yaml","api-reference/openapi/gpt-image-2--gpt-image-2.zh.yaml","api-reference/openapi/gpt-image-2.5--gpt-image-2.5-flare.yaml","api-reference/openapi/gpt-image-2.5--gpt-image-2.5-flare.zh.yaml","api-reference/openapi/gpt-image-2.5--gpt-image-2.5-flare-lite.yaml","api-reference/openapi/gpt-image-2.5--gpt-image-2.5-flare-lite.zh.yaml","api-reference/openapi/gpt-image-2.5--gpt-image-2.5-sunburst.yaml","api-reference/openapi/gpt-image-2.5--gpt-image-2.5-sunburst.zh.yaml","api-reference/openapi/gpt-image-2.5--gpt-image-2.5-sunburst-lite.yaml","api-reference/openapi/gpt-image-2.5--gpt-image-2.5-sunburst-lite.zh.yaml","api-reference/openapi/gpt-image-2--gpt-image-2-lite.yaml","api-reference/openapi/gpt-image-2--gpt-image-2-lite.zh.yaml","api-reference/openapi/gpt-image-2--gpt-image-2-1k.yaml","api-reference/openapi/gpt-image-2--gpt-image-2-1k.zh.yaml","api-reference/openapi/gpt-image-2--gpt-image-2-fast.yaml","api-reference/openapi/gpt-image-2--gpt-image-2-fast.zh.yaml","api-reference/openapi/nano-banana--nano-banana-2.yaml","api-reference/openapi/nano-banana--nano-banana-2.zh.yaml","api-reference/openapi/nano-banana--nano-banana-2-lite.yaml","api-reference/openapi/nano-banana--nano-banana-2-lite.zh.yaml","api-reference/openapi/nano-banana--nano-banana-pro.yaml","api-reference/openapi/nano-banana--nano-banana-pro.zh.yaml","api-reference/openapi/nano-banana--nano-banana-2.1.yaml","api-reference/openapi/nano-banana--nano-banana-2.1.zh.yaml","api-reference/openapi/seedream--4-5-text-to-image.yaml","api-reference/openapi/seedream--4-5-text-to-image.zh.yaml","api-reference/openapi/seedream--4-5-image-to-image.yaml","api-reference/openapi/seedream--4-5-image-to-image.zh.yaml","api-reference/openapi/seedream--5-0-lite-text-to-image.yaml","api-reference/openapi/seedream--5-0-lite-text-to-image.zh.yaml","api-reference/openapi/seedream--5-0-lite-image-to-image.yaml","api-reference/openapi/seedream--5-0-lite-image-to-image.zh.yaml","api-reference/openapi/seedream--5-0-pro-text-to-image.yaml","api-reference/openapi/seedream--5-0-pro-text-to-image.zh.yaml","api-reference/openapi/seedream--5-0-pro-image-to-image.yaml","api-reference/openapi/seedream--5-0-pro-image-to-image.zh.yaml","api-reference/openapi/seedream--5-0-pro-layer.yaml","api-reference/openapi/seedream--5-0-pro-layer.zh.yaml","api-reference/openapi/seedream--5-0-flash-text-to-image.yaml","api-reference/openapi/seedream--5-0-flash-text-to-image.zh.yaml","api-reference/openapi/seedream--5-0-flash-image-to-image.yaml","api-reference/openapi/seedream--5-0-flash-image-to-image.zh.yaml","api-reference/openapi/seedream--5-0-flash-layer.yaml","api-reference/openapi/seedream--5-0-flash-layer.zh.yaml","api-reference/openapi/wan--2-7-text-to-image.yaml","api-reference/openapi/wan--2-7-text-to-image.zh.yaml","api-reference/openapi/wan--2-7-image-to-image.yaml","api-reference/openapi/wan--2-7-image-to-image.zh.yaml","api-reference/openapi/wan--2-7-text-to-image-pro.yaml","api-reference/openapi/wan--2-7-text-to-image-pro.zh.yaml","api-reference/openapi/wan--2-7-image-to-image-pro.yaml","api-reference/openapi/wan--2-7-image-to-image-pro.zh.yaml","api-reference/openapi/query-image-task.yaml","api-reference/openapi/query-image-task.zh.yaml","api-reference/openapi/veo--3-1-fast.yaml","api-reference/openapi/veo--3-1-fast.zh.yaml","api-reference/openapi/veo--3-1-fast-4k.yaml","api-reference/openapi/veo--3-1-fast-4k.zh.yaml","api-reference/openapi/veo--3-1-fast-ref.yaml","api-reference/openapi/veo--3-1-fast-ref.zh.yaml","api-reference/openapi/veo--3-1-quality.yaml","api-reference/openapi/veo--3-1-quality.zh.yaml","api-reference/openapi/veo--3-1-quality-4k.yaml","api-reference/openapi/veo--3-1-quality-4k.zh.yaml","api-reference/openapi/seedance--2-0-text-to-video.yaml","api-reference/openapi/seedance--2-0-text-to-video.zh.yaml","api-reference/openapi/seedance--2-0-image-to-video.yaml","api-reference/openapi/seedance--2-0-image-to-video.zh.yaml","api-reference/openapi/seedance--2-0-reference-to-video.yaml","api-reference/openapi/seedance--2-0-reference-to-video.zh.yaml","api-reference/openapi/seedance--2-0-fast-text-to-video.yaml","api-reference/openapi/seedance--2-0-fast-text-to-video.zh.yaml","api-reference/openapi/seedance--2-0-fast-image-to-video.yaml","api-reference/openapi/seedance--2-0-fast-image-to-video.zh.yaml","api-reference/openapi/seedance--2-0-fast-reference-to-video.yaml","api-reference/openapi/seedance--2-0-fast-reference-to-video.zh.yaml","api-reference/openapi/grok-imagine--grok-imagine-t2v.yaml","api-reference/openapi/grok-imagine--grok-imagine-t2v.zh.yaml","api-reference/openapi/grok-imagine--grok-imagine-i2v.yaml","api-reference/openapi/grok-imagine--grok-imagine-i2v.zh.yaml","api-reference/openapi/grok-imagine-1-5--grok-imagine-1-5-fast.yaml","api-reference/openapi/grok-imagine-1-5--grok-imagine-1-5-fast.zh.yaml","api-reference/openapi/grok-imagine-1-5--grok-imagine-1-5-preview.yaml","api-reference/openapi/grok-imagine-1-5--grok-imagine-1-5-preview.zh.yaml","api-reference/openapi/sora-2--sora-2-vip.yaml","api-reference/openapi/sora-2--sora-2-vip.zh.yaml","api-reference/openapi/gemini-omni--gemini-omni-t2v.yaml","api-reference/openapi/gemini-omni--gemini-omni-t2v.zh.yaml","api-reference/openapi/gemini-omni--gemini-omni-i2v.yaml","api-reference/openapi/gemini-omni--gemini-omni-i2v.zh.yaml","api-reference/openapi/gemini-omni--gemini-omni-r2v.yaml","api-reference/openapi/gemini-omni--gemini-omni-r2v.zh.yaml","api-reference/openapi/gemini-omni--gemini-omni-extend.yaml","api-reference/openapi/gemini-omni--gemini-omni-extend.zh.yaml","api-reference/openapi/gemini-omni-flash-1.1--gemini-omni-flash-1.1-t2v.yaml","api-reference/openapi/gemini-omni-flash-1.1--gemini-omni-flash-1.1-t2v.zh.yaml","api-reference/openapi/gemini-omni-flash-1.1--gemini-omni-flash-1.1-i2v.yaml","api-reference/openapi/gemini-omni-flash-1.1--gemini-omni-flash-1.1-i2v.zh.yaml","api-reference/openapi/gemini-omni-flash-1.1--gemini-omni-flash-1.1-r2v.yaml","api-reference/openapi/gemini-omni-flash-1.1--gemini-omni-flash-1.1-r2v.zh.yaml","api-reference/openapi/gemini-omni-flash-1.1--gemini-omni-flash-1.1-extend.yaml","api-reference/openapi/gemini-omni-flash-1.1--gemini-omni-flash-1.1-extend.zh.yaml","api-reference/openapi/minimax-h3--minimax-h3.yaml","api-reference/openapi/minimax-h3--minimax-h3.zh.yaml","api-reference/openapi/minimax-h3--minimax-h3-t2v.yaml","api-reference/openapi/minimax-h3--minimax-h3-t2v.zh.yaml","api-reference/openapi/minimax-h3--minimax-h3-i2v.yaml","api-reference/openapi/minimax-h3--minimax-h3-i2v.zh.yaml","api-reference/openapi/minimax-h3--minimax-h3-r2v.yaml","api-reference/openapi/minimax-h3--minimax-h3-r2v.zh.yaml","api-reference/openapi/query-video-task.yaml","api-reference/openapi/query-video-task.zh.yaml","api-reference/openapi/ark-query-video-task.yaml","api-reference/openapi/ark-query-video-task.zh.yaml","api-reference/openapi/grok-imagine-1-5--grok-imagine-1-5-vip.yaml","api-reference/openapi/grok-imagine-1-5--grok-imagine-1-5-vip.zh.yaml","api-reference/openapi/kling--kling-2-6-motion-control.yaml","api-reference/openapi/kling--kling-2-6-motion-control.zh.yaml","api-reference/openapi/kling-3.0--kling-3.0-t2v.yaml","api-reference/openapi/kling-3.0--kling-3.0-t2v.zh.yaml","api-reference/openapi/kling-3.0--kling-3.0-i2v.yaml","api-reference/openapi/kling-3.0--kling-3.0-i2v.zh.yaml","api-reference/openapi/kling-3.0--kling-3.0-turbo-t2v.yaml","api-reference/openapi/kling-3.0--kling-3.0-turbo-t2v.zh.yaml","api-reference/openapi/kling-3.0--kling-3.0-turbo-i2v.yaml","api-reference/openapi/kling-3.0--kling-3.0-turbo-i2v.zh.yaml","api-reference/openapi/kling-3.0--kling-3.0-omni-t2v.yaml","api-reference/openapi/kling-3.0--kling-3.0-omni-t2v.zh.yaml","api-reference/openapi/kling-3.0--kling-3.0-omni-i2v.yaml","api-reference/openapi/kling-3.0--kling-3.0-omni-i2v.zh.yaml","api-reference/openapi/kling-3.0--kling-3.0-omni-r2v.yaml","api-reference/openapi/kling-3.0--kling-3.0-omni-r2v.zh.yaml","api-reference/openapi/kling-3.0--kling-3.0-omni-edit.yaml","api-reference/openapi/kling-3.0--kling-3.0-omni-edit.zh.yaml","api-reference/openapi/kling-4.0--kling-4.0-t2v.yaml","api-reference/openapi/kling-4.0--kling-4.0-t2v.zh.yaml","api-reference/openapi/kling-4.0--kling-4.0-i2v.yaml","api-reference/openapi/kling-4.0--kling-4.0-i2v.zh.yaml","api-reference/openapi/kling-4.0--kling-4.0-r2v.yaml","api-reference/openapi/kling-4.0--kling-4.0-r2v.zh.yaml","api-reference/openapi/motion-control--motion-control-m1.yaml","api-reference/openapi/motion-control--motion-control-m1.zh.yaml","api-reference/openapi/seedance--doubao-seedance-1-0-pro-fast-i2v.yaml","api-reference/openapi/seedance--doubao-seedance-1-0-pro-fast-i2v.zh.yaml","api-reference/openapi/seedance--seedance-1-0-lite-i2v.yaml","api-reference/openapi/seedance--seedance-1-0-lite-i2v.zh.yaml","api-reference/openapi/seedance--seedance-1-0-lite-i2v-ref.yaml","api-reference/openapi/seedance--seedance-1-0-lite-i2v-ref.zh.yaml","api-reference/openapi/seedance--seedance-1-0-lite-t2v.yaml","api-reference/openapi/seedance--seedance-1-0-lite-t2v.zh.yaml","api-reference/openapi/seedance--seedance-1-0-pro-fast-i2v.yaml","api-reference/openapi/seedance--seedance-1-0-pro-fast-i2v.zh.yaml","api-reference/openapi/seedance--seedance-1-0-pro-fast-t2v.yaml","api-reference/openapi/seedance--seedance-1-0-pro-fast-t2v.zh.yaml","api-reference/openapi/seedance--seedance-1-0-pro-i2v.yaml","api-reference/openapi/seedance--seedance-1-0-pro-i2v.zh.yaml","api-reference/openapi/seedance--seedance-1-0-pro-t2v.yaml","api-reference/openapi/seedance--seedance-1-0-pro-t2v.zh.yaml","api-reference/openapi/seedance--seedance-1-5-pro-i2v.yaml","api-reference/openapi/seedance--seedance-1-5-pro-i2v.zh.yaml","api-reference/openapi/seedance--seedance-1-5-pro-t2v.yaml","api-reference/openapi/seedance--seedance-1-5-pro-t2v.zh.yaml","api-reference/openapi/seedance--2-0-mini-image-to-video.yaml","api-reference/openapi/seedance--2-0-mini-image-to-video.zh.yaml","api-reference/openapi/seedance--2-0-mini-reference-to-video.yaml","api-reference/openapi/seedance--2-0-mini-reference-to-video.zh.yaml","api-reference/openapi/seedance--2-0-mini-text-to-video.yaml","api-reference/openapi/seedance--2-0-mini-text-to-video.zh.yaml","api-reference/openapi/seedance--seedance-2-0-t2v-vip.yaml","api-reference/openapi/seedance--seedance-2-0-t2v-vip.zh.yaml","api-reference/openapi/seedance--2-0-lite-text-to-video.yaml","api-reference/openapi/seedance--2-0-lite-text-to-video.zh.yaml","api-reference/openapi/seedance--2-0-lite-image-to-video.yaml","api-reference/openapi/seedance--2-0-lite-image-to-video.zh.yaml","api-reference/openapi/seedance--2-0-lite-reference-to-video.yaml","api-reference/openapi/seedance--2-0-lite-reference-to-video.zh.yaml","api-reference/openapi/seedance--2-0-fast-lite-text-to-video.yaml","api-reference/openapi/seedance--2-0-fast-lite-text-to-video.zh.yaml","api-reference/openapi/seedance--2-0-fast-lite-image-to-video.yaml","api-reference/openapi/seedance--2-0-fast-lite-image-to-video.zh.yaml","api-reference/openapi/seedance--2-0-fast-lite-reference-to-video.yaml","api-reference/openapi/seedance--2-0-fast-lite-reference-to-video.zh.yaml","api-reference/openapi/seedance--2-0-mini-lite-text-to-video.yaml","api-reference/openapi/seedance--2-0-mini-lite-text-to-video.zh.yaml","api-reference/openapi/seedance--2-0-mini-lite-image-to-video.yaml","api-reference/openapi/seedance--2-0-mini-lite-image-to-video.zh.yaml","api-reference/openapi/seedance--2-0-mini-lite-reference-to-video.yaml","api-reference/openapi/seedance--2-0-mini-lite-reference-to-video.zh.yaml","api-reference/openapi/seedance--2-5-text-to-video.yaml","api-reference/openapi/seedance--2-5-text-to-video.zh.yaml","api-reference/openapi/seedance--2-5-image-to-video.yaml","api-reference/openapi/seedance--2-5-image-to-video.zh.yaml","api-reference/openapi/seedance--2-5-reference-to-video.yaml","api-reference/openapi/seedance--2-5-reference-to-video.zh.yaml","api-reference/openapi/seedance--2-5-video-edit.yaml","api-reference/openapi/seedance--2-5-video-edit.zh.yaml","api-reference/openapi/seedance--2-5-video-extend.yaml","api-reference/openapi/seedance--2-5-video-extend.zh.yaml","api-reference/openapi/seedance--2-5-draft.yaml","api-reference/openapi/seedance--2-5-draft.zh.yaml","api-reference/openapi/seedance--2-5-lite-text-to-video.yaml","api-reference/openapi/seedance--2-5-lite-text-to-video.zh.yaml","api-reference/openapi/seedance--2-5-lite-image-to-video.yaml","api-reference/openapi/seedance--2-5-lite-image-to-video.zh.yaml","api-reference/openapi/seedance--2-5-lite-reference-to-video.yaml","api-reference/openapi/seedance--2-5-lite-reference-to-video.zh.yaml","api-reference/openapi/veo--3-1-lite.yaml","api-reference/openapi/veo--3-1-lite.zh.yaml","api-reference/openapi/veo--3-1-lite-4k.yaml","api-reference/openapi/veo--3-1-lite-4k.zh.yaml","api-reference/openapi/wan--wan2-7-i2v.yaml","api-reference/openapi/wan--wan2-7-i2v.zh.yaml","api-reference/openapi/wan--wan2-7-t2v.yaml","api-reference/openapi/wan--wan2-7-t2v.zh.yaml","api-reference/openapi/wan--wan2-7-videoedit.yaml","api-reference/openapi/wan--wan2-7-videoedit.zh.yaml","api-reference/openapi/wan--wan3-0-video.yaml","api-reference/openapi/wan--wan3-0-video.zh.yaml","api-reference/openapi/wan--wan3-0-i2v.yaml","api-reference/openapi/wan--wan3-0-i2v.zh.yaml","api-reference/openapi/wan--wan3-0-r2v.yaml","api-reference/openapi/wan--wan3-0-r2v.zh.yaml","api-reference/openapi/wan--wan3-0-t2v.yaml","api-reference/openapi/wan--wan3-0-t2v.zh.yaml","api-reference/openapi/wan--wan3-0-video-prime.yaml","api-reference/openapi/wan--wan3-0-video-prime.zh.yaml","api-reference/openapi/wan--wan3-0-prime-i2v.yaml","api-reference/openapi/wan--wan3-0-prime-i2v.zh.yaml","api-reference/openapi/wan--wan3-0-prime-r2v.yaml","api-reference/openapi/wan--wan3-0-prime-r2v.zh.yaml","api-reference/openapi/wan--wan3-0-prime-t2v.yaml","api-reference/openapi/wan--wan3-0-prime-t2v.zh.yaml","api-reference/openapi/seedance--2-0-spicy-text-to-video.yaml","api-reference/openapi/seedance--2-0-spicy-text-to-video.zh.yaml","api-reference/openapi/seedance--2-0-spicy-image-to-video.yaml","api-reference/openapi/seedance--2-0-spicy-image-to-video.zh.yaml","api-reference/openapi/seedance--2-0-spicy-reference-to-video.yaml","api-reference/openapi/seedance--2-0-spicy-reference-to-video.zh.yaml","api-reference/openapi/seedance--2-5-spicy-text-to-video.yaml","api-reference/openapi/seedance--2-5-spicy-text-to-video.zh.yaml","api-reference/openapi/seedance--2-5-spicy-image-to-video.yaml","api-reference/openapi/seedance--2-5-spicy-image-to-video.zh.yaml","api-reference/openapi/seedance--2-5-spicy-reference-to-video.yaml","api-reference/openapi/seedance--2-5-spicy-reference-to-video.zh.yaml","api-reference/openapi/seedance--2-5-spicy-video-edit.yaml","api-reference/openapi/seedance--2-5-spicy-video-edit.zh.yaml","api-reference/openapi/seedance--2-5-spicy-video-extend.yaml","api-reference/openapi/seedance--2-5-spicy-video-extend.zh.yaml","api-reference/openapi/seedance--2-0-x-text-to-video.yaml","api-reference/openapi/seedance--2-0-x-text-to-video.zh.yaml","api-reference/openapi/seedance--2-0-x-reference-to-video.yaml","api-reference/openapi/seedance--2-0-x-reference-to-video.zh.yaml","api-reference/openapi/seedance--2-5-x-text-to-video.yaml","api-reference/openapi/seedance--2-5-x-text-to-video.zh.yaml","api-reference/openapi/seedance--2-5-x-reference-to-video.yaml","api-reference/openapi/seedance--2-5-x-reference-to-video.zh.yaml","api-reference/openapi/wan--wan3-0-spicy-t2v.yaml","api-reference/openapi/wan--wan3-0-spicy-t2v.zh.yaml","api-reference/openapi/wan--wan3-0-spicy-i2v.yaml","api-reference/openapi/wan--wan3-0-spicy-i2v.zh.yaml","api-reference/openapi/wan--wan3-0-spicy-r2v.yaml","api-reference/openapi/wan--wan3-0-spicy-r2v.zh.yaml","api-reference/openapi/wan--wan3-0-video-spicy.yaml","api-reference/openapi/wan--wan3-0-video-spicy.zh.yaml","api-reference/openapi/wan--wan3-0-pro-spicy-t2v.yaml","api-reference/openapi/wan--wan3-0-pro-spicy-t2v.zh.yaml","api-reference/openapi/wan--wan3-0-pro-spicy-i2v.yaml","api-reference/openapi/wan--wan3-0-pro-spicy-i2v.zh.yaml","api-reference/openapi/wan--wan3-0-pro-spicy-r2v.yaml","api-reference/openapi/wan--wan3-0-pro-spicy-r2v.zh.yaml","api-reference/openapi/wan--wan3-0-video-pro-spicy.yaml","api-reference/openapi/wan--wan3-0-video-pro-spicy.zh.yaml","api-reference/openapi/wan--wan3-0-prime-spicy-t2v.yaml","api-reference/openapi/wan--wan3-0-prime-spicy-t2v.zh.yaml","api-reference/openapi/wan--wan3-0-prime-spicy-i2v.yaml","api-reference/openapi/wan--wan3-0-prime-spicy-i2v.zh.yaml","api-reference/openapi/wan--wan3-0-prime-spicy-r2v.yaml","api-reference/openapi/wan--wan3-0-prime-spicy-r2v.zh.yaml","api-reference/openapi/wan--wan3-0-video-prime-spicy.yaml","api-reference/openapi/wan--wan3-0-video-prime-spicy.zh.yaml"],"playground":{"display":"interactive","proxy":false},"examples":{"defaults":"required","languages":["curl","python","go","rust","javascript"]},"url":"full"},"navbar":{"links":[{"href":"https://www.apipod.ai/models","label":"Models"},{"href":"https://www.apipod.ai/pricing","label":"Pricing"},{"href":"mailto:[email protected]","label":"Support"}],"primary":{"type":"button","label":"Console","href":"https://www.apipod.ai/console"}},"footer":{"socials":{"github":"https://github.com/APIPod"}},"search":{"prompt":"Search APIPod documentation"},"seo":{"indexing":"navigable"},"icons":{"library":"lucide"},"contextual":{"options":["copy","view","chatgpt","claude","cursor"],"display":"header"},"styling":{"latex":false},"navigation":{"languages":[{"language":"en","default":true,"href":"introduction"},{"language":"zh-CN","href":"zh-CN/introduction"}]}},"deployment":{"deploymentMetadataValue":{"subdomain":"apipod","hasAudioNarration":false,"actualSubdomain":"apipod","customDomains":["docs.apipod.ai"],"gitSource":{"type":"github","owner":"apipodai","repo":"docs","deployBranch":"main","contentDirectory":"","isPrivate":false,"mountPath":"","label":""},"chroma":{"liveDeploymentHistoryId":"6ad761d4a94f23ab0f7d1689","collectionId":"fbde9542-24f8-4403-82eb-8110fa5a9859","schemaVersion":"v3","latestBuiltDeploymentHistoryId":"6ad761d4a94f23ab0f7d1689"},"feedback":{"thumbs":true,"agentFeedback":true},"entitlements":{},"buildId":"6adc202976d80e06222939a5","clientVersion":"0.0.3964","searchFilterCounts":[{"language":"en","tag":"API Reference","count":99},{"language":"zh-CN","tag":"API 参考","count":99},{"language":"en","tag":"Videos","count":71},{"language":"zh-CN","tag":"视频","count":71},{"language":"en","tag":"Seedance","count":31},{"language":"zh-CN","tag":"Seedance","count":31},{"language":"en","tag":"Images","count":26},{"language":"zh-CN","tag":"图片","count":26},{"language":"en","tag":"Seedance 2.5","count":14},{"language":"zh-CN","tag":"Seedance 2.5","count":14},{"language":"en","tag":"Seedance 2.0","count":11},{"language":"zh-CN","tag":"Seedance 2.0","count":11},{"language":"en","tag":"Kling 3.0","count":10},{"language":"en","tag":"Seedream","count":10},{"language":"zh-CN","tag":"Kling 3.0","count":10},{"language":"zh-CN","tag":"Seedream","count":10},{"language":"en","tag":"Wan Video","count":9},{"language":"zh-CN","tag":"Wan Video","count":9},{"language":"en","tag":"Get Started","count":7},{"language":"zh-CN","tag":"开始使用","count":7}]},"assistantConfig":{"enableAskAiButton":false,"enableStarterQuestions":false,"enableAskAiSearchBar":true},"hasChatPermissions":false,"hasWebMcpPermissions":false,"toggles":[{"name":"kill-isr","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"agent-mintlify-slack","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-v7-file-tree","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"agent-integrations-settings","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automations-pr-grouping","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"custom-prefix","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"analytics-v7","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"user-flows-analytics","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"no-publish-flow","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-onboarding","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"llms-txt-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"pause-universal-search-reconcile","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"snapshot-serving-live","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"stripTemperatureMiddleware","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"per-site-search-delta","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"support-platform-pylon-zendesk","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"snapshot-serving","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"instant-rollback","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"granular-notifications-server","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"granular-notifications","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-private-page-search","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automations-fable","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"fixed-ai-action-pricing","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automation-resolve-merge-conflict","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"scoped-publishing","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"mintql","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"page-level-analytics","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-version-history-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-nav-generations","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"billing-page-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workspace-projects","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"assistant-v5","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"byok-sep-25","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"fork-pr-previews","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"revalidation-jwt","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"vite-origin","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-agent-model-picker","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"billing-updated-9-15","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"hobby-abuse-scan","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"dashboard-inbox","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false}],"isAtlas":false,"googleFontsInlined":false},"customCss":[],"page":{"pagePath":"kling-4.0/kling-4.0-r2v","slug":"/kling-4.0/kling-4.0-r2v","pageMetadata":{"title":"Kling 4.0 Reference to Video","description":"Kling 4.0 R2V is APIPod's Omni Reference mode for Kling 4.0, combining up to 10 reference images, 5 reference videos, 7 elements and 3 voices into 3-30 second clips with native audio.","openapi":"api-reference/openapi/kling-4.0--kling-4.0-r2v.yaml POST /v1/videos/generations","href":"/kling-4.0/kling-4.0-r2v"},"description":{"compiledSource":"\"use strict\";\nconst {jsx: _jsx} = arguments[0];\nconst {useMDXComponents: _provideComponents} = arguments[0];\nfunction _createMdxContent(props) {\n const _components = {\n p: \"p\",\n ..._provideComponents(),\n ...props.components\n };\n return _jsx(_components.p, {\n children: \"Kling 4.0 R2V is APIPod’s Omni Reference mode for Kling 4.0, combining up to 10 reference images, 5 reference videos, 7 elements and 3 voices into 3-30 second clips with native audio.\"\n });\n}\nfunction MDXContent(props = {}) {\n const {wrapper: MDXLayout} = {\n ..._provideComponents(),\n ...props.components\n };\n return MDXLayout ? _jsx(MDXLayout, {\n ...props,\n children: _jsx(_createMdxContent, {\n ...props\n })\n }) : _createMdxContent(props);\n}\nreturn {\n default: MDXContent\n};\n","frontmatter":{},"scope":{}},"pageType":"default","mdx":{"mdxSource":{"compiledSource":"\"use strict\";const{Fragment:_Fragment,jsx:_jsx,jsxs:_jsxs}=arguments[0];const{useMDXComponents:_provideComponents}=arguments[0];function _createMdxContent(props){const _components={a:`a`,code:`code`,li:`li`,p:`p`,strong:`strong`,ul:`ul`,..._provideComponents(),...props.components},{Heading}=_components;if(!Heading)_missingMdxReference(`Heading`,true);return _jsxs(_Fragment,{children:[_jsx(Heading,{level:`2`,id:`usage-notes`,children:`Usage notes`}),`\n`,_jsxs(_components.ul,{children:[`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`Materials`}),`: provide at least one of `,_jsx(_components.code,{children:`image_urls`}),` (up to 10, `,_jsx(_components.code,{children:`@image_N`}),`), `,_jsx(_components.code,{children:`video_urls`}),` (up to 5 clips of 2-30 seconds, `,_jsx(_components.code,{children:`@video_N`}),`), `,_jsx(_components.code,{children:`kling_elements`}),` (up to 7, `,_jsx(_components.code,{children:`@name`}),`) and `,_jsx(_components.code,{children:`voices`}),` (up to 3, `,_jsx(_components.code,{children:`@name`}),`). All four types together are limited to 15; reference videos plus video elements are limited to 5 clips and 30 seconds combined.`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`Elements`}),`: each element is either 2-4 images (the first is the primary view) or exactly one 3-8 second single-shot character video, with an optional `,_jsx(_components.code,{children:`tag`}),` (`,_jsx(_components.code,{children:`character`}),`, `,_jsx(_components.code,{children:`animal`}),`, `,_jsx(_components.code,{children:`prop`}),`, `,_jsx(_components.code,{children:`costume`}),`, `,_jsx(_components.code,{children:`scene`}),`, `,_jsx(_components.code,{children:`effect`}),`, `,_jsx(_components.code,{children:`others`}),`; video subjects are always `,_jsx(_components.code,{children:`character`}),`) and `,_jsx(_components.code,{children:`description`}),` (up to 100 characters). Character elements can bind one voice in `,_jsx(_components.code,{children:`element_input_audio_urls`}),`. Clip windows (`,_jsx(_components.code,{children:`start_time`}),` / `,_jsx(_components.code,{children:`end_time`}),`) are not supported.`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`Names`}),`: element and voice names are 1-20 Chinese characters, letters, digits or underscores, unique across both lists (case-insensitive), and cannot use reserved names such as `,_jsx(_components.code,{children:`image_N`}),`, `,_jsx(_components.code,{children:`video_N`}),`, `,_jsx(_components.code,{children:`keyframe_N`}),`, `,_jsx(_components.code,{children:`object_N`}),`, `,_jsx(_components.code,{children:`audio_N`}),`, `,_jsx(_components.code,{children:`first_frame`}),` or `,_jsx(_components.code,{children:`last_frame`}),`.`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`Mentions`}),`: every `,_jsx(_components.code,{children:`@`}),` mention in the prompt must match a material in the request, using longest match; a name ending with a letter, digit or underscore cannot be directly followed by another letter, digit or underscore. Unmatched mentions return a 400 error before a task is created.`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`Audio`}),`: native audio is always generated, so there is no `,_jsx(_components.code,{children:`generate_audio`}),` parameter — sending it is rejected. With `,_jsx(_components.code,{children:`video_urls`}),`, set `,_jsx(_components.code,{children:`keep_original_sound`}),` to `,_jsx(_components.code,{children:`true`}),` to keep the reference videos’ sound.`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`Not supported`}),`: `,_jsx(_components.code,{children:`keyframe_urls`}),` (use `,_jsx(_components.a,{href:`/kling-4.0/kling-4.0-i2v`,children:`Kling 4.0 Image to Video`}),`), `,_jsx(_components.code,{children:`audio_urls`}),` (use `,_jsx(_components.code,{children:`voices`}),`), `,_jsx(_components.code,{children:`video_url`}),` (use `,_jsx(_components.code,{children:`video_urls`}),`), `,_jsx(_components.code,{children:`negative_prompt`}),`, `,_jsx(_components.code,{children:`multi_shot`}),` / `,_jsx(_components.code,{children:`multi_prompt`}),`, and 4K output.`]}),`\n`]}),`\n`,_jsx(Heading,{level:`2`,id:`billing`,children:`Billing`}),`\n`,_jsx(_components.p,{children:`Billed per second at a rate that depends on the resolution and on whether video input is present.`}),`\n`,_jsxs(_components.ul,{children:[`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`No video input`}),` (text, images, image elements or voices only): rate × output seconds.`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`With video input`}),` (`,_jsx(_components.code,{children:`video_urls`}),` or video elements): input video durations are merged and billed too, at a lower per-second video-input rate. If the total input is no longer than the output, you pay for output × 2; if it is longer, you pay for input + output. For example, a 10-second output with 5 seconds of input bills 20 seconds; with 15 seconds of input it bills 25 seconds.`]}),`\n`]}),`\n`,_jsxs(_components.p,{children:[`Input videos are probed when the task is submitted; if a duration cannot be read, the request is rejected with a 400 error and nothing is charged. Current prices are shown on the `,_jsx(_components.a,{href:`https://www.apipod.ai/models`,children:`model page`}),`.`]}),`\n`,_jsx(Heading,{level:`2`,id:`task-flow`,children:`Task flow`}),`\n`,_jsxs(_components.p,{children:[`The create call returns `,_jsx(_components.code,{children:`data.task_id`}),`. Poll `,_jsx(_components.a,{href:`/query-video-task`,children:`Query video task`}),` until `,_jsx(_components.code,{children:`status`}),` is `,_jsx(_components.code,{children:`completed`}),` (outputs in `,_jsx(_components.code,{children:`data.result`}),`) or `,_jsx(_components.code,{children:`failed`}),`, or pass `,_jsx(_components.code,{children:`callback_url`}),` to be notified when the task reaches a terminal state. Upstream checks such as reference video length or voice detection happen during generation; such failures are refunded.`]})]})}function MDXContent(props={}){const{wrapper:MDXLayout}={..._provideComponents(),...props.components};return MDXLayout?_jsx(MDXLayout,{...props,children:_jsx(_createMdxContent,{...props})}):_createMdxContent(props)}return{default:MDXContent};function _missingMdxReference(id,component){throw new Error(`Expected `+(component?`component`:`object`)+\" `\"+id+\"` to be defined: you likely forgot to import, pass, or provide it.\")}","frontmatter":{},"scope":{"config":{},"pageMetadata":{"title":"Kling 4.0 Reference to Video","description":"Kling 4.0 R2V is APIPod's Omni Reference mode for Kling 4.0, combining up to 10 reference images, 5 reference videos, 7 elements and 3 voices into 3-30 second clips with native audio.","openapi":"api-reference/openapi/kling-4.0--kling-4.0-r2v.yaml POST /v1/videos/generations","href":"/kling-4.0/kling-4.0-r2v"}}},"mdxSourceWithNoJs":null},"mdxExtracts":{"tableOfContents":[{"title":"Usage notes","slug":"usage-notes","depth":2,"children":[]},{"title":"Billing","slug":"billing","depth":2,"children":[]},{"title":"Task flow","slug":"task-flow","depth":2,"children":[]}],"codeExamples":{}},"jsLinks":[],"openApiReferenceData":{"operation":{"summary":"Create Generation Task","description":"Kling 4.0 R2V is APIPod's Omni Reference mode for Kling 4.0, combining up to 10 reference images, 5 reference videos, 7 elements and 3 voices into 3-30 second clips with native audio.","operationId":"create-kling-4.0-kling-4.0-r2v","tags":["Kling 4.0 Reference to Video"],"security":["d4441a5c-1605-45c8-bb54-9468c0085171"],"requestBody":"461adf07-67cb-4513-8956-aeaa7ca801bf","responses":{"200":"d9a6875a-2741-4cc9-8088-c7a6d4836e36"},"x-codeSamples":[{"lang":"Shell","label":"cURL","source":"curl https://api.apipod.ai/v1/videos/generations \\\n -H \"Authorization: Bearer $APIPOD_API_KEY\" \\\n -H \"Content-Type: application/json\" \\\n -d '{\n \"model\": \"kling-4.0-r2v\",\n \"prompt\": \"@Hero sits at the desk in @video_1, picks up the doll from @image_1, and greets the camera using @Narrator.\",\n \"image_urls\": [\n \"https://cdn.example.com/doll.png\"\n ],\n \"video_urls\": [\n \"https://cdn.example.com/room.mp4\"\n ],\n \"kling_elements\": [\n {\n \"name\": \"Hero\",\n \"tag\": \"character\",\n \"description\": \"Young man in a red jacket\",\n \"element_input_urls\": [\n \"https://cdn.example.com/hero-front.jpg\",\n \"https://cdn.example.com/hero-side.jpg\"\n ]\n }\n ],\n \"voices\": [\n {\n \"name\": \"Narrator\",\n \"audio_url\": \"https://cdn.example.com/narrator.mp3\"\n }\n ],\n \"keep_original_sound\": false,\n \"duration\": 10,\n \"resolution\": \"1080p\"\n}'"},{"lang":"Python","label":"Python","source":"import os\nimport requests\n\npayload = {\n \"model\": \"kling-4.0-r2v\",\n \"prompt\": \"@Hero sits at the desk in @video_1, picks up the doll from @image_1, and greets the camera using @Narrator.\",\n \"image_urls\": [\n \"https://cdn.example.com/doll.png\"\n ],\n \"video_urls\": [\n \"https://cdn.example.com/room.mp4\"\n ],\n \"kling_elements\": [\n {\n \"name\": \"Hero\",\n \"tag\": \"character\",\n \"description\": \"Young man in a red jacket\",\n \"element_input_urls\": [\n \"https://cdn.example.com/hero-front.jpg\",\n \"https://cdn.example.com/hero-side.jpg\"\n ]\n }\n ],\n \"voices\": [\n {\n \"name\": \"Narrator\",\n \"audio_url\": \"https://cdn.example.com/narrator.mp3\"\n }\n ],\n \"keep_original_sound\": False,\n \"duration\": 10,\n \"resolution\": \"1080p\"\n}\n\nresponse = requests.post(\n \"https://api.apipod.ai/v1/videos/generations\",\n headers={\n \"Authorization\": f\"Bearer {os.environ['APIPOD_API_KEY']}\",\n \"Content-Type\": \"application/json\",\n },\n json=payload,\n timeout=60,\n)\nresponse.raise_for_status()\nprint(response.json())"},{"lang":"Go","label":"Go","source":"package main\n\nimport (\n \"bytes\"\n \"fmt\"\n \"io\"\n \"net/http\"\n \"os\"\n)\n\nfunc main() {\n body := []byte(`{\n \"model\": \"kling-4.0-r2v\",\n \"prompt\": \"@Hero sits at the desk in @video_1, picks up the doll from @image_1, and greets the camera using @Narrator.\",\n \"image_urls\": [\n \"https://cdn.example.com/doll.png\"\n ],\n \"video_urls\": [\n \"https://cdn.example.com/room.mp4\"\n ],\n \"kling_elements\": [\n {\n \"name\": \"Hero\",\n \"tag\": \"character\",\n \"description\": \"Young man in a red jacket\",\n \"element_input_urls\": [\n \"https://cdn.example.com/hero-front.jpg\",\n \"https://cdn.example.com/hero-side.jpg\"\n ]\n }\n ],\n \"voices\": [\n {\n \"name\": \"Narrator\",\n \"audio_url\": \"https://cdn.example.com/narrator.mp3\"\n }\n ],\n \"keep_original_sound\": false,\n \"duration\": 10,\n \"resolution\": \"1080p\"\n}`)\n\n req, err := http.NewRequest(http.MethodPost, \"https://api.apipod.ai/v1/videos/generations\", bytes.NewReader(body))\n if err != nil {\n panic(err)\n }\n req.Header.Set(\"Authorization\", \"Bearer \"+os.Getenv(\"APIPOD_API_KEY\"))\n req.Header.Set(\"Content-Type\", \"application/json\")\n\n resp, err := http.DefaultClient.Do(req)\n if err != nil {\n panic(err)\n }\n defer resp.Body.Close()\n out, _ := io.ReadAll(resp.Body)\n fmt.Println(resp.Status, string(out))\n}"},{"lang":"Rust","label":"Rust","source":"use reqwest::Client;\nuse serde_json::json;\nuse std::env;\n\n#[tokio::main]\nasync fn main() -> Result\u003c(), Box\u003cdyn std::error::Error>> {\n let payload = json!({\n \"model\": \"kling-4.0-r2v\",\n \"prompt\": \"@Hero sits at the desk in @video_1, picks up the doll from @image_1, and greets the camera using @Narrator.\",\n \"image_urls\": [\n \"https://cdn.example.com/doll.png\"\n ],\n \"video_urls\": [\n \"https://cdn.example.com/room.mp4\"\n ],\n \"kling_elements\": [\n {\n \"name\": \"Hero\",\n \"tag\": \"character\",\n \"description\": \"Young man in a red jacket\",\n \"element_input_urls\": [\n \"https://cdn.example.com/hero-front.jpg\",\n \"https://cdn.example.com/hero-side.jpg\"\n ]\n }\n ],\n \"voices\": [\n {\n \"name\": \"Narrator\",\n \"audio_url\": \"https://cdn.example.com/narrator.mp3\"\n }\n ],\n \"keep_original_sound\": false,\n \"duration\": 10,\n \"resolution\": \"1080p\"\n });\n let response = Client::new()\n .post(\"https://api.apipod.ai/v1/videos/generations\")\n .bearer_auth(env::var(\"APIPOD_API_KEY\")?)\n .json(\u0026payload)\n .send()\n .await?\n .error_for_status()?;\n\n println!(\"{}\", response.text().await?);\n Ok(())\n}"},{"lang":"JavaScript","label":"JavaScript","source":"const response = await fetch(\"https://api.apipod.ai/v1/videos/generations\", {\n method: \"POST\",\n headers: {\n Authorization: `Bearer ${process.env.APIPOD_API_KEY}`,\n \"Content-Type\": \"application/json\",\n },\n body: JSON.stringify({\n \"model\": \"kling-4.0-r2v\",\n \"prompt\": \"@Hero sits at the desk in @video_1, picks up the doll from @image_1, and greets the camera using @Narrator.\",\n \"image_urls\": [\n \"https://cdn.example.com/doll.png\"\n ],\n \"video_urls\": [\n \"https://cdn.example.com/room.mp4\"\n ],\n \"kling_elements\": [\n {\n \"name\": \"Hero\",\n \"tag\": \"character\",\n \"description\": \"Young man in a red jacket\",\n \"element_input_urls\": [\n \"https://cdn.example.com/hero-front.jpg\",\n \"https://cdn.example.com/hero-side.jpg\"\n ]\n }\n ],\n \"voices\": [\n {\n \"name\": \"Narrator\",\n \"audio_url\": \"https://cdn.example.com/narrator.mp3\"\n }\n ],\n \"keep_original_sound\": false,\n \"duration\": 10,\n \"resolution\": \"1080p\"\n }),\n});\n\nif (!response.ok) {\n throw new Error(`APIPod request failed: ${response.status} ${await response.text()}`);\n}\n\nconsole.log(await response.json());"}],"method":"post","type":"path","servers":["50a9a212-0bea-4d1d-82cc-c6f36b23deca"],"path":"/v1/videos/generations","baseUrlOptions":["https://api.apipod.ai"],"title":"Create Generation Task","codeSamples":[{"label":"cURL","lang":"Shell","source":"curl https://api.apipod.ai/v1/videos/generations \\\n -H \"Authorization: Bearer $APIPOD_API_KEY\" \\\n -H \"Content-Type: application/json\" \\\n -d '{\n \"model\": \"kling-4.0-r2v\",\n \"prompt\": \"@Hero sits at the desk in @video_1, picks up the doll from @image_1, and greets the camera using @Narrator.\",\n \"image_urls\": [\n \"https://cdn.example.com/doll.png\"\n ],\n \"video_urls\": [\n \"https://cdn.example.com/room.mp4\"\n ],\n \"kling_elements\": [\n {\n \"name\": \"Hero\",\n \"tag\": \"character\",\n \"description\": \"Young man in a red jacket\",\n \"element_input_urls\": [\n \"https://cdn.example.com/hero-front.jpg\",\n \"https://cdn.example.com/hero-side.jpg\"\n ]\n }\n ],\n \"voices\": [\n {\n \"name\": \"Narrator\",\n \"audio_url\": \"https://cdn.example.com/narrator.mp3\"\n }\n ],\n \"keep_original_sound\": false,\n \"duration\": 10,\n \"resolution\": \"1080p\"\n}'"},{"label":"Python","lang":"Python","source":"import os\nimport requests\n\npayload = {\n \"model\": \"kling-4.0-r2v\",\n \"prompt\": \"@Hero sits at the desk in @video_1, picks up the doll from @image_1, and greets the camera using @Narrator.\",\n \"image_urls\": [\n \"https://cdn.example.com/doll.png\"\n ],\n \"video_urls\": [\n \"https://cdn.example.com/room.mp4\"\n ],\n \"kling_elements\": [\n {\n \"name\": \"Hero\",\n \"tag\": \"character\",\n \"description\": \"Young man in a red jacket\",\n \"element_input_urls\": [\n \"https://cdn.example.com/hero-front.jpg\",\n \"https://cdn.example.com/hero-side.jpg\"\n ]\n }\n ],\n \"voices\": [\n {\n \"name\": \"Narrator\",\n \"audio_url\": \"https://cdn.example.com/narrator.mp3\"\n }\n ],\n \"keep_original_sound\": False,\n \"duration\": 10,\n \"resolution\": \"1080p\"\n}\n\nresponse = requests.post(\n \"https://api.apipod.ai/v1/videos/generations\",\n headers={\n \"Authorization\": f\"Bearer {os.environ['APIPOD_API_KEY']}\",\n \"Content-Type\": \"application/json\",\n },\n json=payload,\n timeout=60,\n)\nresponse.raise_for_status()\nprint(response.json())"},{"label":"Go","lang":"Go","source":"package main\n\nimport (\n \"bytes\"\n \"fmt\"\n \"io\"\n \"net/http\"\n \"os\"\n)\n\nfunc main() {\n body := []byte(`{\n \"model\": \"kling-4.0-r2v\",\n \"prompt\": \"@Hero sits at the desk in @video_1, picks up the doll from @image_1, and greets the camera using @Narrator.\",\n \"image_urls\": [\n \"https://cdn.example.com/doll.png\"\n ],\n \"video_urls\": [\n \"https://cdn.example.com/room.mp4\"\n ],\n \"kling_elements\": [\n {\n \"name\": \"Hero\",\n \"tag\": \"character\",\n \"description\": \"Young man in a red jacket\",\n \"element_input_urls\": [\n \"https://cdn.example.com/hero-front.jpg\",\n \"https://cdn.example.com/hero-side.jpg\"\n ]\n }\n ],\n \"voices\": [\n {\n \"name\": \"Narrator\",\n \"audio_url\": \"https://cdn.example.com/narrator.mp3\"\n }\n ],\n \"keep_original_sound\": false,\n \"duration\": 10,\n \"resolution\": \"1080p\"\n}`)\n\n req, err := http.NewRequest(http.MethodPost, \"https://api.apipod.ai/v1/videos/generations\", bytes.NewReader(body))\n if err != nil {\n panic(err)\n }\n req.Header.Set(\"Authorization\", \"Bearer \"+os.Getenv(\"APIPOD_API_KEY\"))\n req.Header.Set(\"Content-Type\", \"application/json\")\n\n resp, err := http.DefaultClient.Do(req)\n if err != nil {\n panic(err)\n }\n defer resp.Body.Close()\n out, _ := io.ReadAll(resp.Body)\n fmt.Println(resp.Status, string(out))\n}"},{"label":"Rust","lang":"Rust","source":"use reqwest::Client;\nuse serde_json::json;\nuse std::env;\n\n#[tokio::main]\nasync fn main() -> Result\u003c(), Box\u003cdyn std::error::Error>> {\n let payload = json!({\n \"model\": \"kling-4.0-r2v\",\n \"prompt\": \"@Hero sits at the desk in @video_1, picks up the doll from @image_1, and greets the camera using @Narrator.\",\n \"image_urls\": [\n \"https://cdn.example.com/doll.png\"\n ],\n \"video_urls\": [\n \"https://cdn.example.com/room.mp4\"\n ],\n \"kling_elements\": [\n {\n \"name\": \"Hero\",\n \"tag\": \"character\",\n \"description\": \"Young man in a red jacket\",\n \"element_input_urls\": [\n \"https://cdn.example.com/hero-front.jpg\",\n \"https://cdn.example.com/hero-side.jpg\"\n ]\n }\n ],\n \"voices\": [\n {\n \"name\": \"Narrator\",\n \"audio_url\": \"https://cdn.example.com/narrator.mp3\"\n }\n ],\n \"keep_original_sound\": false,\n \"duration\": 10,\n \"resolution\": \"1080p\"\n });\n let response = Client::new()\n .post(\"https://api.apipod.ai/v1/videos/generations\")\n .bearer_auth(env::var(\"APIPOD_API_KEY\")?)\n .json(\u0026payload)\n .send()\n .await?\n .error_for_status()?;\n\n println!(\"{}\", response.text().await?);\n Ok(())\n}"},{"label":"JavaScript","lang":"JavaScript","source":"const response = await fetch(\"https://api.apipod.ai/v1/videos/generations\", {\n method: \"POST\",\n headers: {\n Authorization: `Bearer ${process.env.APIPOD_API_KEY}`,\n \"Content-Type\": \"application/json\",\n },\n body: JSON.stringify({\n \"model\": \"kling-4.0-r2v\",\n \"prompt\": \"@Hero sits at the desk in @video_1, picks up the doll from @image_1, and greets the camera using @Narrator.\",\n \"image_urls\": [\n \"https://cdn.example.com/doll.png\"\n ],\n \"video_urls\": [\n \"https://cdn.example.com/room.mp4\"\n ],\n \"kling_elements\": [\n {\n \"name\": \"Hero\",\n \"tag\": \"character\",\n \"description\": \"Young man in a red jacket\",\n \"element_input_urls\": [\n \"https://cdn.example.com/hero-front.jpg\",\n \"https://cdn.example.com/hero-side.jpg\"\n ]\n }\n ],\n \"voices\": [\n {\n \"name\": \"Narrator\",\n \"audio_url\": \"https://cdn.example.com/narrator.mp3\"\n }\n ],\n \"keep_original_sound\": false,\n \"duration\": 10,\n \"resolution\": \"1080p\"\n }),\n});\n\nif (!response.ok) {\n throw new Error(`APIPod request failed: ${response.status} ${await response.text()}`);\n}\n\nconsole.log(await response.json());"}],"requestExampleLanguages":["bash","python","go","rust","javascript"],"requiredOnlyExamples":true,"requestExampleType":"codeSamples","responseExampleType":"generated","disableProxy":true,"urlDisplay":"full"},"dependencies":{"parameters":{},"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","title":"Kling 4.0 Reference to Video","properties":{"model":{"type":"string","title":"Model ID","description":"Public APIPod model ID.","const":"kling-4.0-r2v","isRequired":true,"uniqueKey":"model","typeLabel":"string"},"prompt":{"type":"string","title":"Prompt","description":"Required, up to 8,000 characters. Mention materials as `@image_1`..`@image_N` and `@video_1`..`@video_N` (1-based, in array order), and elements / voices by `@name`. Every `@` mention must match a material in this request; mentions use longest-match, and a name ending with a letter, digit or underscore cannot be followed by another letter, digit or underscore.","minLength":1,"maxLength":8000,"isRequired":true,"uniqueKey":"prompt","typeLabel":"string"},"image_urls":{"type":"array","title":"Reference Images","description":"Reference images, up to 10 publicly accessible URLs, mentioned as `@image_1`..`@image_N` in array order. Each side must be 300-65536 pixels; aspect ratio 0.40-2.5.","maxItems":10,"items":{"type":"string","uniqueKey":"image_urls.items.[INDEX]","typeLabel":"string"},"uniqueKey":"image_urls","typeLabel":"string[]"},"video_urls":{"type":"array","title":"Reference Videos","description":"Reference videos, up to 5 clips of 2-30 seconds each, mentioned as `@video_1`..`@video_N`. Reference videos plus video elements cannot exceed 5 clips or 30 seconds combined. Input video time is billed too, at the lower video-input rate: output + max(output, total input) seconds (10 s output + 5 s input bills 20 s; + 15 s input bills 25 s).","maxItems":5,"items":{"type":"string","uniqueKey":"video_urls.items.[INDEX]","typeLabel":"string"},"uniqueKey":"video_urls","typeLabel":"string[]"},"kling_elements":{"type":"array","title":"Elements","description":"Subjects used only for this task, up to 7 (at most 3 video subjects), mentioned as `@name`. Each element is either 2-4 images (the first is the primary view) or exactly one 3-8 second single-shot character video. `image_urls`, `video_urls`, `kling_elements` and `voices` together cannot exceed 15 items.","maxItems":7,"items":{"type":"object","properties":{"name":{"type":"string","description":"Name mentioned in the prompt as `@name`: 1-20 Chinese characters, letters, digits or underscores, unique across `kling_elements` and `voices` (case-insensitive). Reserved names such as `image_N`, `video_N`, `keyframe_N`, `object_N`, `audio_N`, `first_frame` and `last_frame` cannot be used.","maxLength":20,"isRequired":true,"uniqueKey":"kling_elements.items.[INDEX].name","typeLabel":"string"},"element_input_urls":{"type":"array","description":"2-4 image URLs for an image subject, or exactly one video URL (MP4/MOV, 3-8 seconds, single continuous shot, shortest side at least 700 px) for a video subject.","minItems":1,"maxItems":4,"items":{"type":"string","uniqueKey":"kling_elements.items.[INDEX].element_input_urls.items.[INDEX]","typeLabel":"string"},"isRequired":true,"uniqueKey":"kling_elements.items.[INDEX].element_input_urls","typeLabel":"string[]"},"tag":{"type":"string","description":"Subject category. Optional for image subjects (inferred from the primary image when omitted); video subjects are always `character`.","enum":["character","animal","prop","costume","scene","effect","others"],"uniqueKey":"kling_elements.items.[INDEX].tag","typeLabel":"enum\u003cstring>"},"description":{"type":"string","description":"Optional subject description, up to 100 characters.","maxLength":100,"uniqueKey":"kling_elements.items.[INDEX].description","typeLabel":"string"},"element_input_audio_urls":{"type":"array","description":"Optional voice bound to this subject (at most 1). Only character subjects can bind a voice; it cannot be mentioned on its own and does not count toward the `voices` quota.","maxItems":1,"items":{"type":"string","uniqueKey":"kling_elements.items.[INDEX].element_input_audio_urls.items.[INDEX]","typeLabel":"string"},"uniqueKey":"kling_elements.items.[INDEX].element_input_audio_urls","typeLabel":"string[]"}},"required":["name","element_input_urls"],"uniqueKey":"kling_elements.items.[INDEX]","typeLabel":"object"},"uniqueKey":"kling_elements","typeLabel":"Elements · object[]"},"voices":{"type":"array","title":"Voices","description":"Standalone voice references used only for this task, up to 3, mentioned as `@name`. The task fails if no usable voice can be detected in the audio.","maxItems":3,"items":{"type":"object","properties":{"name":{"type":"string","description":"Name mentioned in the prompt as `@name`: 1-20 Chinese characters, letters, digits or underscores, unique across `kling_elements` and `voices` (case-insensitive). Reserved names such as `image_N`, `video_N`, `keyframe_N`, `object_N`, `audio_N`, `first_frame` and `last_frame` cannot be used.","maxLength":20,"isRequired":true,"uniqueKey":"voices.items.[INDEX].name","typeLabel":"string"},"audio_url":{"type":"string","description":"Publicly accessible reference audio URL.","isRequired":true,"uniqueKey":"voices.items.[INDEX].audio_url","typeLabel":"string"}},"required":["name","audio_url"],"uniqueKey":"voices.items.[INDEX]","typeLabel":"object"},"uniqueKey":"voices","typeLabel":"Voices · object[]"},"keep_original_sound":{"type":"boolean","title":"Keep Original Sound","description":"Keep the original audio of the reference videos. Only applies when `video_urls` is provided; defaults to false (audio is regenerated).","default":false,"uniqueKey":"keep_original_sound","typeLabel":"boolean"},"duration":{"type":"integer","title":"Duration","description":"Output duration in seconds (3-30). Defaults to 5.","minimum":3,"maximum":30,"default":5,"uniqueKey":"duration","typeLabel":"integer"},"resolution":{"type":"string","title":"Resolution","description":"Output resolution. Defaults to 720p. The per-second rate depends on the resolution and on whether video input is present.","enum":["720p","1080p"],"default":"720p","uniqueKey":"resolution","typeLabel":"enum\u003cstring>"},"aspect_ratio":{"type":"string","title":"Aspect Ratio","description":"Output aspect ratio. Defaults to `auto`, which adapts to the reference materials.","enum":["auto","16:9","9:16","1:1","21:9"],"default":"auto","uniqueKey":"aspect_ratio","typeLabel":"enum\u003cstring>"},"callback_url":{"type":"string","title":"Callback URL","description":"HTTPS URL that receives the task's terminal state.","default":"","uniqueKey":"callback_url","typeLabel":"string"}},"required":["model","prompt"],"uniqueKey":"","typeLabel":"Kling 4.0 Reference to Video · object"},"examples":{"omni":{"title":"omni","value":{"model":"kling-4.0-r2v","prompt":"@Hero sits at the desk in @video_1, picks up the doll from @image_1, and greets the camera using @Narrator.","image_urls":["https://cdn.example.com/doll.png"],"video_urls":["https://cdn.example.com/room.mp4"],"kling_elements":[{"name":"Hero","tag":"character","description":"Young man in a red jacket","element_input_urls":["https://cdn.example.com/hero-front.jpg","https://cdn.example.com/hero-side.jpg"]}],"voices":[{"name":"Narrator","audio_url":"https://cdn.example.com/narrator.mp3"}],"keep_original_sound":false,"duration":10,"resolution":"1080p"}},"images":{"title":"images","value":{"model":"kling-4.0-r2v","prompt":"The woman from @image_1 wears the jacket from @image_2 and walks along the beach in @image_3.","image_urls":["https://cdn.example.com/ref-1.jpg","https://cdn.example.com/ref-2.jpg","https://cdn.example.com/ref-3.jpg"],"duration":5,"aspect_ratio":"16:9"}}},"exampleType":"examples"}},"exampleType":"examples"},"responses":{"d9a6875a-2741-4cc9-8088-c7a6d4836e36":{"description":"Task accepted","content":{"application/json":{"schema":{"type":"object","title":"Task Submit Response","description":"Standard response for task submission","properties":{"code":{"type":"integer","isRequired":true,"uniqueKey":"code","typeLabel":"integer"},"data":{"type":"object","title":"Task Submit Data","description":"Data content for task submission","properties":{"task_id":{"type":"string","description":"Task ID used to query the task status.","uniqueKey":"data.task_id","typeLabel":"string"}},"isRequired":true,"uniqueKey":"data","typeLabel":"Task Submit Data · object"},"message":{"type":"string","isRequired":true,"uniqueKey":"message","typeLabel":"string"}},"required":["code","message","data"],"uniqueKey":"","typeLabel":"Task Submit Response · object"},"example":{"code":200,"message":"success","data":{"task_id":"vid_task_01JEXAMPLE"}},"examples":{"Example":{"title":"Example","value":{"code":200,"message":"success","data":{"task_id":"vid_task_01JEXAMPLE"}}}},"exampleType":"examples"}},"exampleType":"examples"}},"security":{"d4441a5c-1605-45c8-bb54-9468c0085171":{"bearerAuth":{"type":"http","scheme":"bearer","bearerFormat":"APIPod API key","description":"Use your APIPod API key as a Bearer token in the Authorization header.","scopes":[],"schemeName":"bearerAuth"}}},"servers":{"50a9a212-0bea-4d1d-82cc-c6f36b23deca":{"url":"https://api.apipod.ai","description":"Production"}},"processedSecurityOptions":[{"schemes":[{"scheme":{"type":"http","scheme":"bearer","bearerFormat":"APIPod API key","description":"Use your APIPod API key as a Bearer token in the Authorization header.","scopes":[],"schemeName":"bearerAuth"},"schema":{"title":"Bearer Auth","type":"string","isRequired":true,"description":"Use your APIPod API key as a Bearer token in the Authorization header.","format":"bearer","typeLabel":"string\u003cbearer>","deprecated":false},"schemeName":"bearerAuth","name":"Authorization"}],"title":"bearerAuth"}]},"originalFileLocation":"api-reference/openapi/kling-4.0--kling-4.0-r2v.yaml"},"subdomain":"apipod","siteName":"APIPod Docs","title":"Kling 4.0 Reference to Video - APIPod Docs","navMaps":{"firstHrefInVersion":{},"firstHrefInLanguage":{"en":{"href":"/kling-4.0/kling-4.0-r2v","matchLevel":0},"zh-CN":{"href":"/zh-CN/kling-4.0/kling-4.0-r2v","matchLevel":1}}},"lastModified":"2026-10-24T03:05:04.435Z","originalFileLocation":"kling-4.0/kling-4.0-r2v.mdx","locale":"en"},"headHtml":"\u003cscript data-mint-head>(function(){var d=document.documentElement,p=null;if(!p){try{p=localStorage.getItem(\"isDarkMode\")}catch(e){}if(p==='true')p='dark';else if(p==='false')p='light';if(p!=='light'\u0026\u0026p!=='dark'\u0026\u0026p!=='system')p=\"system\"}var r=p==='system'?(matchMedia(\"(prefers-color-scheme: dark)\").matches?'dark':'light'):p;d.classList.remove(r==='dark'?'light':'dark');d.classList.add(r);d.setAttribute(\"data-theme-preference\",p)})();\u003c/script>\u003cmeta data-mint-head name=\"description\" content=\"Kling 4.0 R2V is APIPod\u0026#x27;s Omni Reference mode for Kling 4.0, combining up to 10 reference images, 5 reference videos, 7 elements and 3 voices into 3-30 second clips with native audio.\">\u003cmeta data-mint-head name=\"application-name\" content=\"APIPod Docs\">\u003cmeta data-mint-head name=\"generator\" content=\"Mintlify\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/apipod/vxS4fP5ezbC3ZtwJ/_generated/favicon/android-chrome-192x192.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"apple-touch-icon\" type=\"image/png\" sizes=\"180x180\" href=\"/mintlify-assets/_mintlify/favicons/apipod/vxS4fP5ezbC3ZtwJ/_generated/favicon/apple-touch-icon.png\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/apipod/vxS4fP5ezbC3ZtwJ/_generated/favicon/favicon-16x16.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"32x32\" href=\"/mintlify-assets/_mintlify/favicons/apipod/vxS4fP5ezbC3ZtwJ/_generated/favicon/favicon-32x32.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"shortcut icon\" type=\"image/x-icon\" href=\"/mintlify-assets/_mintlify/favicons/apipod/vxS4fP5ezbC3ZtwJ/_generated/favicon/favicon.ico\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/apipod/vxS4fP5ezbC3ZtwJ/_generated/favicon-dark/android-chrome-192x192.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/apipod/vxS4fP5ezbC3ZtwJ/_generated/favicon-dark/favicon-16x16.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"32x32\" href=\"/mintlify-assets/_mintlify/favicons/apipod/vxS4fP5ezbC3ZtwJ/_generated/favicon-dark/favicon-32x32.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"shortcut icon\" type=\"image/x-icon\" href=\"/mintlify-assets/_mintlify/favicons/apipod/vxS4fP5ezbC3ZtwJ/_generated/favicon-dark/favicon.ico\" media=\"(prefers-color-scheme: dark)\">\u003cmeta data-mint-head property=\"og:title\" content=\"Kling 4.0 Reference to Video - APIPod Docs\">\u003cmeta data-mint-head property=\"og:description\" content=\"Kling 4.0 R2V is APIPod\u0026#x27;s Omni Reference mode for Kling 4.0, combining up to 10 reference images, 5 reference videos, 7 elements and 3 voices into 3-30 second clips with native audio.\">\u003cmeta data-mint-head property=\"og:site_name\" content=\"APIPod Docs\">\u003cmeta data-mint-head property=\"og:url\" content=\"https://docs.apipod.ai/kling-4.0/kling-4.0-r2v\">\u003cmeta data-mint-head property=\"og:type\" content=\"website\">\u003cmeta data-mint-head property=\"og:image\" content=\"https://apipod.mintlify.app/_mintlify/api/og/v2?division=Kling+4.0\u0026amp;title=Kling+4.0+Reference+to+Video\u0026amp;description=Kling+4.0+R2V+is+APIPod%27s+Omni+Reference+mode+for+Kling+4.0%2C+combining+up+to+10+reference+images%2C+5+reference+videos%2C+7+elements+and+3+voices+into+3-30+second+c\u0026amp;theme=1a2af1ac8762490dc4830bb9\u0026amp;signature=529849610ef2760dfb3766f70ce8aaf8a08435df50942fab718c19372965639c\">\u003cmeta data-mint-head property=\"og:image:width\" content=\"1200\">\u003cmeta data-mint-head property=\"og:image:height\" content=\"630\">\u003cmeta data-mint-head name=\"twitter:card\" content=\"summary_large_image\">\u003cmeta data-mint-head name=\"twitter:title\" content=\"Kling 4.0 Reference to Video - APIPod Docs\">\u003cmeta data-mint-head name=\"twitter:description\" content=\"Kling 4.0 R2V is APIPod\u0026#x27;s Omni Reference mode for Kling 4.0, combining up to 10 reference images, 5 reference videos, 7 elements and 3 voices into 3-30 second clips with native audio.\">\u003cmeta data-mint-head name=\"twitter:image\" content=\"https://apipod.mintlify.app/_mintlify/api/og/v2?division=Kling+4.0\u0026amp;title=Kling+4.0+Reference+to+Video\u0026amp;description=Kling+4.0+R2V+is+APIPod%27s+Omni+Reference+mode+for+Kling+4.0%2C+combining+up+to+10+reference+images%2C+5+reference+videos%2C+7+elements+and+3+voices+into+3-30+second+c\u0026amp;theme=1a2af1ac8762490dc4830bb9\u0026amp;signature=529849610ef2760dfb3766f70ce8aaf8a08435df50942fab718c19372965639c\">\u003cmeta data-mint-head name=\"twitter:image:width\" content=\"1200\">\u003cmeta data-mint-head name=\"twitter:image:height\" content=\"630\">\u003cmeta data-mint-head name=\"msapplication-config\" content=\"/mintlify-assets/_mintlify/favicons/apipod/vxS4fP5ezbC3ZtwJ/_generated/favicon/browserconfig.xml\">\u003cmeta data-mint-head name=\"apple-mobile-web-app-title\" content=\"APIPod Docs\">\u003cmeta data-mint-head name=\"msapplication-TileColor\" content=\"#7F22FE\">\u003clink data-mint-head rel=\"canonical\" href=\"https://docs.apipod.ai/kling-4.0/kling-4.0-r2v\">\u003clink data-mint-head rel=\"alternate\" type=\"application/xml\" href=\"/sitemap.xml\">\u003clink data-mint-head rel=\"alternate\" type=\"text/markdown\" href=\"/kling-4.0/kling-4.0-r2v.md\">\u003clink data-mint-head rel=\"alternate\" hreflang=\"en\" href=\"https://docs.apipod.ai/kling-4.0/kling-4.0-r2v\">\u003clink data-mint-head rel=\"alternate\" hreflang=\"zh-CN\" href=\"https://docs.apipod.ai/zh-CN/kling-4.0/kling-4.0-r2v\">\u003clink data-mint-head rel=\"alternate\" hreflang=\"x-default\" href=\"https://docs.apipod.ai/kling-4.0/kling-4.0-r2v\">\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@graph\":[{\"@type\":\"Organization\",\"@id\":\"https://docs.apipod.ai/#organization\",\"name\":\"APIPod Docs\",\"url\":\"https://docs.apipod.ai\",\"logo\":{\"@type\":\"ImageObject\",\"url\":\"https://mintcdn.com/apipod/eQooMSJ0T7lbhJsR/logo.svg?fit=max\u0026auto=format\u0026n=eQooMSJ0T7lbhJsR\u0026q=85\u0026s=8c3136fb3cec60f625ec4693d5313b42\"}},{\"@type\":\"WebSite\",\"@id\":\"https://docs.apipod.ai#website\",\"name\":\"APIPod Docs\",\"url\":\"https://docs.apipod.ai\",\"publisher\":{\"@id\":\"https://docs.apipod.ai/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https://docs.apipod.ai/kling-4.0/kling-4.0-r2v#webpage\",\"url\":\"https://docs.apipod.ai/kling-4.0/kling-4.0-r2v\",\"name\":\"Kling 4.0 Reference to Video\",\"description\":\"Kling 4.0 R2V is APIPod's Omni Reference mode for Kling 4.0, combining up to 10 reference images, 5 reference videos, 7 elements and 3 voices into 3-30 second clips with native audio.\",\"dateModified\":\"2026-10-24T03:05:04.435Z\",\"isPartOf\":{\"@id\":\"https://docs.apipod.ai#website\"},\"breadcrumb\":{\"@id\":\"https://docs.apipod.ai/kling-4.0/kling-4.0-r2v#breadcrumb\"}},{\"@type\":\"BreadcrumbList\",\"@id\":\"https://docs.apipod.ai/kling-4.0/kling-4.0-r2v#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Videos\",\"item\":\"https://docs.apipod.ai/veo/3-1-lite\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Kling 4.0\",\"item\":\"https://docs.apipod.ai/kling-4.0/kling-4.0-t2v\"},{\"@type\":\"ListItem\",\"position\":3,\"name\":\"Kling 4.0 Reference to Video\",\"item\":\"https://docs.apipod.ai/kling-4.0/kling-4.0-r2v\"}]},{\"@type\":[\"TechArticle\",\"APIReference\"],\"@id\":\"https://docs.apipod.ai/kling-4.0/kling-4.0-r2v#apireference\",\"headline\":\"Kling 4.0 Reference to Video\",\"name\":\"Kling 4.0 Reference to Video\",\"description\":\"Kling 4.0 R2V is APIPod's Omni Reference mode for Kling 4.0, combining up to 10 reference images, 5 reference videos, 7 elements and 3 voices into 3-30 second clips with native audio.\",\"url\":\"https://docs.apipod.ai/kling-4.0/kling-4.0-r2v\",\"mainEntityOfPage\":{\"@id\":\"https://docs.apipod.ai/kling-4.0/kling-4.0-r2v#webpage\"},\"dateModified\":\"2026-10-24T03:05:04.435Z\",\"publisher\":{\"@id\":\"https://docs.apipod.ai/#organization\"},\"isPartOf\":{\"@id\":\"https://docs.apipod.ai#website\"}}]}\u003c/script>\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@type\":\"WebSite\",\"name\":\"APIPod Docs\",\"creator\":{\"@type\":\"Organization\",\"name\":\"Mintlify\",\"url\":\"https://mintlify.com\"}}\u003c/script>","siteName":"APIPod Docs","nav":{"global":null,"languages":[{"language":"en","default":true,"tabs":[{"tab":"Get Started","pages":[{"title":"Get Started","href":"/introduction"}]},{"tab":"API Reference","groups":[{"group":"Images","icon":"image","pages":[{"group":"GPT Image 2","icon":"wand-sparkles","pages":[{"title":"GPT Image 2","openapi":"api-reference/openapi/gpt-image-2--gpt-image-2.yaml POST /v1/images/generations","href":"/gpt-image-2/gpt-image-2"},{"title":"GPT Image 2 Lite","openapi":"api-reference/openapi/gpt-image-2--gpt-image-2-lite.yaml POST /v1/images/generations","href":"/gpt-image-2/gpt-image-2-lite"},{"title":"GPT Image 2 1K","openapi":"api-reference/openapi/gpt-image-2--gpt-image-2-1k.yaml POST /v1/images/generations","href":"/gpt-image-2/gpt-image-2-1k"},{"title":"GPT Image 2 Fast","openapi":"api-reference/openapi/gpt-image-2--gpt-image-2-fast.yaml POST /v1/images/generations","href":"/gpt-image-2/gpt-image-2-fast"}]},{"group":"GPT Image 2.5","icon":"wand-sparkles","pages":[{"title":"GPT Image 2.5 Flare","openapi":"api-reference/openapi/gpt-image-2.5--gpt-image-2.5-flare.yaml POST /v1/images/generations","href":"/gpt-image-2.5/gpt-image-2.5-flare"},{"title":"GPT Image 2.5 Flare Lite","openapi":"api-reference/openapi/gpt-image-2.5--gpt-image-2.5-flare-lite.yaml POST /v1/images/generations","href":"/gpt-image-2.5/gpt-image-2.5-flare-lite"},{"title":"GPT Image 2.5 Sunburst","openapi":"api-reference/openapi/gpt-image-2.5--gpt-image-2.5-sunburst.yaml POST /v1/images/generations","href":"/gpt-image-2.5/gpt-image-2.5-sunburst"},{"title":"GPT Image 2.5 Sunburst Lite","openapi":"api-reference/openapi/gpt-image-2.5--gpt-image-2.5-sunburst-lite.yaml POST /v1/images/generations","href":"/gpt-image-2.5/gpt-image-2.5-sunburst-lite"}]},{"group":"Nano Banana","icon":"banana","pages":[{"title":"Nano Banana 2","openapi":"api-reference/openapi/nano-banana--nano-banana-2.yaml POST /v1/images/generations","href":"/nano-banana/nano-banana-2"},{"title":"Nano Banana 2 Lite","openapi":"api-reference/openapi/nano-banana--nano-banana-2-lite.yaml POST /v1/images/generations","href":"/nano-banana/nano-banana-2-lite"},{"title":"Nano Banana Pro","openapi":"api-reference/openapi/nano-banana--nano-banana-pro.yaml POST /v1/images/generations","href":"/nano-banana/nano-banana-pro"},{"title":"Nano Banana 2.1","openapi":"api-reference/openapi/nano-banana--nano-banana-2.1.yaml POST /v1/images/generations","href":"/nano-banana/nano-banana-2.1"}]},{"group":"Seedream","icon":"flower-2","pages":[{"group":"Seedream V4.5","pages":[{"title":"Seedream V4.5 Text to Image","openapi":"api-reference/openapi/seedream--4-5-text-to-image.yaml POST /v1/images/generations","href":"/seedream/4-5-text-to-image"},{"title":"Seedream V4.5 Image to Image","openapi":"api-reference/openapi/seedream--4-5-image-to-image.yaml POST /v1/images/generations","href":"/seedream/4-5-image-to-image"}]},{"group":"Seedream V5.0 Lite","pages":[{"title":"Seedream 5.0 Lite Text to Image","openapi":"api-reference/openapi/seedream--5-0-lite-text-to-image.yaml POST /v1/images/generations","href":"/seedream/5-0-lite-text-to-image"},{"title":"Seedream 5.0 Lite Image to Image","openapi":"api-reference/openapi/seedream--5-0-lite-image-to-image.yaml POST /v1/images/generations","href":"/seedream/5-0-lite-image-to-image"}]},{"group":"Seedream V5.0 Pro","pages":[{"title":"Seedream 5.0 Pro Text to Image","openapi":"api-reference/openapi/seedream--5-0-pro-text-to-image.yaml POST /v1/images/generations","href":"/seedream/5-0-pro-text-to-image"},{"title":"Seedream 5.0 Pro Image to Image","openapi":"api-reference/openapi/seedream--5-0-pro-image-to-image.yaml POST /v1/images/generations","href":"/seedream/5-0-pro-image-to-image"},{"title":"Seedream 5.0 Pro Layer","openapi":"api-reference/openapi/seedream--5-0-pro-layer.yaml POST /v1/images/generations","href":"/seedream/5-0-pro-layer"}]},{"group":"Seedream V5.0 Flash","pages":[{"title":"Seedream 5.0 Flash Text to Image","openapi":"api-reference/openapi/seedream--5-0-flash-text-to-image.yaml POST /v1/images/generations","href":"/seedream/5-0-flash-text-to-image"},{"title":"Seedream 5.0 Flash Image to Image","openapi":"api-reference/openapi/seedream--5-0-flash-image-to-image.yaml POST /v1/images/generations","href":"/seedream/5-0-flash-image-to-image"},{"title":"Seedream 5.0 Flash Layer","openapi":"api-reference/openapi/seedream--5-0-flash-layer.yaml POST /v1/images/generations","href":"/seedream/5-0-flash-layer"}]}]},{"group":"Wan Image","icon":"cloud-sun","pages":[{"group":"Wan Image V2.7","pages":[{"title":"WAN 2.7 Text to Image","openapi":"api-reference/openapi/wan--2-7-text-to-image.yaml POST /v1/images/generations","href":"/wan/2-7-text-to-image"},{"title":"WAN 2.7 Image to Image","openapi":"api-reference/openapi/wan--2-7-image-to-image.yaml POST /v1/images/generations","href":"/wan/2-7-image-to-image"}]},{"group":"Wan Image V2.7 Pro","pages":[{"title":"WAN 2.7 Text to Image Pro","openapi":"api-reference/openapi/wan--2-7-text-to-image-pro.yaml POST /v1/images/generations","href":"/wan/2-7-text-to-image-pro"},{"title":"WAN 2.7 Image to Image Pro","openapi":"api-reference/openapi/wan--2-7-image-to-image-pro.yaml POST /v1/images/generations","href":"/wan/2-7-image-to-image-pro"}]}]}]},{"group":"Videos","icon":"video","pages":[{"group":"Veo","icon":"clapperboard","pages":[{"group":"Veo 3.1 Lite","pages":[{"title":"VEO 3.1 Lite","openapi":"api-reference/openapi/veo--3-1-lite.yaml POST /v1/videos/generations","href":"/veo/3-1-lite"},{"title":"VEO 3.1 Lite 4K","openapi":"api-reference/openapi/veo--3-1-lite-4k.yaml POST /v1/videos/generations","href":"/veo/3-1-lite-4k"}]},{"group":"Veo 3.1 Fast","pages":[{"title":"Veo 3.1 Fast","openapi":"api-reference/openapi/veo--3-1-fast.yaml POST /v1/videos/generations","href":"/veo/3-1-fast"},{"title":"Veo 3.1 Fast 4K","openapi":"api-reference/openapi/veo--3-1-fast-4k.yaml POST /v1/videos/generations","href":"/veo/3-1-fast-4k"},{"title":"Veo 3.1 Fast Reference","openapi":"api-reference/openapi/veo--3-1-fast-ref.yaml POST /v1/videos/generations","href":"/veo/3-1-fast-ref"}]},{"group":"Veo 3.1 Quality","pages":[{"title":"Veo 3.1 Quality","openapi":"api-reference/openapi/veo--3-1-quality.yaml POST /v1/videos/generations","href":"/veo/3-1-quality"},{"title":"Veo 3.1 Quality 4K","openapi":"api-reference/openapi/veo--3-1-quality-4k.yaml POST /v1/videos/generations","href":"/veo/3-1-quality-4k"}]}]},{"group":"Seedance","icon":"film","pages":[{"group":"Seedance 1.0","pages":[{"group":"Seedance 1.0 Lite","pages":[{"title":"Seedance 1.0 Lite Text to Video","openapi":"api-reference/openapi/seedance--seedance-1-0-lite-t2v.yaml POST /v1/videos/generations","href":"/seedance/seedance-1-0-lite-t2v"},{"title":"Seedance 1.0 Lite Image to Video","openapi":"api-reference/openapi/seedance--seedance-1-0-lite-i2v.yaml POST /v1/videos/generations","href":"/seedance/seedance-1-0-lite-i2v"},{"title":"Seedance 1.0 Lite Image to Video Reference","openapi":"api-reference/openapi/seedance--seedance-1-0-lite-i2v-ref.yaml POST /v1/videos/generations","href":"/seedance/seedance-1-0-lite-i2v-ref"}]},{"group":"Seedance 1.0 Pro Fast","pages":[{"title":"Seedance 1.0 Pro Fast Text to Video","openapi":"api-reference/openapi/seedance--seedance-1-0-pro-fast-t2v.yaml POST /v1/videos/generations","href":"/seedance/seedance-1-0-pro-fast-t2v"},{"title":"Seedance 1.0 Pro Fast Image to Video","openapi":"api-reference/openapi/seedance--seedance-1-0-pro-fast-i2v.yaml POST /v1/videos/generations","href":"/seedance/seedance-1-0-pro-fast-i2v"}]},{"group":"Seedance 1.0 Pro","pages":[{"title":"Seedance 1.0 Pro Image to Video","openapi":"api-reference/openapi/seedance--seedance-1-0-pro-i2v.yaml POST /v1/videos/generations","href":"/seedance/seedance-1-0-pro-i2v"},{"title":"Seedance 1.0 Pro Text to Video","openapi":"api-reference/openapi/seedance--seedance-1-0-pro-t2v.yaml POST /v1/videos/generations","href":"/seedance/seedance-1-0-pro-t2v"}]}]},{"group":"Seedance 1.5","pages":[{"title":"Seedance 1.5 Pro Image to Video","openapi":"api-reference/openapi/seedance--seedance-1-5-pro-i2v.yaml POST /v1/videos/generations","href":"/seedance/seedance-1-5-pro-i2v"},{"title":"Seedance 1.5 Pro Text to Video","openapi":"api-reference/openapi/seedance--seedance-1-5-pro-t2v.yaml POST /v1/videos/generations","href":"/seedance/seedance-1-5-pro-t2v"}]},{"group":"Seedance 2.0","pages":[{"group":"Seedance 2.0 Pro","pages":[{"title":"Seedance 2.0 Text to Video","openapi":"api-reference/openapi/seedance--2-0-text-to-video.yaml POST /v1/videos/generations","href":"/seedance/2-0-text-to-video"},{"title":"Seedance 2.0 Image to Video","openapi":"api-reference/openapi/seedance--2-0-image-to-video.yaml POST /v1/videos/generations","href":"/seedance/2-0-image-to-video"},{"title":"Seedance 2.0 Reference to Video","openapi":"api-reference/openapi/seedance--2-0-reference-to-video.yaml POST /v1/videos/generations","href":"/seedance/2-0-reference-to-video"}]},{"group":"Seedance 2.0 Fast","pages":[{"title":"Seedance 2.0 Fast Text to Video","openapi":"api-reference/openapi/seedance--2-0-fast-text-to-video.yaml POST /v1/videos/generations","href":"/seedance/2-0-fast-text-to-video"},{"title":"Seedance 2.0 Fast Image to Video","openapi":"api-reference/openapi/seedance--2-0-fast-image-to-video.yaml POST /v1/videos/generations","href":"/seedance/2-0-fast-image-to-video"},{"title":"Seedance 2.0 Fast Reference to Video","openapi":"api-reference/openapi/seedance--2-0-fast-reference-to-video.yaml POST /v1/videos/generations","href":"/seedance/2-0-fast-reference-to-video"}]},{"group":"Seedance 2.0 Mini","pages":[{"title":"Seedance 2.0 Mini Image to Video","openapi":"api-reference/openapi/seedance--2-0-mini-image-to-video.yaml POST /v1/videos/generations","href":"/seedance/2-0-mini-image-to-video"},{"title":"Seedance 2.0 Mini Reference to Video","openapi":"api-reference/openapi/seedance--2-0-mini-reference-to-video.yaml POST /v1/videos/generations","href":"/seedance/2-0-mini-reference-to-video"},{"title":"Seedance 2.0 mini Text to Video","openapi":"api-reference/openapi/seedance--2-0-mini-text-to-video.yaml POST /v1/videos/generations","href":"/seedance/2-0-mini-text-to-video"}]},{"group":"Seedance 2.0 X","pages":[{"title":"Seedance 2.0 X Text to Video","openapi":"api-reference/openapi/seedance--2-0-x-text-to-video.yaml POST /v1/videos/generations","href":"/seedance/2-0-x-text-to-video"},{"title":"Seedance 2.0 X Reference to Video","openapi":"api-reference/openapi/seedance--2-0-x-reference-to-video.yaml POST /v1/videos/generations","href":"/seedance/2-0-x-reference-to-video"}]}]},{"group":"Seedance 2.5","pages":[{"group":"Seedance 2.5","pages":[{"title":"Seedance 2.5 Text to Video","openapi":"api-reference/openapi/seedance--2-5-text-to-video.yaml POST /v1/videos/generations","href":"/seedance/2-5-text-to-video"},{"title":"Seedance 2.5 Image to Video","openapi":"api-reference/openapi/seedance--2-5-image-to-video.yaml POST /v1/videos/generations","href":"/seedance/2-5-image-to-video"},{"title":"Seedance 2.5 Reference to Video","openapi":"api-reference/openapi/seedance--2-5-reference-to-video.yaml POST /v1/videos/generations","href":"/seedance/2-5-reference-to-video"}]},{"group":"Seedance 2.5 Lite","pages":[{"title":"Seedance 2.5 Lite Text to Video","openapi":"api-reference/openapi/seedance--2-5-lite-text-to-video.yaml POST /v1/videos/generations","href":"/seedance/2-5-lite-text-to-video"},{"title":"Seedance 2.5 Lite Image to Video","openapi":"api-reference/openapi/seedance--2-5-lite-image-to-video.yaml POST /v1/videos/generations","href":"/seedance/2-5-lite-image-to-video"},{"title":"Seedance 2.5 Lite Reference to Video","openapi":"api-reference/openapi/seedance--2-5-lite-reference-to-video.yaml POST /v1/videos/generations","href":"/seedance/2-5-lite-reference-to-video"}]},{"group":"Seedance 2.5 X","pages":[{"title":"Seedance 2.5 X Text to Video","openapi":"api-reference/openapi/seedance--2-5-x-text-to-video.yaml POST /v1/videos/generations","href":"/seedance/2-5-x-text-to-video"},{"title":"Seedance 2.5 X Reference to Video","openapi":"api-reference/openapi/seedance--2-5-x-reference-to-video.yaml POST /v1/videos/generations","href":"/seedance/2-5-x-reference-to-video"}]},{"group":"Draft / Edit / Extend","pages":[{"title":"Seedance 2.5 Draft","openapi":"api-reference/openapi/seedance--2-5-draft.yaml POST /v1/videos/generations","href":"/seedance/2-5-draft"},{"title":"Seedance 2.5 Video Edit","openapi":"api-reference/openapi/seedance--2-5-video-edit.yaml POST /v1/videos/generations","href":"/seedance/2-5-video-edit"},{"title":"Seedance 2.5 Video Extend","openapi":"api-reference/openapi/seedance--2-5-video-extend.yaml POST /v1/videos/generations","href":"/seedance/2-5-video-extend"}]}]}]},{"group":"Grok Imagine","icon":"orbit","pages":[{"group":"Grok Imagine Video 1.0","pages":[{"title":"Grok Imagine Text to Video","openapi":"api-reference/openapi/grok-imagine--grok-imagine-t2v.yaml POST /v1/videos/generations","href":"/grok-imagine/grok-imagine-t2v"},{"title":"Grok Imagine Image to Video","openapi":"api-reference/openapi/grok-imagine--grok-imagine-i2v.yaml POST /v1/videos/generations","href":"/grok-imagine/grok-imagine-i2v"}]},{"group":"Grok Imagine Video 1.5","pages":[{"title":"Grok Imagine Video 1.5 Fast","openapi":"api-reference/openapi/grok-imagine-1-5--grok-imagine-1-5-fast.yaml POST /v1/videos/generations","href":"/grok-imagine-1-5/grok-imagine-1-5-fast"},{"title":"Grok Imagine Video 1.5 Preview","openapi":"api-reference/openapi/grok-imagine-1-5--grok-imagine-1-5-preview.yaml POST /v1/videos/generations","href":"/grok-imagine-1-5/grok-imagine-1-5-preview"},{"title":"Grok Imagine 1.5 VIP","openapi":"api-reference/openapi/grok-imagine-1-5--grok-imagine-1-5-vip.yaml POST /v1/videos/generations","href":"/grok-imagine-1-5/grok-imagine-1-5-vip"}]}]},{"group":"Sora 2","icon":"aperture","pages":[{"title":"Sora 2 Official API","openapi":"api-reference/openapi/sora-2--sora-2-vip.yaml POST /v1/videos/generations","href":"/sora-2/sora-2-vip"}]},{"group":"Gemini Omni","icon":"gem","pages":[{"title":"Gemini Omni Text to Video","openapi":"api-reference/openapi/gemini-omni--gemini-omni-t2v.yaml POST /v1/videos/generations","href":"/gemini-omni/gemini-omni-t2v"},{"title":"Gemini Omni Image to Video","openapi":"api-reference/openapi/gemini-omni--gemini-omni-i2v.yaml POST /v1/videos/generations","href":"/gemini-omni/gemini-omni-i2v"},{"title":"Gemini Omni Reference to Video","openapi":"api-reference/openapi/gemini-omni--gemini-omni-r2v.yaml POST /v1/videos/generations","href":"/gemini-omni/gemini-omni-r2v"},{"title":"Gemini Omni Extend","openapi":"api-reference/openapi/gemini-omni--gemini-omni-extend.yaml POST /v1/videos/generations","href":"/gemini-omni/gemini-omni-extend"}]},{"group":"MiniMax H3","icon":"scan","pages":[{"title":"MiniMax H3","openapi":"api-reference/openapi/minimax-h3--minimax-h3.yaml POST /v1/videos/generations","href":"/minimax-h3/minimax-h3"},{"title":"MiniMax H3 Text to Video","openapi":"api-reference/openapi/minimax-h3--minimax-h3-t2v.yaml POST /v1/videos/generations","href":"/minimax-h3/minimax-h3-t2v"},{"title":"MiniMax H3 Image to Video","openapi":"api-reference/openapi/minimax-h3--minimax-h3-i2v.yaml POST /v1/videos/generations","href":"/minimax-h3/minimax-h3-i2v"},{"title":"MiniMax H3 Reference to Video","openapi":"api-reference/openapi/minimax-h3--minimax-h3-r2v.yaml POST /v1/videos/genertions","href":"/minimax-h3/minimax-h3-r2v"}]},{"group":"Wan Video","icon":"cloud","pages":[{"group":"Wan 2.7","pages":[{"title":"WAN 2.7 Image to Video","openapi":"api-reference/openapi/wan--wan2-7-i2v.yaml POST /v1/videos/generations","href":"/wan/wan2-7-i2v"},{"title":"WAN 2.7 Text to Video","openapi":"api-reference/openapi/wan--wan2-7-t2v.yaml POST /v1/videos/generations","href":"/wan/wan2-7-t2v"},{"title":"WAN 2.7 Video Edit","openapi":"api-reference/openapi/wan--wan2-7-videoedit.yaml POST /v1/videos/generations","href":"/wan/wan2-7-videoedit"}]},{"group":"Wan 3.0","pages":[{"title":"WAN 3.0 Image to Video","openapi":"api-reference/openapi/wan--wan3-0-i2v.yaml POST /v1/videos/generations","href":"/wan/wan3-0-i2v"},{"title":"WAN 3.0 Reference to Video","openapi":"api-reference/openapi/wan--wan3-0-r2v.yaml POST /v1/videos/generations","href":"/wan/wan3-0-r2v"},{"title":"WAN 3.0 Text to Video","openapi":"api-reference/openapi/wan--wan3-0-t2v.yaml POST /v1/videos/generations","href":"/wan/wan3-0-t2v"}]},{"group":"Wan 3.0 Prime","pages":[{"title":"WAN 3.0 Prime Image to Video","openapi":"api-reference/openapi/wan--wan3-0-prime-i2v.yaml POST /v1/videos/generations","href":"/wan/wan3-0-prime-i2v"},{"title":"WAN 3.0 Prime Reference to Video","openapi":"api-reference/openapi/wan--wan3-0-prime-r2v.yaml POST /v1/videos/generations","href":"/wan/wan3-0-prime-r2v"},{"title":"WAN 3.0 Prime Text to Video","openapi":"api-reference/openapi/wan--wan3-0-prime-t2v.yaml POST /v1/videos/generations","href":"/wan/wan3-0-prime-t2v"}]}]},{"group":"Kling 4.0","icon":"clapperboard","pages":[{"title":"Kling 4.0 Text to Video","openapi":"api-reference/openapi/kling-4.0--kling-4.0-t2v.yaml POST /v1/videos/generations","href":"/kling-4.0/kling-4.0-t2v"},{"title":"Kling 4.0 Image to Video","description":"Kling 4.0 I2V is APIPod's keyframe image-to-video mode for Kling 4.0, generating 3-30 second clips that pass through a first frame, up to 8 middle keyframes and an optional last frame.","openapi":"api-reference/openapi/kling-4.0--kling-4.0-i2v.yaml POST /v1/videos/generations","href":"/kling-4.0/kling-4.0-i2v"},{"title":"Kling 4.0 Reference to Video","openapi":"api-reference/openapi/kling-4.0--kling-4.0-r2v.yaml POST /v1/videos/generations","href":"/kling-4.0/kling-4.0-r2v"}]},{"group":"Kling 3.0","icon":"clapperboard","pages":[{"group":"Kling 3.0","pages":[{"title":"Kling 3.0 Text to Video","description":"Kling 3.0 T2V is APIPod's text-to-video mode for Kling 3.0, Kuaishou's video model with multi-shot storytelling, reusable subject elements, and optional native audio.","openapi":"api-reference/openapi/kling-3.0--kling-3.0-t2v.yaml POST /v1/videos/generations","href":"/kling-3.0/kling-3.0-t2v"},{"title":"Kling 3.0 Image to Video","openapi":"api-reference/openapi/kling-3.0--kling-3.0-i2v.yaml POST /v1/videos/generations","href":"/kling-3.0/kling-3.0-i2v"}]},{"group":"Kling 3.0 Turbo","pages":[{"title":"Kling 3.0 Turbo Text to Video","openapi":"api-reference/openapi/kling-3.0--kling-3.0-turbo-t2v.yaml POST /v1/videos/generations","href":"/kling-3.0/kling-3.0-turbo-t2v"},{"title":"Kling 3.0 Turbo Image to Video","openapi":"api-reference/openapi/kling-3.0--kling-3.0-turbo-i2v.yaml POST /v1/videos/generations","href":"/kling-3.0/kling-3.0-turbo-i2v"}]},{"group":"Kling 3.0 Omni","pages":[{"title":"Kling 3.0 Omni Text to Video","openapi":"api-reference/openapi/kling-3.0--kling-3.0-omni-t2v.yaml POST /v1/videos/generations","href":"/kling-3.0/kling-3.0-omni-t2v"},{"title":"Kling 3.0 Omni Image to Video","openapi":"api-reference/openapi/kling-3.0--kling-3.0-omni-i2v.yaml POST /v1/videos/generations","href":"/kling-3.0/kling-3.0-omni-i2v"},{"title":"Kling 3.0 Omni Reference to Video","openapi":"api-reference/openapi/kling-3.0--kling-3.0-omni-r2v.yaml POST /v1/videos/generations","href":"/kling-3.0/kling-3.0-omni-r2v"},{"title":"Kling 3.0 Omni Video Edit","openapi":"api-reference/openapi/kling-3.0--kling-3.0-omni-edit.yaml POST /v1/videos/generations","href":"/kling-3.0/kling-3.0-omni-edit"}]}]},{"group":"Kling Motion Control","icon":"person-standing","pages":[{"title":"Kling 2.6 Motion Control","openapi":"api-reference/openapi/kling--kling-2-6-motion-control.yaml POST /v1/videos/generations","href":"/kling/kling-2-6-motion-control"}]},{"group":"Motion Control","icon":"move-3d","pages":[{"title":"Motion Control M1","openapi":"api-reference/openapi/motion-control--motion-control-m1.yaml POST /v1/videos/generations","href":"/motion-control/motion-control-m1"}]}]},{"group":"Tasks","icon":"list-checks","pages":[{"title":"Query image task","openapi":"api-reference/openapi/query-image-task.yaml GET /v1/images/status/{task_id}","href":"/query-image-task"},{"title":"Query video task","openapi":"api-reference/openapi/query-video-task.yaml GET /v1/videos/status/{task_id}","href":"/query-video-task"}]}]}]},{"language":"zh-CN","pages":[{"title":"zh-CN","href":"/zh-CN/kling-4.0/kling-4.0-r2v"}]}]},"title":"Kling 4.0 Reference to Video - APIPod Docs","buildId":"dpl_HcHmUS6i3UwswnTHJUEdcTtwfdTQ","deploymentId":"dpl_HcHmUS6i3UwswnTHJUEdcTtwfdTQ","dynamics":["c2aa737661","2b790eda92","b0f84f53ff","a9bb46feb3"],"chunks":["OpenApiReferenceProvider-BRm_l__d.js","utils-f1l1Oc-G.js","cloneDeep-izs3Hzxb.js","_Uint8Array-BVIqJ90l.js","isObjectLike-C8vmzPEN.js","isArray-Dcu1dQ5t.js","utils-BlhqDhJO.js","toString-BX-iyh8G.js","isSymbol-CSH9U2Gm.js","addUniqueKeysToSchema-DHCB7rsC.js","snippetPresets-CYXLx6Hv.js","style-to-object-BY3JEAdk.js","v4-DIgz8zy6.js","ApiExamples-B78P2dEq.js","isEqual-BfaiBbcl.js","usePlaygroundInputsStore-C4YLPVAh.js","shallow-vlLnTDkQ.js","getApiPlaygroundDisplay-D_98hhvf.js","CodeSnippet-DtnZHGqq.js","CodeSnippets-CLFb8KJt.js","Page-kQh739Uz.js","getPastedJson-Cq-zlbnU.js","icon-sN3t983t.js","MethodPill-P_YQ2s09.js","DuplicateIcon-BVzyNsGJ.js","createIcon-B3jqgqC6.js","DynamicMarkdown-Crwq6WG_.js","SectionHeading-C7pGS2Bb.js","axios-vUo_bRtp.js","Markdown-BuPH8yuW.js","clsx-CCOYKgaU.js","lib--scc4DXi.js","lib-B8HbPgcC.js","html-void-elements-mCSPHezU.js","dist-BnkC_6oA.js","katex-YMM-FMeD.js","marked.esm-CZWythHk.js","AssistantPageLink-BM4S31-f.js"]}