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.com| Auth:Authorization: Bearer sk_...Tested live: kling-v3 produces real videos.
Call
POST /api/v2/video/generate, Kling-specific / common params:
| Field | Notes |
|---|---|
model | kling-video-o1 (default, reasoning) / kling-v3 / kling-v3-omni |
prompt | ✅ Video description |
mode | std / pro / 4k (o1 has no 4k) |
duration | Seconds; o1: 5/10; v3, v3-omni: 3–15 |
aspect_ratio | 16:9 / 9:16 / 1:1 |
image_urls | Image-to-video, up to 2 (first/last frame); or first_frame_url / last_frame_url |
last_frame_image | kling-v3 only: tail frame |
negative_prompt | kling-v3 only |
audio | v3 / v3-omni: generate audio |
watermark | v3 / v3-omni: watermark |
Billing (video credits, per second)
| model | std | pro | 4k |
|---|---|---|---|
kling-video-o1 | 33 | 44 | — |
kling-v3 | 33 (audio 50) | 44 (audio 66) | 210 |
kling-v3-omni | 33 (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(withrequired/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.