MCP wrong_tool from generate_video: lip sync and motion control

Sume's generate_video refuses minimax/h3-max/lip-sync and the Kling 3.0 motion-control model with wrong_tool. next_action names the tool to call instead.

4 min readSume
All posts

generate_video is Sume's general video tool on the hosted MCP server, and a model that knows one model id may try to send any video model through it. Two model ids do not belong there, and the server says so with the code wrong_tool instead of sending a request that could never succeed.

The two redirects

If the payload model is minimax/h3-max/lip-sync, the error says generate_video cannot lip-sync a still to audio. It points to avatar-image-to-video_create with that model, an image_url or an avatar reference, and a Sume-hosted audio_url of 5 to 14.8 seconds. The data carries path model, the tool generate_video, and next_action call_avatar_image_to_video_create.

If the model is the Kling 3.0 motion-control model, kling/3.0/motion-control, the error says generate_video cannot carry a driving video. It points to kling-motion-control_create with an image_url or avatar plus a motion_video_url. The next_action is call_kling_motion_control_create.

Why the check lives in the tool

A text-to-video call takes a prompt. A lip-sync call needs audio, and a motion-control call needs a driving clip. A model that is handed a generic video tool and an unfamiliar model id will often fill the prompt and hope. The check runs before admission, so there is no job, no hold and nothing to refund.

wrong_tool redirects in Sume's MCP payload rules (read 2026-10-05)
Model in generate_videoCall insteadExtra fields needed
minimax/h3-max/lip-syncavatar-image-to-video_createimage_url or avatar, audio_url, duration_seconds
kling/3.0/motion-controlkling-motion-control_createimage_url or avatar, motion_video_url, duration_seconds

Handling next_action in an agent

Do not retry generate_video with a different prompt. Read data.next_action, switch tools, and carry the same idempotency_key to the new call, because the first call did not run. If the agent loop uses a fixed tool allowlist, make sure both target tools are on it, or the redirect has nowhere to land.

This is also a reason to read tools/list at the start of a session instead of caching tool names from a blog post.

Sources

Related posts

More in Integrations

All Integrations posts

Written by Sume