API reference · KwaiVGI

kwaivgi/kling-video/v2.6/pro/motion-control

Integrate this model through SandBase's unified API, with production-ready schemas and examples.

IMAGEAsyncOpen model
Production endpoint

Send your first request

OpenAI-compatible endpoint with unified authentication and usage tracking.

POSThttps://api.sandbase.ai/v1/run
Model IDkwaivgi/kling-video/v2.6/pro/motion-control
01

Input Schema

5 parameters · 2 required · 3 optional

ParameterTypeRequiredDescription
imagestringRequiredReference image URL. The characters, backgrounds, and other elements in the generated video are based on this reference image. Characters should have clear body proportions, avoid occlusion, and occupy more than 5% of the image area.
promptstringRequiredMax length: 2500
videostringOptionalReference video URL. The character actions in the generated video will be consistent with this reference video. Should contain a realistic style character with entire body or upper body visible, including head, without obstruction. Duration limit depends on character_orientation: 10s max for 'image', 30s max for 'video'.
keep_original_soundbooleanOptionalWhether to keep the original sound from the reference video. · Default: true
character_orientationstringOptionalControls whether the output character's orientation matches the reference image or video. 'video': orientation matches reference video - better for complex motions (max 30s). 'image': orientation matches reference image - better for following camera movements (max 10s). · Options: image, video
imagevideo
02

Output Schema

FieldTypeDescription
idstringUnique identifier for the generation task
statusstringTask status: pending, running, completed, failed, timeout
modelstringModel used for the generation
outputsarrayArray of output items
outputs[].urlstringURL of the generated artifact
outputs[].content_typestringMIME type (e.g. image/png, video/mp4)
errorobject | nullError details if failed, null on success
error.typestringMachine-readable error type code
error.messagestringHuman-readable error description

Async Workflow

This model uses asynchronous execution. Submit a request and poll for the result.

  1. Submit — POST to /v1/run, receive an id
  2. Poll — GET /v1/run/{id} until status is completed, failed, or timeout
  3. Retrieve — Read outputs from the completed response
03

Code Examples

Ready-to-run snippets

# Step 1: Submit
curl -X POST https://api.sandbase.ai/v1/run \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -d '{
  "model": "kwaivgi/kling-video/v2.6/pro/motion-control",
  "image": "https://static.sandbase.ai/examples/mirrored/39c314d0257c-VHtWK5BZMa-XoT6gahJKS_077.png",
  "video": "https://static.sandbase.ai/examples/mirrored/364bdb1d674a-3nvl30ic9g2otKRcOV5nO_output.mp4",
  "prompt": "An african american woman dancing",
  "keep_original_sound": true,
  "character_orientation": "video"
}'

# Step 2: Poll result (replace <id>)
curl https://api.sandbase.ai/v1/run/<id> \
  -H "Authorization: Bearer YOUR_API_KEY"