Kling 3.0 Motion Control Pro API: AI Video Editing

Edit and transform videos with Kling 3.0 Motion Control Pro via the Muapi REST API. Pay per generation — no subscription needed.

Interactive model controls

Kling V3.0 Pro Motion Control provides the highest level of detail and control for video generation. Suitable for professional workflows requiring complex cinematic camera work and subject consistency.

Kling 3.0 Motion Control Pro API Reference

Endpoint

POST https://api.muapi.ai/api/v1/kling-v3.0-pro-motion-control

Submit a job with your Muapi API key in the x-api-key header, then poll https://api.muapi.ai/api/v1/predictions/{request_id}/result until status is completed.

Parameters

NameTypeRequiredDescription
promptstringNoText prompt describing the desired motion.
image_urlstringYesURL of the input image.
video_urlstringYesURL of the input video.
character_orientationstringNoHint: When character_orientation is ”video“: maximum 30 seconds,When character_orientation is “image”: maximum 10 seconds.Options: image, videoDefault: "image"
keep_original_soundbooleanNoSelect whether to keep the video original sound through the parameter.Default: true

cURL example

REQUEST_ID=$(curl -s -X POST https://api.muapi.ai/api/v1/kling-v3.0-pro-motion-control \
  -H "x-api-key: $MUAPI_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"image_url":"https://example.com/your-image_url","video_url":"https://example.com/your-video_url"}' | jq -r .request_id)

curl -s https://api.muapi.ai/api/v1/predictions/$REQUEST_ID/result -H "x-api-key: $MUAPI_API_KEY"

Python example

import os, time, requests

API = "https://api.muapi.ai/api/v1"
headers = {"x-api-key": os.environ["MUAPI_API_KEY"]}

r = requests.post(f"{API}/kling-v3.0-pro-motion-control", headers=headers, json={"image_url":"https://example.com/your-image_url","video_url":"https://example.com/your-video_url"})
request_id = r.json()["request_id"]

while True:
    res = requests.get(f"{API}/predictions/{request_id}/result", headers=headers).json()
    if res["status"] == "completed":
        print(res["outputs"]); break
    if res["status"] == "failed":
        raise RuntimeError(res.get("error"))
    time.sleep(3)

Full docs and agent/MCP integration: llms.txt. Get an API key at muapi.ai/access-keys.