Kling 1.x / 2.1 · Std
46
credits / second
= $0.046 USD / second
Official: $0.05−8%
- model_name
- kling-v1, kling-v1-5, kling-v1-6, kling-v2-1
- quality_mode
- std
Kuaishou
Available via APIVideo GenerationKling VIDEO 2.6 generates 5 or 10 second clips with optional native audio, including dialogue, narration, and sound effects, from text or one image.
kling-aiNew accounts start with $0.20 in free credits, about 5 seconds of video at the starting price.
Compare all Kling API versionsKling AI is developed by Kuaishou. Wizzx provides API access to it and does not own the model. All trademarks belong to their respective owners.
Need a first frame? Create one with
Model Guide
Kling VIDEO 2.6 generates 5 or 10 second clips with optional native audio, including dialogue, narration, and sound effects, from text or one image.
Kling VIDEO 2.6 is Kuaishou's first "native audio" model. Instead of producing silent footage and adding voiceover afterwards, it generates picture and sound in one pass. Kling lists narration, multi-person dialogue, singing or rap, ambient sound, and object or action sound effects as supported audio types, for both text-to-video and image-to-video.
In Wizzx, Kling 2.6 is served through the kling-ai model key with the kling-v2-6 version in professional mode. Choose it when a short clip needs to speak or sound right on the first render; choose Kling v3 when you need any whole-number duration from 3 to 15 seconds.
| Wizzx control | Current behavior |
|---|---|
| Prompt | Required, up to 2,500 characters |
| Generation type | Text to video (default), or image to video with exactly 1 input image |
| End frame | Optional image for the last frame; image-to-video only |
| Duration | 5 seconds (default) or 10 seconds |
| Aspect ratio | 16:9 (default), 9:16, or 1:1 |
| Audio | Off by default; turning it on adds native audio at a higher per-second rate |
| Quality mode | Fixed to professional (pro); standard mode is not offered for this model |
| Negative prompt | Optional, up to 2,500 characters |
Describe the action first, then the line that goes with it. Kling's guide recommends unique, consistent character labels instead of pronouns, for example [Detective, low raspy voice]: "Don't move.", with the spoken text in quotation marks and an emotion or tone tag for each speaker. Use linking words such as "then" or "immediately" to control who speaks when. Speech output is Chinese or English; Kling says other languages are translated to English for the voice. In English lines, write ordinary words in lowercase and keep capitals for acronyms and proper nouns. For image to video, upload a high-resolution image, because output quality depends heavily on the input.
Wizzx exposes text to video and image to video with one input image, an optional end frame in image-to-video mode, 5 or 10 seconds, three aspect ratios, and an audio on/off switch. Kling's platform-only features, such as binding named voices with @, voice creation, and Motion Control, are not available through this model key. Audio and duration determine the cost; live rates are shown in the pricing section on this page.
Backend pricing
Model identity, billing unit and every price tier below are read from the backend catalog.
46
credits / second
= $0.046 USD / second
Official: $0.05−8%
92
credits / second
= $0.092 USD / second
Official: $0.10−8%
240
credits / second
= $0.24 USD / second
Official: $0.28−14%
36
credits / second
= $0.036 USD / second
Official: $0.04−10%
65
credits / second
= $0.065 USD / second
Official: $0.07−7%
65
credits / second
= $0.065 USD / second
Official: $0.07−7%
130
credits / second
= $0.13 USD / second
Official: $0.14−7%
| Tier | Official from | Wizzx | Savings |
|---|---|---|---|
| Kling 1.x / 2.1 · Std | $0.05 | $0.046 | −8% |
| Kling 1.x / 2.1 · Pro | $0.10 | $0.092 | −8% |
| Kling 2.1 Master | $0.28 | $0.24 | −14% |
| Kling 2.5 Turbo · Std | $0.04 | $0.036 | −10% |
| Kling 2.5 Turbo · Pro | $0.07 | $0.065 | −7% |
| Kling 2.6 · No sound | $0.07 | $0.065 | −7% |
| Kling 2.6 · With sound | $0.14 | $0.13 | −7% |
1 credit = $0.001 USD. The final deduction returned by the API is authoritative.
Back to all modelsEvery request is asynchronous: submit the task, keep the task ID, then poll for the result. The body below uses the model's default settings.
Sign in and create a key in the dashboard. Set WIZZX_API_KEY in your server environment; never expose it in browser code.
Send a POST request to the model endpoint. A successful submission returns data.task_id; keep that ID before polling. Submission is not generation completion.
Replace YOUR_TASK_ID with the returned ID and query /api/v1/task/status. Wait for SUCCEEDED and read the output URLs. Stop on FAILED or REVIEW_REQUIRED; do not automatically resubmit an uncertain task.
curl -X POST \
https://api.wizzx.ai/api/v1/task/submit/kling-ai \
-H "Authorization: Bearer $WIZZX_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"type": "text-to-video",
"quality_mode": "pro",
"duration": 5,
"model_name": "kling-v2-6",
"aspect_ratio": "16:9",
"sound": "off",
"prompt": "A slow aerial push-in over a coastal cliff road at golden hour, cinematic motion"
}'const response = await fetch("https://api.wizzx.ai/api/v1/task/submit/kling-ai", {
method: "POST",
headers: {
Authorization: `Bearer ${process.env.WIZZX_API_KEY}`,
"Content-Type": "application/json",
},
body: JSON.stringify({
"type": "text-to-video",
"quality_mode": "pro",
"duration": 5,
"model_name": "kling-v2-6",
"aspect_ratio": "16:9",
"sound": "off",
"prompt": "A slow aerial push-in over a coastal cliff road at golden hour, cinematic motion"
}),
});
const payload = await response.json();
const task = payload.data ?? payload;
const taskId = task.task_id;import os
import requests
response = requests.post(
"https://api.wizzx.ai/api/v1/task/submit/kling-ai",
headers={
"Authorization": f"Bearer {os.environ['WIZZX_API_KEY']}",
},
json={
"type": "text-to-video",
"quality_mode": "pro",
"duration": 5,
"model_name": "kling-v2-6",
"aspect_ratio": "16:9",
"sound": "off",
"prompt": "A slow aerial push-in over a coastal cliff road at golden hour, cinematic motion"
},
)
payload = response.json()
task = payload.get("data", payload)
task_id = task["task_id"]curl -X POST \
https://api.wizzx.ai/api/v1/task/status \
-H "Authorization: Bearer $WIZZX_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"task_id": "YOUR_TASK_ID"
}'const response = await fetch("https://api.wizzx.ai/api/v1/task/status", {
method: "POST",
headers: {
Authorization: `Bearer ${process.env.WIZZX_API_KEY}`,
"Content-Type": "application/json",
},
body: JSON.stringify({ task_id: "YOUR_TASK_ID" }),
});
const payload = await response.json();
const task = payload.data ?? payload;import os
import requests
response = requests.post(
"https://api.wizzx.ai/api/v1/task/status",
headers={
"Authorization": f"Bearer {os.environ['WIZZX_API_KEY']}",
},
json={"task_id": "YOUR_TASK_ID"},
)
payload = response.json()
task = payload.get("data", payload)The fields this endpoint accepts on Wizzx, read from the same schema as the Playground form.
| Parameter | Type | Default | Allowed values | Description |
|---|---|---|---|---|
promptPromptrequired | string | — | ≤ 2,500 | Describe the video you want to generate |
typeGeneration Typerequired | string | text-to-video | text-to-video · image-to-video | — |
image_urlsInput Image | url[] ≤ 1 | — | — | Required in Image to video mode. Add exactly 1 image. |
image_tailEnd Frame Image | url | — | — | Image for the last frame (mutually exclusive with masks/camera) |
negative_promptNegative Prompt | string | — | ≤ 2,500 | What you don't want in the video |
durationDurationrequired | integer | 5 | 5 · 10 | Video duration in seconds |
aspect_ratioAspect Ratio | string | 16:9 | 16:9 · 9:16 · 1:1 | — |
soundAudio Generation | string | off | off · on | Adding synchronized audio changes the per-second rate. |
Wizzx API
New accounts get $0.20 in free credits. Pay as you go with no subscription, and failed tasks are refunded.