Skip to main content
Glama

retarget_animation

Destructive

Apply up to 5 preset animations to a rigged 3D model task, then create a Tripo task and return its task_id for wait_for_task.

Instructions

Apply up to 5 preset animations to a rig_model task. 10 credits per animation. Creates a Tripo task (spends credits) and returns its task_id immediately; then call wait_for_task.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
inputYesTask ID of a rig_model task
animationNoOne preset, e.g. preset:idle, preset:walk, preset:run, preset:jump, preset:quadruped:walk, or preset:biped:* for v1.0 rigs
animationsNoUp to 5 presets in one task, instead of animation
out_formatNoOutput format (default glb)
animate_in_placeNoRemove root motion
export_with_geometryNoInclude the mesh, not just the skeleton (default true)

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
modelNo
task_idYes
producesYes
warningsNo
operationYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed18 schema fields changedv0.4.0
    • removedInput schema / properties / animateInPlace
      Removed value: -{
      -  "description": "Play animation in place without displacement",
      -  "type": [
      -    "null",
      -    "boolean"
      -  ]
      -}
    • addedInput schema / properties / animate_in_place
      Added value: +{
      +  "description": "Remove root motion",
      +  "type": [
      +    "null",
      +    "boolean"
      +  ]
      +}
    • changedInput schema / properties / animation / description
      Previous value: -"Single preset animation identifier"New value: +"One preset, e.g. preset:idle, preset:walk, preset:run, preset:jump, preset:quadruped:walk, or preset:biped:* for v1.0 rigs"
    • changedInput schema / properties / animations / description
      Previous value: -"Multiple preset animation identifiers"New value: +"Up to 5 presets in one task, instead of animation"
    • removedInput schema / properties / bakeAnimation
      Removed value: -{
      -  "description": "Bake animation into the model",
      -  "type": [
      -    "null",
      -    "boolean"
      -  ]
      -}
    • removedInput schema / properties / exportWithGeometry
      Removed value: -{
      -  "description": "Export with geometry included",
      -  "type": [
      -    "null",
      -    "boolean"
      -  ]
      -}
    • addedInput schema / properties / export_with_geometry
      Added value: +{
      +  "description": "Include the mesh, not just the skeleton (default true)",
      +  "type": [
      +    "null",
      +    "boolean"
      +  ]
      +}
    • changedInput schema / properties / input / description
      Previous value: -"Rigged model task ID"New value: +"Task ID of a rig_model task"
    • removedInput schema / properties / outFormat
      Removed value: -{
      -  "description": "Output format: glb or fbx",
      -  "type": "string"
      -}
    • addedInput schema / properties / out_format
      Added value: +{
      +  "description": "Output format (default glb)",
      +  "enum": [
      +    "glb",
      +    "fbx"
      +  ],
      +  "type": "string"
      +}
    • addedOutput schema / properties / model
      Added value: +{
      +  "type": "string"
      +}
    • addedOutput schema / properties / operation
      Added value: +{
      +  "type": "string"
      +}
    • addedOutput schema / properties / produces
      Added value: +{
      +  "type": "string"
      +}
    • removedOutput schema / properties / status
      Removed value: -{
      -  "type": "string"
      -}
    • removedOutput schema / properties / taskId
      Removed value: -{
      -  "type": "string"
      -}
    • addedOutput schema / properties / task_id
      Added value: +{
      +  "type": "string"
      +}
    • addedOutput schema / properties / warnings
      Added value: +{
      +  "items": {
      +    "type": "string"
      +  },
      +  "type": [
      +    "null",
      +    "array"
      +  ]
      +}
    • changedOutput schema / required
      Previous value: -[
      -  "taskId",
      -  "status"
      -]New value: +[
      +  "task_id",
      +  "operation",
      +  "produces"
      +]
  2. Addedv0.3.0

TDQS

A4.3/5.0
Behavior4/5

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

Annotations declare destructiveHint=true, idempotentHint=false, and openWorldHint=true, but the description adds crucial context beyond them: cost ('10 credits per animation'), that credits are spent, and the async contract (returns task_id immediately). It does not clarify whether the source rig task is mutated, which is the one gap given destructiveHint=true.

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?

Two tight sentences with the operation and scope front-loaded, followed by cost and the async next step. Every clause earns its place with no filler.

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?

An output schema exists, so return values need no explanation. With the prerequisite, per-unit credit cost, and the wait_for_task handoff all stated, an agent has everything needed to invoke and chain this tool correctly.

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 description coverage is 100%, so the schema already documents input, animation, animations, out_format, animate_in_place, and export_with_geometry. The description reinforces the 'up to 5' cap on animations but adds no syntax or format detail beyond the schema, so baseline 3 applies.

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?

Specific verb+resource: 'Apply up to 5 preset animations to a rig_model task.' It names the input artifact (rig_model task) which distinguishes it cleanly from sibling tools like rig_model, retopologize, or texture_model.

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?

States the prerequisite (a rig_model task) and the follow-up step ('then call wait_for_task'), which routes the agent through the async workflow. It does not explicitly state when-not-to-use or contrast against alternatives, so it falls short of a 5.

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