Skip to main content
Glama

Animate a photo

animate_photo

Turn photo(s) into a short video. With effect (from list_effects) the effect decides the motion; without it the photo is animated following prompt. Costs credits. Returns a task_id; poll get_video for the result (usually 1–5 minutes).

Tool call template

Replace each placeholder with a value matching the input schema. Only required parameters are included; add optional parameters as needed.

{
  "id": 1,
  "jsonrpc": "2.0",
  "method": "tools/call",
  "params": {
    "arguments": {
      "image_urls": "<image_urls>"
    },
    "name": "animate_photo"
  }
}

Input Schema

NameRequiredDescriptionDefault
effectNoEffect id from list_effects. Omit for a free-form animation.
promptNoMotion description for free-form animation, or extra instructions for an effect.
image_urlsYesPublic https image URLs (or data:image/...;base64 URLs), in the order the effect asks for. Usually one photo.

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A4.4/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations only declare readOnly=false and openWorld=true; the description adds the context an agent actually needs: the call costs credits, it is asynchronous and returns a task_id rather than a video, and the caller must poll get_video with a typical 1–5 minute turnaround. That is real behavioral disclosure beyond the structured fields, with no contradiction.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Four short sentences, front-loaded with the action, then mode selection, then cost, then the result-handling contract. No sentence is redundant and the polling instruction is placed last where an agent needs it.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a 3-parameter async generation tool with no output schema, the description covers everything an agent must know to call it and handle the result: cost, task_id return, poll target, and expected latency. Remaining details (credit amount, failure/refund behavior) are marginal against a 100%-covered schema and present annotations.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so the baseline is 3, but the description adds the semantic relationship between the two optional params: `effect` overrides motion and `prompt` becomes supplementary instructions, or `prompt` alone drives a free-form animation. It still does not clarify multi-image ordering or the 1–4 image limit, which stays entirely in the schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The opening sentence states a specific verb and resource ('Turn photo(s) into a short video'), and the two-mode framing (effect-driven vs prompt-driven) makes clear what the tool actually produces. It never names create_video as the text-to-video counterpart, so differentiation from the closest sibling is left implicit rather than stated.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

It gives a clear decision rule for the two invocation modes ('With `effect` ... the effect decides the motion; without it ... following `prompt`') and routes the agent to list_effects for valid effect ids and to get_video for results. What is missing is an explicit exclusion — e.g., when to prefer create_video or restore_photo over this tool.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

Resources