Kling V3 Omni
Kling V3 Omni asynchronous video generation. Text-to-video, image-to-video and first/last-frame generation at std 720P, pro 1080P or 4K for 3-15 seconds; up to 3 reference subjects (element_list, @name); multi-shot of 1-6 shots; and one video clip that is either edited in place (refer_type base, optionally keeping its own sound) or learned from (feature). Audio generation is not available beside a video.
Price
$0.0672/s
Endpoint
/videos
Delivery pattern
Async task lifecycle
Availability
Available now
API documentation
Build and copy the request
Choose the options this model accepts. The code below updates as you choose.
https://www.aisplice.store/v1/videosBearer API keyAsync taskOptionsOnly options published for this model are shown.
# Requires curl and jq
API_KEY="${API_KEY:-YOUR_API_KEY}"
# 1. Submit once
SUBMITTED=$(curl --fail-with-body -sS https://www.aisplice.store/v1/videos \
-H "Authorization: Bearer $API_KEY" \
-H "Content-Type: application/json" \
-H "Idempotency-Key: model-docs-$(date +%s)-$$" \\
-d '{
"model": "Kling V3 Omni",
"prompt": "A cinematic scene with careful composition",
"mode": "std",
"duration": 5,
"size": "16:9",
"metadata": {
"watermark": false
},
"nsfw_check": false
}')
TASK_ID=$(printf '%s' "$SUBMITTED" | jq -r '.task_id // .id // empty')
if [ -z "$TASK_ID" ]; then
printf '%s\n' "$SUBMITTED" >&2
exit 1
fi
echo "task_id=$TASK_ID"
# 2. Poll until terminal
while true; do
STATUS_JSON=$(curl --fail-with-body -sS \
"https://www.aisplice.store/v1/videos/$TASK_ID" \
-H "Authorization: Bearer $API_KEY")
STATUS=$(printf '%s' "$STATUS_JSON" | jq -r '.status // empty' | tr '[:upper:]' '[:lower:]')
echo "status=$STATUS"
case "$STATUS" in
completed|succeeded|success) break ;;
failed|failure|cancelled|canceled)
printf '%s\n' "$STATUS_JSON" | jq .
exit 1
;;
esac
sleep 5
done
# 3. Fetch the final result
curl --fail-with-body -sS \
"https://www.aisplice.store/v1/videos/$TASK_ID/content" \
-H "Authorization: Bearer $API_KEY" | jq .- 1Submit the task
- 2Poll the status
- 3Fetch the content
This model requires public media URLs. Upload a local file first, then put public_url into the model request. Avoid large Base64 bodies.
Read the upload guideParameter reference
modelExact model identifier for this request.
kling-v3-omnipromptVideo prompt. Name a picture by position as <<<image_N>>>; a subject from element_list as @name.
durationOutput seconds from 3 to 15.
sizeSent to the model as its aspect ratio.
16:99:161:1imagesOne public URL is the first frame; two are first and last frames. Beside a video, or with image_reference_mode=multi, every picture is a subject reference instead.
videosOne public mp4/mov clip, at least 3 seconds, 720-2160 px, up to 200 MB. metadata.video_refer_type=base re-renders the clip in place (video editing); feature learns from it (reference). No audio switch is available beside a video.
Response lifecycle
Task status, terminal states, and result response examples.
Response lifecycle
Task status, terminal states, and result response examples.
{
"id": "task_xxx",
"task_id": "task_xxx",
"object": "video",
"model": "Kling V3 Omni",
"status": "queued"
}Waiting
queued · submitted · in_progress · processing
Success
completed · succeeded · success
Failure
failed · failure · cancelled · canceled
Errors and production
Retry rules, idempotency, and the minimum production checklist.
Errors and production
Retry rules, idempotency, and the minimum production checklist.
400 / 422Fix the request fields or unsupported option; do not retry unchanged.
401Check that the API key is present, active, and sent as a Bearer token.
402The account balance is insufficient.
409The Idempotency-Key is processing or was reused with another body.
429Back off according to Retry-After before retrying.
5xxRetry with exponential backoff and keep the original Idempotency-Key.
- Keep API keys on your server for public mobile and browser applications.
- Set a unique Idempotency-Key for every billable async operation.
- Persist task_id so polling can resume after a restart.
- Use a timeout for every HTTP request and surface the request ID in support reports.
- Read live model metadata instead of hard-coding prices and supported options.
Price and tiers
save 20% vs officialRequest price
$0.0672/s
$0.084
Tiered pricing
Base price $0.0672/s
Tier pricing — the final price depends on the options you request. Unlisted tiers bill at the base price. Billed per second of generated output.
- 16:9×1$0.0672/s
- 1:1×1$0.0672/s
- 9:16×1$0.0672/s
- std:false×1$0.0672/s
- pro:false×1.333333333333$0.0896/s
- std:true×1.333333333333$0.0896/s
- pro:true×1.666666666667$0.112/s
- 4k:false×6.377380952381$0.42856/s
- 4k:true×6.377380952381$0.42856/s
- 3×3$0.2016
- 4×4$0.2688
- 5×5$0.336
- 6×6$0.4032
- 7×7$0.4704
- 8×8$0.5376
- 9×9$0.6048
- 10×10$0.672
- 11×11$0.7392
- 12×12$0.8064
- 13×13$0.8736
- 14×14$0.9408
- 15×15$1.008
The price shown here is exactly what you are billed — failed calls are refunded automatically.
Related models