Kling 3.0 Omni Pro Video Edit

kwaivgi/kling-video/3.0/omni/pro/video-to-video/edit

Modify an existing video with natural-language instructions using Kling 3.0 Omni Pro.

Base price
$0.84USD / run
Execution
async
Model type
video
Input fields
5

Try the model

Playground

Open playground
Input
Use @Element1, @Element2 to reference elements and @Image1, @Image2 to reference images in order.

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 supported, 3-10 seconds duration, 720-2160px resolution, max 200MB. Max file size: 200.0MB, Min width: 720px, Min height: 720px, Max width: 2160px, Max height: 2160px, Min duration: 3.0s, Max duration: 10.05s, Min FPS: 24.0, Max FPS: 60.0, Timeout: 30.0s
Elements (characters/objects) to include. Reference in prompt as @Element1, @Element2, etc. Maximum 4 total (elements + reference images) when using video.
Whether to keep the original audio from the video.
OutputReady

Your output will appear here

Complete the inputs, then click Run.

Specifications

Pricing

Base price
$0.84 / run
Billing formula
media_length(params.video) * 0.168

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/3.0/omni/pro/video-to-video/edit
Execution
async
API
Unified Run API
Endpoint
/v1/run

API README

Kling 3.0 Omni Pro Video Edit

Modify an existing video with natural-language instructions using Kling 3.0 Omni Pro.

Overview

  • Model: kwaivgi/kling-video/3.0/omni/pro/video-to-video/edit
  • Category: video-to-video
  • Best for prompt-based restyling, object changes, and guided edits to an existing clip.

Pricing

$0.168 per second of source video.

API Information

  • Input: Prompt, video URL, optional images reference array, and keep_audio.
  • Output: MP4 video URL.
  • Execution: async queue submission with polling for the final result.

Additional Resources

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/3.0/omni/pro/video-to-video/edit
# 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/3.0/omni/pro/video-to-video/edit",
  "video": "https://static.sandbase.ai/examples/kwaivgi/kling-video/omni/pro/video-to-video/edit/output_url_1.mp4",
  "images": [
    "https://static.sandbase.ai/examples/kwaivgi/kling-video/omni/pro/video-to-video/edit/input_images_0.png"
  ],
  "prompt": "Replace the character in the video with @Element1, maintaining the same movements and camera angles. Transform the landscape into @Image1",
  "elements": [
    {
      "frontal_image_url": "https://static.sandbase.ai/examples/kwaivgi/kling-video/omni/pro/reference-to-video/input_element_0.png",
      "reference_image_urls": [
        "https://static.sandbase.ai/examples/kwaivgi/kling-video/omni/pro/reference-to-video/input_element_1.png",
        "https://static.sandbase.ai/examples/kwaivgi/kling-video/omni/pro/reference-to-video/input_element_2.png"
      ]
    }
  ],
  "keep_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———Jul 3, 2026
KwaiVGI———Jul 6, 2026
KwaiVGI———Jul 6, 2026
KwaiVGI———Jul 3, 2026
KwaiVGI———Jul 3, 2026
KwaiVGI———Jul 3, 2026