720p · No sound
130
credits / second
= $0.13 USD / second
- generate_audio
- false
- resolution
- 720p
Kuaishou
Available via APIVideo GenerationCombine up to 7 reference images, or first and last frames, into one Kling VIDEO 3.0 Omni clip at 720p or 1080p.
kling-v3-omniNew accounts start with $0.20 in free credits, about 1 second of video at the starting price.
Compare all Kling API versionsKling v3 Omni 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
Combine up to 7 reference images, or first and last frames, into one Kling VIDEO 3.0 Omni clip at 720p or 1080p.
Kling v3 Omni is Kuaishou's Kling VIDEO 3.0 Omni model. Kling positions Omni around references: its guide describes combining up to 7 images or elements, building consistent characters, and generating up to 15 seconds with native audio.
Wizzx exposes the image side of that workflow. Besides text-to-video and first/last-frame video, kling-v3-omni accepts 1–7 reference images for subjects, scenes, or styles, and you can point to each one in the prompt.
| Wizzx control | Current behavior |
|---|---|
| Prompt | Required, up to 2,500 characters; cite references as <<<image_1>>> … <<<image_N>>> |
| Mode | Text to video, image to video (1–2 frames), or reference to video (1–7 images) |
| Resolution | 720p (standard mode, default) or 1080p (professional mode) |
| Duration | Any whole number from 3 to 15 seconds, default 5 |
| Audio | Off by default; turn on native audio at a higher per-second rate |
| Aspect ratio | 16:9, 9:16, or 1:1 |
| Reference images | Not charged |
Number references in the order you upload them and name their role, for example "the jacket from <<<image_2>>>". If the prompt cites no image, <<<image_1>>> is added automatically, so put the main subject first. Keep one clear action per clip and describe the camera separately.
Wizzx returns one video per request without a watermark. Resolution and audio select the per-second rate, duration sets the total, and reference images are free; the live amounts come from the backend catalog. Reference videos, voice binding, multi-shot storyboards, element libraries, and 4K are not exposed for this model.
Backend pricing
Model identity, billing unit and every price tier below are read from the backend catalog.
130
credits / second
= $0.13 USD / second
173
credits / second
= $0.173 USD / second
173
credits / second
= $0.173 USD / second
216
credits / second
= $0.216 USD / second
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-v3-omni \
-H "Authorization: Bearer $WIZZX_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"type": "text-to-video",
"resolution": "720p",
"duration": 5,
"generate_audio": false,
"aspect_ratio": "16:9",
"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-v3-omni", {
method: "POST",
headers: {
Authorization: `Bearer ${process.env.WIZZX_API_KEY}`,
"Content-Type": "application/json",
},
body: JSON.stringify({
"type": "text-to-video",
"resolution": "720p",
"duration": 5,
"generate_audio": false,
"aspect_ratio": "16:9",
"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-v3-omni",
headers={
"Authorization": f"Bearer {os.environ['WIZZX_API_KEY']}",
},
json={
"type": "text-to-video",
"resolution": "720p",
"duration": 5,
"generate_audio": False,
"aspect_ratio": "16:9",
"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 · reference-to-video | — |
image_urlsInput Images | url[] ≤ 7 | — | — | Image to video: 1-2 frames (first, last). Reference to video: 1-7 references, cited in the prompt as <<<image_1>>>, <<<image_2>>>, and so on. Reference images are not charged. |
resolutionResolution | string | 720p | 720p · 1080p | Resolution and audio select the per-second rate. |
durationDuration | integer | 5 | 3 – 15 | Video duration in seconds. Duration determines the total. |
generate_audioGenerate Audio | boolean | false | — | Generate native audio. This changes the rate. |
aspect_ratioAspect Ratio | string | 16:9 | 16:9 · 9:16 · 1:1 | With a first frame, the image's ratio may take precedence. |
negative_promptNegative Prompt | string | — | ≤ 2,500 | What you don't want in the video (max 2500 characters) |
Wizzx API
New accounts get $0.20 in free credits. Pay as you go with no subscription, and failed tasks are refunded.