Kling 2.6 Motion Control
Kling 2.6 motion control: the person in one picture performs the motion of one reference video. The output runs as long as the clip (3-10 s with character_orientation=image, 3-30 s with video); there is no duration field. std or pro mode; the clip's own sound can be kept. Billed per output second.
Price
$0.05712/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 2.6 Motion Control",
"prompt": "A cinematic scene with careful composition",
"images": [
"https://example.com/reference.png"
],
"videos": [
"example"
],
"mode": "std",
"metadata": {
"character_orientation": "video",
"keep_original_sound": "yes",
"video_urls": [
"https://example.com/source.mp4"
]
},
"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-v2-6-motion-controlpromptOptional. Motion, camera and style notes; the reference video drives the movement.
imagesExactly one public picture of the person who performs the motion (a clear full or half body works best).
videosExactly one public mp4/mov reference video, at least 3 s and up to 100 MB, whose motion is copied. The output is as long as this clip.
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 2.6 Motion Control",
"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.05712/s
$0.0714
Tiered pricing
Base price $0.05712/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.
- std×1$0.05712/s
- pro×1.600840336134$0.09144/s
The price shown here is exactly what you are billed — failed calls are refunded automatically.
Related models