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.

4 min readSume
All posts

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.

kling-motion-control_create payload as described in the tool text, read 2026-09-29.
FieldRule
motion_video_urlPublic HTTPS driving clip, max 30 s
duration_seconds1 to 30; the driving clip's length, for admission only
image_url or avatar_id / avatar_handleExactly one visual source; image_url with an avatar reference is rejected
promptOptional; steers appearance only, motion follows the video
keep_original_soundDefaults 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

All Integrations posts

Written by Sume