Kling motion control MCP: the kling-motion-control_create tool
Sume's hosted MCP has a paid kling-motion-control_create tool: one still plus a driving video up to 30 seconds. Its payload, billing, and when not to use it.

Yes, there is a Kling motion control tool on Sume's hosted MCP server: kling-motion-control_create. It takes one still image and a driving video of up to 30 seconds and returns a clip where the still follows the video's motion. It is a paid tool, so every call needs an idempotency_key, and it bills per second of driving video.
Runway's changelog lists "Kling Models on Runway MCP", including 3.0 Motion Control, on Sep 18 2026. That is a different MCP server; this page covers only Sume's.
What does the tool need in its payload?
The tool submits Kling 3.0 Motion Control through POST /v1/kling/3.0/motion-control, public model id kling/3.0/motion-control. The MCP tool description lists what it requires.
| Field | Rule |
|---|---|
| motion_video_url | Public HTTPS driving clip, max 30 s |
| duration_seconds | 1 to 30; the driving clip's length, for admission only |
| image_url or avatar_id / avatar_handle | Exactly one visual source; image_url with an avatar reference is rejected |
| prompt | Optional; steers appearance only, motion follows the video |
| keep_original_sound | Defaults to true; character_orientation defaults to video |
How is it billed and how do I preview the cost?
The tool description says a create bills per driving-video second through the wallet. dry_run=true returns a cost without submitting, and max_spend_usd is enforced when you send it. The tool is listed under paid generation on the MCP tools and gates page, next to generate_video and image_upscale_create.
What is a safe first call?
Start with dry_run=true and a short driving clip, so the cost is known before any spend. Send a payload with motion_video_url, duration_seconds, and one of image_url or an avatar reference. Do not add model, endpoint or provider_endpoint fields: the tool description says not to send them, because the tool already fixes the model. Set max_spend_usd if you want a hard ceiling; it is enforced when provided.
Because duration_seconds is described as the driving clip's length for admission only, set it to the clip's real length. The output length follows the driving clip, not the number you send.
How do I get the finished video?
Keep the request_id from the create call, wait with jobs_wait, then read jobs_result. The result has a media.sume.com video URL. Reuse the same idempotency_key on a retry rather than creating a second job.
When should I not use this tool?
Not for Kling 3.0 text-to-video or image-to-video, which go through generate_video with the model kling-3. Not for talking heads or UGC presenters, which use the avatar tools, and not for audio-driven clips. The tool description also says never to call generate_video with the motion-control id, because that call cannot carry a driving video.
For a REST walkthrough of the same model, see Kling motion control API in Python. For what a bad driving clip does, read reference video requirements.
Sources
Related posts
More in Integrations
- LangChain MCPAdapter: gate paid MCP tools
LangChain's MCPAdapter example gates tools on destructive_hint, but Sume's paid tools report false. Gate on read_only_hint instead, per the snapshot.
- LangGraph interrupt before a paid API call
Put LangGraph's interrupt() in its own node ahead of the node that calls a paid video API, because a resume re-runs the whole node from its top.
- Looping by Zapier: send one API request per item in a list
Looping by Zapier runs every later action once per list value, all in parallel, up to 500 times. Pace and key paid API calls to match.
- Make.com error handling: retry a paid API call without duplicates
Make.com has five error handlers; Retry stores the failed bundle and reruns it. Send a fixed Idempotency-Key so a rerun can't bill twice.
Written by Sume