Kling 2.0 master elevates image-to-video with improved prompts, richer character motion, better visuals and a Multi-Elements Editor. Ready-to-use REST inference API, best performance, no coldstarts, affordable pricing.
Inattivo
$1.3per esecuzione
On a sunny afternoon, an elderly couple in their sixties, dressed in simple and comfortable clothes, is sitting on a park bench. The wife gently pats her husband's back with her wrinkled hand. Both of them are smiling happily, their eyes full of warmth. The sunlight filters through the dense leaves, casting dappled shadows on them, creating a serene and cozy atmosphere.
Capture a dynamic, high-speed chase scene featuring two motorcycles navigating through a bustling cityscape at night. The camera alternates between close-up shots of the riders' intense expressions, the glowing neon signs of the city, and the sleek lines of the motorcycles as they weave through traffic. The sound of revving engines and the hum of the city create an exhilarating atmosphere.
A man in his 30s, wearing a white T-shirt, loose blue jeans, and vintage skate shoes, is expertly skateboarding on a sun-drenched city street. He leans forward, using his right foot to lightly push off and maintain speed. The background is a bustling street with tall glass buildings reflecting the sunlight. The camera smoothly tracks him, capturing his confident smile and hair blowing in the wind.
On a breezy beach, a father is patiently teaching his six or seven-year-old son how to play baseball. The father bends down, holding his son's hands to guide him on the correct swing posture. The son, wearing a striped T-shirt, has eyes full of curiosity and excitement as he earnestly imitates his father's movements. The background is a vast blue ocean and soft sandy beach, with gentle waves lapping the shore.
A dancer is practicing an expressive modern dance in a softly lit professional studio. Dressed in a black leotard, she stretches her body, performing graceful yet powerful turns and leaps in rhythm with the background music. Sweat glistens on her forehead and neck, and every one of her movements is full of emotion, conveying a sense of resilience and beauty.
In a modern, open-concept kitchen, a senior chef in a white uniform and tall hat is demonstrating his exquisite knife skills. With a shiny kitchen knife, he slices an onion on a cutting board with astonishing speed and precision. The blade glints under the lights. His technique is clean and sharp, with no wasted motion. In the background, the kitchen is busy but well-organized, with other chefs attending to their tasks.
A young rock climber, in professional climbing gear, is tackling a challenging route on a massive indoor climbing wall. He uses his fingertips and toes to precisely find footholds and handholds. His body is pressed against the wall, muscles tensed with effort. The camera shoots from a low angle, capturing his every powerful and skillful move as he ascends. The bright indoor gym and busy belayers on the ground are in the background.
A barista, a warm smile on her face, is expertly pouring steamed milk into a cup of coffee to create beautiful latte art. The steam gently rises from the cup, catching the soft morning light from the window. The camera slowly pans down from her face to her hands, then maintains a macro shot on the intricate swirling patterns. Cozy cafe interior, soft natural light, warm color grading, ultra detailed.
A young man in a retro jacket walks alone on the city streets at dusk. The street lights gradually turn on, pedestrians rush by, and the background is blurred. The shot primarily uses slow tracking and push-in shots to create a cinematic atmosphere. The image has high color saturation and a nostalgic feel.
An elderly potter, in her studio, with her hands covered in clay, is intently shaping a ceramic piece. Her face is lined, but her eyes are focused and calm. The studio is filled with bright sunlight, the scent of clay and wood. The shot is primarily a close-up, capturing her dexterous hands and the slow formation of the pottery. The scene has a simple color palette, with soft lighting, creating a serene and creative atmosphere.
Kling v2.0 I2V Master generates short, cinematic videos from a reference image and a motion-focused prompt. Upload a starting image, optionally provide an end_image for better continuity, and describe the action and camera movement to animate the scene with smooth motion and strong visual coherence. Built for stable production use with a ready-to-use REST API, no cold starts, and predictable pricing.
| Duration | Price |
|---|---|
| 5s | $1.30 |
| 10s | $2.60 |
| 15s | $3.90 |
| 20s | $5.20 |
For best control, write prompts like a director’s brief:
Grab a WaveSpeedAI API key, then call POST https://api.wavespeed.ai/api/v3/kwaivgi/kling-v2.0-i2v-master with your input as JSON. The endpoint returns a prediction id. Start polling the result endpoint around every 2 seconds, increase the interval for long-running tasks, and stop on any terminal status. On completed, read output values from data.outputs. Examples for Kling v2.0 I2v Master below.
set -euo pipefail
: "${WAVESPEED_API_KEY:?Set WAVESPEED_API_KEY}"
REQUEST_BODY=$(cat <<'JSON'
{
"prompt": "A cinematic shot of a city at sunset, soft golden light",
"image": "https://interactive-examples.mdn.mozilla.net/media/cc0-images/painted-hand-298-332.jpg",
"guidance_scale": 0.5,
"duration": 5
}
JSON
)
# 1. Submit the prediction.
SUBMIT_RESPONSE=$(curl --silent --show-error --fail-with-body \
-X POST "https://api.wavespeed.ai/api/v3/kwaivgi/kling-v2.0-i2v-master" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer $WAVESPEED_API_KEY" \
-d "$REQUEST_BODY")
TASK=$(printf '%s' "$SUBMIT_RESPONSE" | jq 'if has("data") then .data else . end')
PREDICTION_ID=$(printf '%s' "$TASK" | jq -r '.id')
if [ -z "$PREDICTION_ID" ] || [ "$PREDICTION_ID" = "null" ]; then
printf 'Submission response did not contain a prediction id
' >&2
exit 1
fi
RESULT_URL=$(printf '%s' "$TASK" | jq -r '.urls.get // empty')
if [ -z "$RESULT_URL" ]; then
RESULT_URL="https://api.wavespeed.ai/api/v3/predictions/$PREDICTION_ID/result"
fi
# 2. Poll until the prediction finishes.
while true; do
RESPONSE=$(curl --silent --show-error --fail-with-body "$RESULT_URL" \
-H "Authorization: Bearer $WAVESPEED_API_KEY")
RESULT=$(printf '%s' "$RESPONSE" | jq 'if has("data") then .data else . end')
STATUS=$(printf '%s' "$RESULT" | jq -r '.status')
case "$STATUS" in
completed) printf '%s\n' "$RESULT" | jq '.outputs'; break ;;
failed|cancelled|timeout) printf '%s\n' "$RESULT" | jq . >&2; exit 1 ;;
created|processing) sleep 2 ;;
*) printf 'Unexpected status: %s
' "$STATUS" >&2; exit 1 ;;
esac
doneconst submitUrl = "https://api.wavespeed.ai/api/v3/kwaivgi/kling-v2.0-i2v-master";
const apiKey = process.env.WAVESPEED_API_KEY;
if (!apiKey) throw new Error('Set WAVESPEED_API_KEY');
async function requestJson(url, options = {}) {
const response = await fetch(url, options);
if (!response.ok) throw new Error(await response.text());
return response.json();
}
// 1. Submit the prediction.
const body = await requestJson(submitUrl, {
method: "POST",
headers: {
"Authorization": `Bearer ${apiKey}`,
"Content-Type": "application/json",
},
body: JSON.stringify({
"prompt": "A cinematic shot of a city at sunset, soft golden light",
"image": "https://interactive-examples.mdn.mozilla.net/media/cc0-images/painted-hand-298-332.jpg",
"guidance_scale": 0.5,
"duration": 5
}),
});
const task = body.data ?? body;
if (!task.id) throw new Error("Submission response did not contain a prediction id");
const resultUrl = task.urls?.get ||
`https://api.wavespeed.ai/api/v3/predictions/${task.id}/result`;
// 2. Poll until the prediction finishes.
while (true) {
const resultBody = await requestJson(resultUrl, {
headers: { "Authorization": `Bearer ${apiKey}` },
});
const result = resultBody.data ?? resultBody;
if (result.status === "completed") {
console.log(result.outputs);
break;
}
if (["failed", "cancelled", "timeout"].includes(result.status)) throw new Error(JSON.stringify(result));
if (!["created", "processing"].includes(result.status)) throw new Error("Unexpected status: " + result.status);
await new Promise(resolve => setTimeout(resolve, 2000));
}import json
import os
import time
from urllib.request import Request, urlopen
api_key = os.environ["WAVESPEED_API_KEY"]
headers = {"Authorization": f"Bearer {api_key}", "Content-Type": "application/json"}
payload = {
"prompt": "A cinematic shot of a city at sunset, soft golden light",
"image": "https://interactive-examples.mdn.mozilla.net/media/cc0-images/painted-hand-298-332.jpg",
"guidance_scale": 0.5,
"duration": 5
}
def request_json(url, data=None):
request = Request(url, data=data, headers=headers, method="POST" if data else "GET")
with urlopen(request) as response:
return json.load(response)
# 1. Submit the prediction.
body = request_json("https://api.wavespeed.ai/api/v3/kwaivgi/kling-v2.0-i2v-master", json.dumps(payload).encode())
task = body.get("data", body)
if not task.get("id"):
raise RuntimeError("Submission response did not contain a prediction id")
result_url = task.get("urls", {}).get("get") or f"https://api.wavespeed.ai/api/v3/predictions/{task['id']}/result"
# 2. Poll until the prediction finishes.
while True:
result_body = request_json(result_url)
result = result_body.get("data", result_body)
status = result.get("status")
if status == "completed":
print(result.get("outputs", []))
break
if status in {"failed", "cancelled", "timeout"}:
raise RuntimeError(result)
if status not in {"created", "processing"}:
raise RuntimeError(f"Unexpected status: {status}")
time.sleep(2)Kling v2.0 I2v Master is a Kuaishou model for video generation from images, exposed as a REST API on WaveSpeedAI. Kling 2.0 master elevates image-to-video with improved prompts, richer character motion, better visuals and a Multi-Elements Editor. Ready-to-use REST inference API, best performance, no coldstarts, affordable pricing. You can call it programmatically or try it from the playground above.
POST your input parameters to the model's REST endpoint (shown in the API tab of this playground) with your WaveSpeedAI API key in the Authorization header. Submission returns a prediction ID. Poll the result endpoint starting around every 2 seconds, increase the interval for long-running tasks, and stop on any terminal status. The playground generates production-oriented Python, JavaScript, and cURL examples with timeouts, transient-error handling, and safe GET retries. Full request/response shape is documented at https://wavespeed.ai/docs/docs-api/kwaivgi/kwaivgi-kling-v2.0-i2v-master.
Kling v2.0 I2v Master starts at $1.30 per run. That figure is the base price — the final charge scales with the parameters you set in the form (output size, length, count, references, or whatever knobs this model exposes), so a higher-quality or larger output costs more than a minimal one. The exact cost for your current input is shown live next to the Generate button before you submit, and the actual per-call charge is recorded on the prediction afterwards.
Key inputs: `prompt`, `image`, `duration`, `guidance_scale`, `negative_prompt`, `end_image`. The full JSON schema (types, defaults, allowed values) is rendered above the Generate button and mirrored in the API reference at https://wavespeed.ai/docs/docs-api/kwaivgi/kwaivgi-kling-v2.0-i2v-master.
Median end-to-end generation time on WaveSpeedAI is around 230 seconds per request, based on recent successful runs. Queue time varies with global demand; live status is visible in the prediction record.
Commercial usage rights depend on the model's license, set by its provider (Kuaishou). The license summary appears on the model card above; see WaveSpeedAI's Terms of Service for platform-level conditions.