Skip to main content
Glama

animateSpriteKeyframes

Animate a sprite through up to three fixed keyframes - initial_image, middle_image and final_image (each a URL or base64) - producing a spritesheet that interpolates through the provided frames in order. At least one of initial_image or middle_image is required (a final_image alone has nothing to anchor the animation); any keyframe may be omitted. The motion_prompt is optional here - when omitted, the motion is derived purely from the keyframes. Runs on the Forge family, the only models supporting middle keyframes: Forge (default) or Forge Pixel for pixel-art sprites; both share the same durations and pricing. The job result is a single sprite result directly (spritesheet URL, frame layout, and optionally a GIF or individual frame URLs when requested) with no separate polling step. Credits are charged only on success, based on the produced duration and never more than the duration you requested. Use animateSprite instead for the classic single-image + text-prompt animation with model choice. Pass an optional request_id to tag the result so you can locate it later via GET /assets/sprites/results. Requires an API key (user scope). Returns 202 with a job id immediately; poll getApiJob (pass wait: 30) until status is succeeded, then read its result field, which is exactly the response documented for this operation. Each account may have up to 50 generations queued or running at once; beyond that submissions return 429 (PENDING_JOBS_LIMIT) - wait for jobs to finish.

Credits: cost varies by model and duration (credits/sec): Forge 1.5/s (min 4), Forge Pixel 1.5/s (min 4); see this endpoint's full pricing table in the API docs.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
requestBodyYesPayload for generating an animated spritesheet that interpolates through up to three fixed keyframes (initial / middle / final). Runs on the Forge family - the only models supporting a middle keyframe. Input images can be provided in base64 or URL. At least one of initial_image or middle_image must be provided.

TDQS

A4.8/5.0
Behavior5/5

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

No annotations are provided, so the description carries the full burden, and it delivers: async 202 + poll behavior, direct result shape, credit-only-on-success policy, rate limiting with 429, keyframe requirements, and the fact that middle keyframes are Forge-exclusive. These are meaningful behavioral disclosures beyond what the schema alone could convey.

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?

The description is long but every section earns its place: core behavior, model restriction, alternative tool, async flow, rate limits, pricing. It is front-loaded with the primary purpose and keyframe rules. Minor redundancy with schema model enums keeps it from a 5.

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?

Given the tool's complexity (multiple keyframes, async job, model restrictions, rate limits, optional outputs), the description covers all essential operational semantics: result structure, polling, authentication requirement, concurrency limits, and pricing. An agent has enough context to call it correctly and handle outcomes.

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 schema already documents parameters. The description adds valuable semantic relationships not in the schema, such as 'at least one of initial_image or middle_image is required', the optional nature of motion_prompt, and request_id's result-locating purpose. This goes beyond the baseline schema repetition.

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 ('Animate'), resource ('a sprite...producing a spritesheet'), and clarifies the keyframe mechanism (initial/middle/final). It also differentiates itself from the sibling `animateSprite` by name and behavior, so an agent can recognize this tool's unique role.

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?

Provides explicit routing guidance: 'Use animateSprite instead for the classic single-image + text-prompt animation with model choice.' It also specifies model restrictions (Forge family only), async polling flow, rate limits, and keyframe prerequisites, leaving little ambiguity about when and how to invoke it.

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.

TDQS

A4/5.0
Disambiguation4/5

Most tools pair a clear action and asset type (create3DModel, editVideo, removeBackground), and overlapping pairs such as animateSprite vs transferMotion vs animateSpriteKeyframes are carefully differentiated by input mode. The main friction is listApiJobs vs listGenerations, which both return generation history from slightly different scopes.

Naming Consistency4/5

The set is overwhelmingly consistent camelCase verb+noun (create*, edit*, list*, animate*, cancel*), with only minor deviations like generatePose/generateWithStyle alongside createImage and the slightly awkward validateApiKeyEndpoint. There is no chaotic mixing of conventions.

Tool Count2/5

At 31 tools this exceeds the 25+ threshold for 'too many', even though the multimodal game-asset scope explains much of the breadth. Agents face a large selection surface with many generation variants across 3D, sprites, images, audio, and video.

Completeness4/5

Core workflows are covered: image-to-3D plus rigging and animation, sprite pose/rotation/animation/editing, image create/edit/style/background-removal, video create/edit/upscale, and audio SFX/ambiance/music/voice. Minor gaps remain, such as no image upscaler and no individual asset retrieval or deletion.