Kling V3 API Guide: Pricing, Audio & Multi-Shot Video

Kling V3 API guide with asynchronous code examples, current pricing dimensions, 720p and 1080p output, multi-shot controls, native audio, and production safeguards.

Kling V3 API Guide: Pricing, Audio & Multi-Shot Video

TL;DR: This guide shows the asynchronous Kling V3 workflow, request structure, polling, input checks, and cost controls. Kling's current video documentation exposes 720p and 1080p modes; do not confuse that with the 4K capability marketed for Kling Image 3.0. Confirm the price, duration, audio setting, model ID, and availability in the live LinkModel catalog before sending a job.

What Kling V3 Brings to the Table

Kling V3 is a video-generation model exposed through supported provider and gateway APIs. Capabilities can differ by API surface and model version, so treat the active model documentation—not a third-party feature table—as the implementation contract.

The standout features that matter for production use:

  • multi-shot or storyboard controls where documented;
  • reference-guided consistency across shots;
  • optional audio where supported by the selected endpoint;
  • resolution, duration, and aspect-ratio controls exposed for the active model ID.

Access it through the LinkModel model page when the catalog marks it available. Confirm every request field in the LinkModel documentation before deployment.

Pricing

The live request price can depend on model version, resolution, duration, audio, and provider. Preserve those dimensions beside every quote.

FieldValue to record
Modelexact API model ID
Outputduration, resolution, aspect ratio, audio
Billingdisplayed price and billing unit
Sourceexact model/pricing page and lookup date
Effective costtotal attempts divided by accepted clips

The LinkModel model page currently starts at approximately $0.061 for a 720p request without audio, but that is not a universal Kling V3 price. Recalculate from the selected duration, resolution, audio setting, and rate shown at request time.

How It Compares

Kling V3Seedance 2.0Sora 2Hailuo 2.3
Documented video resolution720p / 1080pup to 1080pup to 1080pup to 1080p
Multi-shotSupportedSupportedVerify current endpointVerify current endpoint
Native audioSupportedSupportedSupportedVerify current endpoint
Reference controlsSubject and scene referencesImage, video, and audio referencesVerify current endpointImage-to-video support
Starting priceVerify live configurationVerify live configurationVerify live configurationVerify live configuration

Use this table as a test checklist, not an evergreen winner declaration. Verify every row against the active model pages, then compare the same prompts and output settings.

Quick Start

Video generation on LinkModel is async: POST /v1/videos/generations creates a task and returns a task_id; then GET /v1/videos/generations/{task_id} polls until the status flips to "Success" and a file_url is ready.

curl

# Step 1: create the task
curl -X POST https://api.linkmodel.ai/v1/videos/generations \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "kling-v3",
    "prompt": "A golden retriever running through autumn leaves, slow motion, cinematic lighting",
    "resolution": "1080P",
    "duration": 10,
    "size": "16x9",
    "extends": {
      "audio": true,
      "cfg_scale": 0.7
    }
  }'
# → { "code": 0, "data": { "task_id": "abc123" }, ... }

# Step 2: poll until status = "Success"
curl "https://api.linkmodel.ai/v1/videos/generations/abc123" \
  -H "Authorization: Bearer YOUR_API_KEY"
# → { "code": 0, "data": { "task_id": "abc123", "status": "Success", "file_url": "https://.../out.mp4" }, ... }

Python (end-to-end)

import time
import requests

API_KEY = "YOUR_API_KEY"
BASE = "https://api.linkmodel.ai/v1/videos/generations"
HEADERS = {"Authorization": f"Bearer {API_KEY}", "Content-Type": "application/json"}

create = requests.post(
    BASE,
    headers=HEADERS,
    json={
        "model": "kling-v3",
        "prompt": (
            "A golden retriever running through autumn leaves, "
            "slow motion, cinematic lighting"
        ),
        "resolution": "1080P",
        "duration": 10,
        "size": "16x9",
        "extends": {"audio": True, "cfg_scale": 0.7},
    },
).json()

