Skip to main content
Glama

Export animation

export_animation
DestructiveIdempotent

Start a paid export from an existing video asset with approved quote_id or max_credits. Changing selection or FPS creates a new export only; never regenerates source motion.

Input Schema

NameRequiredDescriptionDefault
requestYes
quote_idNo
max_creditsNoApproved per-operation credit cap.
idempotency_keyYesReuse unchanged on retry; use a new key when changing the selection or FPS.

Output Schema

NameRequiredDescriptionDefault
idYesPersist this task ID immediately after create; poll it instead of creating again.
errorNoTask failure details, independently of any usable outputs.
stageNoCurrent pipeline stage when available.
objectYesPublic task resource type.
statusYessucceeded, failed, and cancelled are terminal; cancelling is not terminal.
creditsYesQuoted, reserved, and charged credit states.
outputsNoAvailable assets, including partial outputs on failed/cancelled tasks. Always inspect them at a terminal state.
metadataNoCaller-provided metadata.
progressYesFraction from 0 to 1, not a completion-time estimate.
created_atYesUTC acceptance timestamp.
started_atNoUTC production start when known.
finished_atNoUTC terminal timestamp when known.
resolved_exportNoPersisted FPS sampling summary shared with the quote and manifest; null for legacy tasks.
normalized_inputNoNormalized public input; may contain private prompts or image references. Do not log wholesale.
cancellation_reasonNoStable reason when cancellation is unavailable: TASK_TERMINAL, CANCELLATION_PENDING, CANCELLATION_NOT_CONFIRMED, or GENERATION_ALREADY_SUBMITTED.
cancellation_allowedNoWhether a cancellation request can currently be accepted. Remote cancellation still needs confirmation.

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed2 schema fields changed
    • addedOutput schema / properties / cancellation_allowed
      Added value: +{
      +  "default": false,
      +  "description": "Whether a cancellation request can currently be accepted. Remote cancellation still needs confirmation.",
      +  "title": "Cancellation Allowed",
      +  "type": "boolean",
      +  "x-description-zh": "当前是否允许受理取消请求;远端取消仍须确认。"
      +}
    • addedOutput schema / properties / cancellation_reason
      Added value: +{
      +  "anyOf": [
      +    {
      +      "type": "string"
      +    },
      +    {
      +      "type": "null"
      +    }
      +  ],
      +  "default": null,
      +  "description": "Stable reason when cancellation is unavailable: TASK_TERMINAL, CANCELLATION_PENDING, CANCELLATION_NOT_CONFIRMED, or GENERATION_ALREADY_SUBMITTED.",
      +  "title": "Cancellation Reason",
      +  "x-description-zh": "不可取消的稳定原因:TASK_TERMINAL、CANCELLATION_PENDING、CANCELLATION_NOT_CONFIRMED 或 GENERATION_ALREADY_SUBMITTED。"
      +}
  2. Changed1 schema field changed
    • changedInput schema / $defs / ExportOptions / properties / output_formats / items / enum
      Previous value: -[
      -  "clip_video",
      -  "webm_alpha",
      -  "prores_4444",
      -  "frames_zip",
      -  "spritesheet",
      -  "spritesheet_json",
      -  "unity_meta",
      -  "unity_pack",
      -  "godot_pack",
      -  "unreal_paper2d_pack",
      -  "cocos_creator_pack",
      -  "construct3_pack"
      -]New value: +[
      +  "clip_video",
      +  "webm_alpha",
      +  "prores_4444",
      +  "gif",
      +  "frames_zip",
      +  "spritesheet",
      +  "spritesheet_json",
      +  "unity_meta",
      +  "unity_pack",
      +  "godot_pack",
      +  "unreal_paper2d_pack",
      +  "cocos_creator_pack",
      +  "construct3_pack"
      +]
  3. Changed1 schema field changed
    • changedInput schema / $defs / ExportOptions / properties / output_formats / items / enum
      Previous value: -[
      -  "clip_video",
      -  "webm_alpha",
      -  "prores_4444",
      -  "frames_zip",
      -  "spritesheet",
      -  "spritesheet_json",
      -  "unity_meta",
      -  "unity_pack",
      -  "godot_pack",
      -  "unreal_paper2d_pack",
      -  "cocos_creator_pack"
      -]New value: +[
      +  "clip_video",
      +  "webm_alpha",
      +  "prores_4444",
      +  "frames_zip",
      +  "spritesheet",
      +  "spritesheet_json",
      +  "unity_meta",
      +  "unity_pack",
      +  "godot_pack",
      +  "unreal_paper2d_pack",
      +  "cocos_creator_pack",
      +  "construct3_pack"
      +]
  4. Added

TDQS

A4.3/5.0
Behavior4/5

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

Annotations already declare destructiveHint=true and idempotentHint=true; the description adds the crucial economic trait ('paid', approved credit cap) and the semantics that changing selection or FPS yields a new chargeable export rather than a re-render. It does not disclose whether the export is asynchronous or how failures/refunds behave, which matters for a destructive paid call.

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 sentences, no filler, and the cost gate is front-loaded before the immutability caveat. Every clause carries information.

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

Completeness3/5

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

Return values are covered by the output schema, so their absence is fine, but for a paid, destructive, asynchronous export fired against a nested request object, the description omits that the job is polled via get_animation_export and that it can be cancelled. Those workflow facts are not recoverable from the annotations or schema.

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?

With only 50% top-level schema coverage, the description compensates by explaining that quote_id must be approved and that max_credits is a cap, and by tying selection/FPS changes to new-export semantics. It stops short of stating whether quote_id and max_credits are mutually exclusive or which takes precedence, leaving the two alternative cost-control parameters partially ambiguous.

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 and resource ('Start a paid export from an existing video asset') and explicitly distinguishes itself from the generation siblings by asserting it 'never regenerates source motion'. An agent can tell this apart from generate_animation and generate_video without opening any schema.

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?

'with approved quote_id or max_credits' establishes the prerequisite gate for calling it, which is real usage guidance. However it never names the upstream/downstream siblings (quote_animation_export, get_animation_export, cancel_animation_export), so the agent must infer the quote-then-export-then-poll workflow rather than being routed to 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.

Resources