Pesos abertos MiniMax H3 | Experimente no Gerador de Vídeos →

Kling Video O3 Std Reference to Video | Fast Image-to-Video

kwaivgi/

Kling Omni Video O3 (Standard) Reference-to-Video generates creative videos using character, prop, or scene references from multiple viewpoints. Extracts subject features and creates new video content while maintaining identity consistency across frames. Supports audio generation. Ready-to-use REST API, best performance, no cold starts, affordable pricing.

image-to-video
Entrada

Ocioso

$0.42por execução·~23 / $10

Próximo:

ExemplosVer todos

The man in Figure 2 is walking with the woman in Figure 1 in the park. The environment is winter.

Modelos relacionados

README

Kling Video O3 Std Reference-to-Video

Kling Video O3 Standard Reference-to-Video generates new videos guided by reference images and an optional reference video, maintaining consistent characters, styles, and scenes. Describe a scenario involving the people or elements in your reference images — the model brings them together in a coherent, natural video. Supports flexible duration, aspect ratio control, and optional sound generation.

Why Choose This?

  • Character-consistent generation Upload reference images of specific people or elements, and the model preserves their identity throughout the generated video.

  • Multi-reference support Provide multiple reference images to combine different characters, styles, or elements in one scene.

  • Optional reference video Supply a reference video for motion guidance, style transfer, or scene continuity.

  • Sound options Keep original audio from a reference video, or generate new synchronized sound effects.

  • Multi-prompt support Chain multiple prompt segments to guide scene transitions and narrative flow within a single generation.

  • Flexible output Multiple aspect ratios (16:9, 9:16, 1:1, etc.) and duration from 3 to 15 seconds.

Parameters

ParameterRequiredDescription
promptNoText description of the desired scene and action.
videoNoReference video for motion or style guidance.
imagesNoReference images of characters, elements, or styles.
keep_original_soundNoKeep the original sound from the reference video. Default: enabled.
soundNoGenerate synchronized audio for the video. Default: disabled.
aspect_ratioNoVideo aspect ratio. Default: 16:9.
durationNoVideo length in seconds. Range: 3–15. Default: 5.
shot_typeNoEditing mode: intelligent (default, auto-determines scope) or customize.
multi_promptNoAdditional prompt segments to guide scene transitions and progressions.

How to Use

  1. Write your prompt — describe the scene, referencing characters or elements by position (e.g., "The man in Figure 2 is walking with the woman in Figure 1 in the park.").
  2. Add reference images — upload images of the characters, objects, or styles you want in the video.
  3. Add reference video (optional) — provide a video for motion or style guidance.
  4. Choose aspect ratio — select the format that fits your platform.
  5. Set duration — choose any length from 3 to 15 seconds.
  6. Set sound preference — keep original audio from the reference video, or enable generated sound.
  7. Select shot_type (optional) — use intelligent for automatic scope, or customize for manual control.
  8. Add multi-prompt segments (optional) — click Add Item to guide scene transitions.
  9. Run — submit and download your video.

Pricing

DurationNo Video, No SoundNo Video, With SoundWith Reference Video
3s$0.252$0.336$0.378
5s$0.420$0.560$0.630
10s$0.840$1.120$1.260
15s$1.260$1.680$1.890

Billing Rules

  • Base rate: $0.42 per 5 seconds ($0.084 per second)
  • Sound surcharge: +33% when sound is enabled (no reference video)
  • Reference video surcharge: ×1.5 when a reference video is provided (overrides sound multiplier)
  • Duration range: 3–15 seconds

Best Use Cases

  • Character-Driven Storytelling — Create scenes starring specific characters from your reference images.
  • Social Media Content — Produce personalized short-form videos with consistent character identity.
  • Marketing & Ads — Generate brand ambassador or spokesperson videos from still photos.
  • Creative Concepting — Combine multiple characters or elements into new scenarios for rapid ideation.
  • Style Transfer — Use a reference video to guide the motion and visual style of new content.

Pro Tips

  • Reference images with clear faces and distinct features produce the best character consistency.
  • Use "Figure 1", "Figure 2" etc. in your prompt to refer to specific reference images in order.
  • Use shorter durations (3–5s) for testing character consistency before generating longer clips.
  • Match aspect ratio to your target platform: 16:9 for YouTube, 9:16 for TikTok and Reels.
  • Use multi_prompt to build smooth narrative progressions across the clip.

Notes

  • All parameters are optional; reference images are strongly recommended for best results.
  • Duration range: minimum 3 seconds, maximum 15 seconds.
  • When a reference video is provided, the cost is 1.5× the base rate regardless of sound settings.
  • Ensure uploaded URLs are publicly accessible.

Related Models

Nota:Este site utiliza modelos de IA fornecidos por terceiros.

Kling Video O3 Std Reference To Video API — Quick start

Grab a WaveSpeedAI API key, then call POST https://api.wavespeed.ai/api/v3/kwaivgi/kling-video-o3-std/reference-to-video 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 Video O3 Std Reference To Video below.

HTTP example
set -euo pipefail

: "${WAVESPEED_API_KEY:?Set WAVESPEED_API_KEY}"

REQUEST_BODY=$(cat <<'JSON'
{
    "keep_original_sound": true,
    "sound": false,
    "aspect_ratio": "16:9",
    "duration": 5,
    "shot_type": "customize"
}
JSON
)

# 1. Submit the prediction.
SUBMIT_RESPONSE=$(curl --silent --show-error --fail-with-body \
  -X POST "https://api.wavespeed.ai/api/v3/kwaivgi/kling-video-o3-std/reference-to-video" \
  -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
done
Node.js example
const submitUrl = "https://api.wavespeed.ai/api/v3/kwaivgi/kling-video-o3-std/reference-to-video";
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({
        "keep_original_sound": true,
        "sound": false,
        "aspect_ratio": "16:9",
        "duration": 5,
        "shot_type": "customize"
}),
});
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));
}
Python example
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 = {
    "keep_original_sound": True,
    "sound": False,
    "aspect_ratio": "16:9",
    "duration": 5,
    "shot_type": "customize"
}

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-video-o3-std/reference-to-video", 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 Video O3 Std Reference To Video API — Frequently asked questions

What is the Kling Video O3 Std Reference To Video API?

Kling Video O3 Std Reference To Video is a Kuaishou model for video generation from images, exposed as a REST API on WaveSpeedAI. Kling Omni Video O3 (Standard) Reference-to-Video generates creative videos using character, prop, or scene references from multiple viewpoints. Extracts subject features and creates new video content while maintaining identity consistency across frames. Supports audio generation. Ready-to-use REST API, best performance, no cold starts, affordable pricing. You can call it programmatically or try it from the playground above.

How do I call the Kling Video O3 Std Reference To Video API?

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-video-o3-std-reference-to-video.

How much does Kling Video O3 Std Reference To Video cost per run?

Kling Video O3 Std Reference To Video starts at $0.42 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.

What inputs does Kling Video O3 Std Reference To Video accept?

Key inputs: `prompt`, `images`, `video`, `aspect_ratio`, `duration`, `keep_original_sound`. 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-video-o3-std-reference-to-video.

How long does Kling Video O3 Std Reference To Video take to generate?

Median end-to-end generation time on WaveSpeedAI is around 213 seconds per request, based on recent successful runs. Queue time varies with global demand; live status is visible in the prediction record.

Can I use Kling Video O3 Std Reference To Video outputs commercially?

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.

Kling Video O3 Std Reference to Video | Fast Image-to-Video API on WaveSpeedAI