API Free WeekHundreds of APIs are free to call this week.Browse free APIs

Kling O3 4K Video Reference

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

Kling O3 4K Video Reference by Kuaishou generates a new native 4K shot that follows the style and camera motion of a reference video, optionally guided by reference images.

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

Try the model

Playground

Open playground
Input
Text prompt for video generation. Reference video as @Video1.

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

Reference images for style/appearance. Reference in prompt as @Image1, @Image2, etc. Maximum 4 total (elements + reference images) when using video.
Reference video URL. Only .mp4/.mov formats, 3-10s duration, 720-2160px resolution, max 200MB.
Video duration in seconds (3-15s for reference video). Allowed values: 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15.
Whether to keep the original audio from the reference video.
The type of multi-shot video generation.
The aspect ratio of the generated image. Allowed values: 16:9, 9:16, 1:1.
OutputReady

Your output will appear here

Complete the inputs, then click Run.

Specifications

Pricing

Base price
$2.10 / run
Billing formula
(params.duration ?? Math.ceil(usage.duration ?? 5.0)) * 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/video-to-video
Execution
async
API
Unified Run API
Endpoint
/v1/run

API README

Kling O3 4K Video Reference

Kling O3 4K Video Reference generates a new shot that follows the style, framing, and camera motion of a reference video. Reference images can be cited in the prompt as @Image1, @Image2, and so on. Output is native 4K, 3-15 seconds.

Pricing

Billed per generated second at $0.42, regardless of audio.

DurationPrice
3 seconds$1.26
4 seconds$1.68
5 seconds$2.10
6 seconds$2.52
7 seconds$2.94
8 seconds$3.36
9 seconds$3.78
10 seconds$4.20
11 seconds$4.62
12 seconds$5.04
13 seconds$5.46
14 seconds$5.88
15 seconds$6.30

Prompt Guide

Describe what should change and what must stay the same. Refer to reference images by their position in images.

{
  "prompt": "Follow the camera move of the reference video in the watercolor style of @Image1.",
  "video": "https://example.com/source.mp4",
  "images": ["https://example.com/reference.png"],
  "duration": 5
}

Technical Specs

SpecValue
Model IDkwaivgi/kling-video/o3/4k/video-to-video
Inputsvideo, images, prompt, duration, shot_type, keep_audio, aspect_ratio
Required inputsprompt, video
OutputVideo URL
ExecutionAsync (submit, then poll for result)

Related

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/video-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/video-to-video",
  "video": "https://static.sandbase.ai/examples/kwaivgi/mirrored/example_inputs/kling-o3/pro-v2v-reference/video_reference.mp4",
  "images": [
    "https://static.sandbase.ai/examples/kwaivgi/mirrored/example_inputs/kling-o3/pro-v2v-reference/image_url1.jpg",
    "https://static.sandbase.ai/examples/kwaivgi/mirrored/example_inputs/kling-o3/pro-v2v-reference/image_url2.jpg"
  ],
  "prompt": "Integrate @Element1 in the scene. Style video should be following watercolor style of @Image1",
  "duration": "5",
  "shot_type": "customize",
  "keep_audio": false,
  "aspect_ratio": "16:9"
}
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 image & video models
ModelTypeDefault priceReleased
KwaiVGIVideo$2.10 / runOct 5, 2026
KwaiVGIVideoComing soonComing soon
KwaiVGIVideo$2.10 / runOct 5, 2026
KwaiVGIVideo$0.56 / runJul 6, 2026
KwaiVGIVideo$0.56 / runJul 6, 2026
KwaiVGIVideo$0.84 / runJul 3, 2026

Questions

FAQ

How do I call Kling O3 4K Video Reference through SandBase?

Create a SandBase API key, then send requests with the model ID "kwaivgi/kling-video/o3/4k/video-to-video" to Unified Run API (/v1/run) at https://api.sandbase.ai. The request examples on this page show the exact payload.

Do I need a separate KwaiVGI account?

No. One SandBase API key and balance gives you access to Kling O3 4K Video Reference and the other models in the catalog; you do not need to sign up with KwaiVGI separately.