Skip to main content
Glama

Render key stills from a shot plan

soclo_image_frames
Destructive

Render the key stills a compatible shot plan already calls for: pass planId and the frames contract EXACTLY as the plan returned it (frameContractVersion, expectedFree, expectedCredits, pricingVersion) — Soclo refuses anything that does not match its own quote, so read the quote and never assume the price. Returns the finished frame images with their purposes. Frame URLs are SIGNED and expire in a few minutes: download or use them immediately rather than saving the links for later. The engine writes and renders the shots; do not ask for a camera by name. Retry safety: this requires a persisted clientRequestId — reuse the same one only for an identical retry, and read soclo_image_frames_result with the original clientRequestId after an interruption. Use this only if an existing compatible Soclo shot plan already supplied its planId and complete frames quote; do not substitute a host projectId or invent the contract.

Input Schema

NameRequiredDescriptionDefault
planIdYesRequired for frames: from an existing compatible Soclo shot plan with a complete frames quote, not a soclo_host_plan projectId.
expectedFreeYesRequired for frames: from the plan’s frames quote — read it, never assume.
pricingVersionYesFrom the authenticated native quote for this picture or enhancement; frames uses its own quote.
clientRequestIdYesRequired before generate: one stable UUID per picture purchase. Required before frames; recover and frames_result read the original UUID without a new render. Never retry an unknown outcome automatically or mint a replacement ID to bypass a duplicate refusal.
expectedCreditsYesRequired: use the exact authenticated native quote, including zero only when quoted for the owner-exempt account. Frames uses its own existing quote.
frameContractVersionYesRequired for frames: from the plan’s frames quote.

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A4.8/5.0
Behavior5/5

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

Annotations declare destructive/openWorld/non-idempotent, but the description adds substantially more: Soclo refuses anything not matching its own quote, frame URLs are SIGNED and expire in minutes, the engine writes/renders shots itself, and retries require a persisted clientRequestId reused only for identical retries. This is exactly the behavioral context annotations cannot carry.

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

Conciseness4/5

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

Dense but front-loaded: core purpose first, then contract requirements, return/expiry behavior, and retry safety. Each sentence carries operational weight, though it runs long and could split the expiry note from the contract note for faster scanning.

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?

No output schema exists, yet the description covers the return ('finished frame images with their purposes') and the ephemeral URL caveat. For a destructive, quote-gated, non-idempotent render call, everything an agent needs to invoke it correctly is present.

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 already 100%, but the description still adds meaning: it tells the agent to pass the frames contract EXACTLY as returned and to read the quote rather than assume the price, and explains clientRequestId retry semantics beyond the schema text. Slightly above the baseline for adding derivation guidance, though the field-level details largely duplicate the schema.

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

Purpose5/5

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

States a specific verb+resource (render the key stills a shot plan already calls for) and immediately scopes it to a compatible shot plan. An agent can distinguish it from soclo_image_generate or soclo_image_plan without opening the schema.

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

Usage Guidelines5/5

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

Gives explicit preconditions ('Use this only if an existing compatible Soclo shot plan already supplied its planId and complete frames quote'), explicit exclusions ('do not substitute a host projectId or invent the contract'), and routes recovery to soclo_image_frames_result with the original clientRequestId.

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