if create["code"] != 0:
    raise RuntimeError(f"create failed: {create['msg']}")

task_id = create["data"]["task_id"]

while True:
    time.sleep(3)
    poll = requests.get(
        f"{BASE}/{task_id}",
        headers={"Authorization": f"Bearer {API_KEY}"},
    ).json()
    status = poll["data"]["status"]
    if status == "Success":
        video_url = poll["data"]["file_url"]
        print(video_url)
        break
    if status == "Failed":
        raise RuntimeError(f"generation failed: {poll['msg']}")

Values of status are "Processing", "Success", or "Failed". Every response uses the standard envelope { code, data, msg, request_id }.

Image-to-Video

Seed generation from a starting frame by adding a first_frame_image URL to the create call. The poll flow is identical:

curl -X POST https://api.linkmodel.ai/v1/videos/generations \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "kling-v3",
    "prompt": "Camera slowly orbits the product, studio lighting, white background",
    "first_frame_image": "https://your-cdn.com/product.jpg",
    "resolution": "1080P",
    "duration": 8,
    "size": "16x9"
  }'

Parameter Reference

ParameterTypeOptionsDefault
modelstringkling-v3—
promptstring——
first_frame_imageURL—null
last_frame_imageURL—null
resolutionstring720P, 1080P720P
durationint3–155
sizestring16x9, 1x1, 9x1616x9
extends.audiobool—false
extends.cfg_scalefloat0–10.5
extends.negative_promptstring—null

Full API documentation at docs.linkmodel.ai.

Production Patterns

E-commerce batch generation: Loop product images through image-to-video with templated prompts. Forecast from the exact duration, resolution, and audio configuration rather than multiplying a starting price across unlike jobs.

Social media pipeline: Generate 9:16 vertical content for TikTok/Reels. Pair with GPT Image 2 for thumbnail generation.

Multi-shot narratives: Use documented multi-shot controls and consistent subject references for brand stories. Validate continuity across cuts before scaling the workflow.

Cost at Scale

Export the returned charge for each completed job and group it by duration, resolution, audio mode, and acceptance result. The useful production metric is total generation spend ÷ accepted seconds; a starting per-call price is not enough to forecast a mixed workload.

Next Steps

Try Kling V3 with trial credit

Use the credit shown in your account to validate Kling V3 on representative prompts. The number of generations depends on the live configuration price and retry rate.

Make the Video Job Idempotent

Video generation is asynchronous and comparatively expensive. Assign an idempotency key in your application, persist the provider task ID, and separate submission errors from polling errors. If polling times out, check the existing task again; do not immediately submit a duplicate.

Use bounded exponential backoff for status checks and stop after a maximum elapsed time. Store model ID, request parameters, returned cost, timestamps, and final asset metadata for support and reconciliation.

Preflight Inputs Before Spending

  • Validate image URL accessibility and MIME type.
  • Enforce supported duration, aspect ratio, and resolution.
  • Reject empty or excessively long prompts.
  • Confirm user rights and consent for reference people and voices.
  • Set a per-job dollar ceiling and a maximum retry count.

Evaluate Cost at Accepted-Clip Level

For 1,000 requested clips at $0.20 each, an 80% approval rate means about 1,250 attempts, or $250 in raw generation spend. At a 95% approval rate, about 1,053 attempts cost $210.60. The list price did not change; the workflow did.

Track acceptance by prompt class so you can route drafts, product motion, dialogue, and hero footage to the model or settings that finish with the fewest retries.

About the author

Claire Lowe

Claire Lowe

AI and API researcher at LinkMode

Claire Lowe is an AI and API researcher at LinkModel, specializing in generative AI models, API pricing, provider comparisons, and multimodal infrastructure. Her work is grounded in official documentation, primary-source pricing data, and hands-on research, with a focus on helping developers and businesses make informed decisions about AI models and API providers.

Related Posts