Kling

Kling video (o1 / v3 / v3-omni) — text/image-to-video, audio, negative prompt, first/last frame (tested live)

Kling goes through the unified POST /api/v2/video/generate — just set model to a Kling variant.

Base URL: https://api.aiclonevoicefree.comAuth: Authorization: Bearer sk_... Tested live: kling-v3 produces real videos.

Call

POST /api/v2/video/generate, Kling-specific / common params:

FieldNotes
modelkling-video-o1 (default, reasoning) / kling-v3 / kling-v3-omni
prompt✅ Video description
modestd / pro / 4k (o1 has no 4k)
durationSeconds; o1: 5/10; v3, v3-omni: 3–15
aspect_ratio16:9 / 9:16 / 1:1
image_urlsImage-to-video, up to 2 (first/last frame); or first_frame_url / last_frame_url
last_frame_imagekling-v3 only: tail frame
negative_promptkling-v3 only
audiov3 / v3-omni: generate audio
watermarkv3 / v3-omni: watermark

Billing (video credits, per second)

modelstdpro4k
kling-video-o13344
kling-v333 (audio 50)44 (audio 66)210
kling-v3-omni33 (audio 44)44 (audio 55)210

Examples: cost = ceil(duration × per-second rate)

  • kling-v3 std 5s no audio = 33 × 5 = 165 credits
  • kling-v3 std 5s with audio = 50 × 5 = 250 credits
  • kling-v3 pro 10s with audio = 66 × 10 = 660 credits
  • kling-v3 4k 5s = 210 × 5 = 1050 credits

Returns 402 (with required / balance) at submit if video credits are insufficient; auto-refunded if the task fails.

Text-to-video

curl -X POST https://api.aiclonevoicefree.com/api/v2/video/generate \
  -H "Authorization: Bearer sk_your_api_key" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "kling-v3",
    "prompt": "a corgi running under cherry blossoms, cinematic",
    "mode": "std",
    "duration": 5,
    "aspect_ratio": "16:9",
    "audio": true
  }'

Image-to-video (first frame)

curl -X POST https://api.aiclonevoicefree.com/api/v2/video/generate \
  -H "Authorization: Bearer sk_your_api_key" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "kling-v3",
    "prompt": "slow dolly-in",
    "image_urls": ["https://your-cdn.com/first-frame.jpg"],
    "mode": "std",
    "duration": 5
  }'

Response 202{ "task_id": "...", "status": "pending", "capability": "video", "model": "kling-v3" }

Getting the result

Poll GET /api/v2/tasks/{task_id}; on completion result.videoUrl is the result URL. See Tasks.

On this page