Skip to main content
Glama

photo-to-video

Create a first frame with Muse, then animate one small movement with MiniMax H3 Spicy at 480p for five seconds. Change the still and motion briefs together. Inspect object stability and motion; a s… text:Still brief -> text:Motion brief -> image:First frame -> ivideo:Animated clip; returns video (image-to-video) saved to disk (file path in result). Runs on NanoGPT — $0.51 deposit per call, paid in Nano (XNO) — settles at actual model cost + 20%, change returned; no account needed; last run $0.21, ~1m 30s. Example: Reviewed sample (https://nanoodle.com/examples/gallery/#photo-to-video). A short tea-on-a-desk animation. Sampled frames retained the mug while steam moved. This thumbnail is one frame; the example does not establish a seamless loop.

Tool call template

This tool declares no required parameters. Add optional parameters from the input schema as needed.

{
  "id": 1,
  "jsonrpc": "2.0",
  "method": "tools/call",
  "params": {
    "arguments": {},
    "name": "photo-to-video"
  }
}

Input Schema

NameRequiredDescriptionDefault
Still_briefNoText; default: "A ceramic mug of hot tea on an oak desk beside a closed notebook. Soft morning window light from the left, plain warm..."; optional
_payment_idNoPayment id from this tool's previous payment-required response. Phase 3 only: after /x402/watch closes with status paid, call again with the same arguments plus this id to open the RESULTS stream. Do not pass it while payment is still pending — monitor the watch SSE first.
Motion_briefNoText; default: "Locked camera for five seconds. A thin wisp of steam rises slowly from the tea and curls gently in the window light. ..."; optional

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed5 schema fields changed
    • addedInput schema / properties / Motion_brief
      Added value: +{
      +  "description": "Text; default: \"Locked camera for five seconds. A thin wisp of steam rises slowly from the tea and curls gently in the window light. ...\"; optional",
      +  "type": "string"
      +}
    • addedInput schema / properties / Still_brief
      Added value: +{
      +  "description": "Text; default: \"A ceramic mug of hot tea on an oak desk beside a closed notebook. Soft morning window light from the left, plain warm...\"; optional",
      +  "type": "string"
      +}
    • removedInput schema / properties / motion_system_prompt
      Removed value: -{
      -  "description": "Text; default: \"You are writing a motion prompt for MiniMax H3 Spicy image-to-video.\\nPrompting guide:\\n1. Be specific. Name subjects, ...\"; optional",
      -  "type": "string"
      -}
    • removedInput schema / properties / movement
      Removed value: -{
      -  "description": "Text; default: \"she takes one careful step down the fire-escape grate, red silk billows sideways in a wet gust, camera slow orbit rig...\"; optional",
      -  "type": "string"
      -}
    • removedInput schema / properties / the_image_being
      Removed value: -{
      -  "description": "Text; default: \"photoreal fashion editorial, adult woman STANDING upright full-body three-quarter view on a wet Tokyo fire-escape lan...\"; optional",
      -  "type": "string"
      -}
  2. Changed3 schema fields changed
    • changedInput schema / properties / motion_system_prompt / description
      Previous value: -"Text; default: \"You are animating this image for ltx-2.3.\\nPromptig guide:\\n1. Be More Specific. The Engine Can Handle It.\\nLTX-2.3 incl...\"; optional"New value: +"Text; default: \"You are writing a motion prompt for MiniMax H3 Spicy image-to-video.\\nPrompting guide:\\n1. Be specific. Name subjects, ...\"; optional"
    • changedInput schema / properties / movement / description
      Previous value: -"Text; default: \"sailing very fast in rough seas\"; optional"New value: +"Text; default: \"she takes one careful step down the fire-escape grate, red silk billows sideways in a wet gust, camera slow orbit rig...\"; optional"
    • changedInput schema / properties / the_image_being / description
      Previous value: -"Text; default: \"a tiny sailboat on a glowing bioluminescent sea, night, stars\"; optional"New value: +"Text; default: \"photoreal fashion editorial, adult woman STANDING upright full-body three-quarter view on a wet Tokyo fire-escape lan...\"; optional"
  3. First observed

TDQS

A3.8/5.0
Behavior5/5

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

With zero annotations the description carries the full burden and does so: it discloses the payment model (0.51 deposit in Nano, settles at model cost +20%, change returned, no account), expected latency (~1m30s), a real prior run cost, output persisted to disk with a file path in the result, and an honesty caveat that the example does not prove a seamless loop.

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

Conciseness3/5

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

The workflow and cost facts are front-loaded, but the body is a run-on with a truncated fragment ('a s…') and a paragraph of example/thumbnail caveats. Most sentences earn their place, yet the density could be tightened considerably.

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

Completeness4/5

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

No output schema exists, and the description correctly explains that a video is written to disk with the path in the result. Cost, latency, and the iterative loop are covered, and the _payment_id phase sequencing is handled in the schema. What is missing is any statement of failure modes or what happens on a rejected/refunded payment.

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

Parameters3/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; the schema already documents all three parameters including defaults and the _payment_id sequencing rules. The description adds modest value by tying Still_brief to the first frame and Motion_brief to the animation and by advising they be changed together, but nothing about formats or constraints beyond 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 description names a concrete two-stage pipeline: a first frame from Muse, then a 5-second 480p animation from MiniMax H3 Spicy. That is a specific verb+resource an agent can act on. It does not explicitly contrast itself with siblings like storyboard-relay or tiny-world-film, so it stops short of a 5.

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

Usage Guidelines3/5

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

It gives iteration guidance ('Change the still and motion briefs together', 'Inspect object stability and motion'), which implies re-running with revised briefs. However, there is no statement of when to choose this over a sibling tool or what inputs make it unsuitable; usage must be inferred.

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.