Kling Video O3 4k

kwaivgi/kling-video/o3/4k/image-to-video

Kling Video O3 4k by KwaiVGI - animate still images into dynamic videos with AI. Transform photos into cinematic clips with natural motion, camera movement, and optional audio generation.

Base price
$2.10USD / run
Execution
async
Model type
video
Input fields
7

Try the model

Playground

Open playground
Input
Text prompt for video generation. Either prompt or multi_prompt must be provided, but not both.

PNG, JPEG, WebP, or GIF · 20 MiB maximum

URL of the start frame image.

PNG, JPEG, WebP, or GIF · 20 MiB maximum

URL of the end frame image (optional).
Video duration in seconds (3-15s). Allowed values: 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15.
Whether to generate native audio for the video.
The type of multi-shot video generation. 'intelligent' lets the model automatically determine shot structure. Allowed values: customize, intelligent.
List of prompts for multi-shot video generation.
OutputReady

Your output will appear here

Complete the inputs, then click Run.

Specifications

Pricing

Base price
$2.10 / run
Billing formula
params.duration * 0.42

Context & modalities

Input
Schema-defined
Output
video

Capabilities

Chat
Not supported
Vision
Not supported
Reasoning
Not supported
Structured output
Not supported
Function calling
Not supported
Audio input
Not supported

Access

Provider
KwaiVGI
Model ID
kwaivgi/kling-video/o3/4k/image-to-video
Execution
async
API
Unified Run API
Endpoint
/v1/run

API README

Kling Video O3 4k

image to video in the Kling Video lineup is built to animate a supplied still while treating it as the visual anchor. The kling video o3 4k image to video configuration combines that transformation with the quality and motion profile represented by this exact model version, so teams can choose it deliberately among adjacent family variants. It is useful when the input already establishes part of the creative intent and the model must supply a polished result rather than a generic media conversion, with subject identity, scene logic, visual hierarchy, and the delivery goal kept explicit.

For production work with kwaivgi/kling-video/o3/4k/image-to-video, begin with the non-negotiable content, then describe the desired change, framing, action, atmosphere, and finishing cues in that order. Separate what must remain recognizable from what may vary, and prefer concrete nouns and observable actions over abstract praise. That structure makes outputs easier to compare across storyboard passes, campaign variants, catalog assets, and other repeatable creative pipelines.

Highlights

Source-frame fidelity. Treats the supplied image as the identity and composition anchor.

Natural still-image animation. Adds subject, environmental, and secondary motion grounded in the source.

Directed camera movement. Supports push-ins, tracking, orbiting, and restrained static-camera motion.

kling video o3 4k image to video coherent temporal development. Carries faces, objects, lighting, and geometry through the sequence. This is the defining creative strength of the kling video o3 4k image to video configuration.

Pricing

DurationPrice per generated clip
3 seconds$1.2600
4 seconds$1.6800
5 seconds$2.1000
6 seconds$2.5200
7 seconds$2.9400
8 seconds$3.3600
9 seconds$3.7800
10 seconds$4.2000
11 seconds$4.6200
12 seconds$5.0400
13 seconds$5.4600
14 seconds$5.8800
15 seconds$6.3000

Billing follows params.duration * 0.42: multiply generated seconds by the $0.4200 per-second rate.

When to Use

✅ Good fit❌ Consider alternatives
A still image should anchor the video's subject and compositionThe whole scene should be invented from text alone
A managed asynchronous result is suitable for the production pipelineA synchronous, interactive editor is essential
The documented controls cover the required duration, framing, or formatThe project needs controls outside this endpoint's schema
Creative iteration benefits from a repeatable request structureExact deterministic pixels, frames, geometry, or samples are mandatory
A finished downloadable media asset is the desired deliverableEditable source layers or a native project file are required

Prompt Guide

For image-conditioned generation, state the intended result first, then add the subject or source treatment, progression, style, and delivery constraints. Keep one creative variable per phrase, use the documented field names for controls, and change one setting at a time when comparing results.

{
  "duration": 10,
  "image": "https://static.sandbase.ai/examples/mirrored/0ff4703452ec-8ABMp4n9rh3kfD2Rq8fHd_start_frame.png",
  "prompt": "The character walks forward slowly, with the camera following from behind."
}

Technical Specs

SpecValue
Model IDkwaivgi/kling-video/o3/4k/image-to-video
Inputsduration, end_image, generate_audio, image, multi_prompt, prompt, shot_type
Required inputsprompt, image
Output fieldscontent_type, url
ExecutionAsync (submit, then poll for result)
Duration3 / 4 / 5 / 6 / 7 / 8 / 9 / 10 / 11 / 12 / 13 / 14 / 15

Related Models

Start building

Send your first request

OpenAI-compatible endpoint with unified authentication and usage tracking.

Production API
Unified Run API endpoint
https://api.sandbase.ai/v1/run
Model ID
kwaivgi/kling-video/o3/4k/image-to-video
# The quoted heredoc keeps Unicode and shell metacharacters unchanged.
result=$(curl --fail-with-body --silent \
  -X POST "https://api.sandbase.ai/v1/run" \
  -H "Authorization: Bearer $SANDBASE_API_KEY" \
  -H "Content-Type: application/json" \
  --data-binary @- <<'SANDBASE_JSON'
{
  "model": "kwaivgi/kling-video/o3/4k/image-to-video",
  "image": "https://static.sandbase.ai/examples/mirrored/0ff4703452ec-8ABMp4n9rh3kfD2Rq8fHd_start_frame.png",
  "prompt": "The character walks forward slowly, with the camera following from behind.",
  "duration": 10,
  "end_image": "https://static.sandbase.ai/examples/alibaba/qwen-image-edit-plus-lora-gallery/add-background/output_url_1.png",
  "shot_type": "customize",
  "generate_audio": false
}
SANDBASE_JSON
)
run_id=$(printf '%s' "$result" | jq -r .id)
for attempt in $(seq 1 120); do
  status=$(printf '%s' "$result" | jq -r .status)
  case "$status" in completed|failed|timeout) break ;; esac
  sleep 2
  result=$(curl --fail-with-body --silent \
    -H "Authorization: Bearer $SANDBASE_API_KEY" \
    "https://api.sandbase.ai/v1/run/$run_id")
done
status=$(printf '%s' "$result" | jq -r .status)
[ "$status" = completed ] || { echo "Generation ended: $status" >&2; exit 1; }
printf '%s\n' "$result"

Choose your model

Compare models

All language models
ModelContextInput / 1MOutput / 1MReleased
KwaiVGI———Apr 23, 2026
KwaiVGI———Jul 6, 2026
KwaiVGI———Jul 6, 2026
KwaiVGI———Jul 3, 2026
KwaiVGI———Jul 3, 2026
KwaiVGI———Jul 3, 2026