Kling O3
kwaivgi/kling-video/o3Kling O3 by Kuaishou is a single entry point for Kling 3.0 Omni video: text, image, reference, and video-guided generation in Standard, Pro, or 4K quality, with optional native audio.
- Base price
- $0.48
$0.56USD / run - Execution
- async
- Model type
- video
- Input fields
- 13
Try the model
Playground
PNG, JPEG, WebP, or GIF · 20 MiB maximum
PNG, JPEG, WebP, or GIF · 20 MiB maximum
PNG, JPEG, WebP, or GIF · 20 MiB maximum each
Your output will appear here
Complete the inputs, then click Run.
Model card
Specifications
Pricing
- Base price
- $0.48 / run
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
- Execution
- async
- Base URL
- https://api.sandbase.ai
- API
- Unified Run API
- Endpoint
- /v1/run
API README
Kling O3
A single endpoint for Kling O3: text-to-video, image-to-video (with optional end frame), reference images, and video reference in one schema. Pick the tier with resolution.
Pick an input mode
| Mode | Send |
|---|---|
| Text | prompt only |
| Frames | image, optional end_image |
| References | images (refer to them as @Image1, …) |
| Video reference | video, optional images |
Fields
| Field | Type | Default | Notes |
|---|---|---|---|
prompt | string, required | — | Up to 2,500 characters. |
resolution | standard / pro / 4k | standard | Tier: standard, pro, or 4k; sets the per-second rate. |
image | image URL | — | Optional first frame. |
video | video URL | — | Optional reference video. |
keep_original_sound | boolean | true | Keep the reference video's audio track. |
character_orientation | image / video | — | video follows the reference video's orientation (better for complex moves, up to 30s); image follows the image (better for camera moves, up to 10s). |
end_image | image URL | — | Optional last frame. |
images | image URL[] | — | Reference images, referred to as @Image1, @Image2, … in the prompt. |
duration | 3–15 | 5 | Output length in seconds. |
aspect_ratio | 16:9 / 9:16 / 1:1 | 16:9 | Output frame shape. |
generate_audio | boolean | true | Generate native audio with the clip. |
shot_type | customize / intelligent | customize | customize follows your multi_prompt shot list; intelligent lets the model plan the cuts. |
multi_prompt | object[] | — | Optional list of shots, each with its own prompt and duration. |
Billing
You pay per output second. Standard: $0.112 with audio, $0.084 without. Pro: $0.14 with audio, $0.112 without. 4K: $0.42. With a reference video: $0.126 (standard) or $0.168 (pro).
| Output | standard | pro | 4k |
|---|---|---|---|
| 5s with audio | $0.56 | $0.70 | $2.10 |
| 5s without audio | $0.42 | $0.56 | $2.10 |
| 5s with reference video | $0.63 | $0.84 | $2.10 |
| 10s with audio | $1.12 | $1.40 | $4.20 |
Failed runs are not charged.
Prompting
- Describe subject, action, camera move, and light in order.
- For several shots, use
multi_promptwith one entry per shot. - Refer to references as @Image1, @Video1.
Limits
- Clips are 3–15 seconds.
Also on SandBase
Related: kwaivgi/kling-video/o3/pro/text-to-video (single-mode endpoint), kwaivgi/kling-video/o3/pro/image-to-video (single-mode endpoint).
Start building
Send your first request
OpenAI-compatible endpoint with unified authentication and usage tracking.
# 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",
"image": "https://static.sandbase.ai/examples/mirrored/f77b827ca02a-TNErq9yD7ZxGRATjfAqnh_EIgJSN67.png",
"video": "https://static.sandbase.ai/examples/mirrored/f1ecbb471a16-hklvF__w53diz6Rve7f5__JuDW2xl0mr6sJ_Kjz3Vxe_vidoeook--1-_1.mp4",
"prompt": "Based on @Video1, make the character from @Image1 dance.",
"duration": 5,
"shot_type": "customize",
"resolution": "standard",
"aspect_ratio": "16:9",
"generate_audio": true,
"keep_original_sound": true,
"character_orientation": "image"
}
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
| Model | Type | Default price | Released |
|---|---|---|---|
Kling O3This model KwaiVGI | Video | $0.56 / run | Jul 6, 2026 |
KwaiVGI | Video | Coming soon | Coming soon |
KwaiVGI | Video | $2.10 / run | Oct 5, 2026 |
KwaiVGI | Video | $2.10 / run | Oct 5, 2026 |
KwaiVGI | Video | $0.56 / run | Jul 6, 2026 |
KwaiVGI | Video | $0.84 / run | Jul 3, 2026 |
Questions
FAQ
How do I call KwaiVGI Kling O3 through SandBase?
Create a SandBase API key, then send requests with the model ID "kwaivgi/kling-video/o3" 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 KwaiVGI Kling O3 and the other models in the catalog; you do not need to sign up with KwaiVGI separately.
