Skip to main content
Glama

Render animation to MP4

render_animation

Render a frame range to an H.264 MP4. engine=cycles_cpu (default) is photoreal; lit_preview (EEVEE) keeps materials and lights at ~10x less cost and is the right choice for reviewing motion and timing; preview_fast is shape-only. Animate first: keyframe cameras/objects via scene_apply animation.* operations, then render from that revision. One job renders up to 600 frames; for longer sequences fire parallel jobs over contiguous frame ranges and concatenate the MP4 segments (identical encoder settings make them concat-safe). The MP4 becomes an immutable artifact (download via artifact_get). Optional audioTracks mix owned audio_wav artifacts into an AAC soundtrack with startSeconds relative to this output segment, sourceOffsetSeconds, gainDb and looping. Inputs must belong to this project/deployment; PCM16 44.1 kHz mono/stereo only. Clipping is rejected; lower gainDb. Actual output streams/timing are verified. Returns a durable job handle.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
fpsNo
widthNo
engineNocycles_cpu
heightNo
samplesNo
cameraIdNo
frameEndYes
projectIdYesStable project ID returned by project_create or projects_list.
frameStartYes
revisionIdNo"HEAD" (default) uses the project's current headHEAD
audioTracksNo
idempotencyKeyYesStable caller-chosen key for safe retries of this same request.

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed1 schema field changed
    • addedInput schema / properties / audioTracks
      Added value: +{
      +  "items": {
      +    "additionalProperties": false,
      +    "properties": {
      +      "artifactId": {
      +        "pattern": "^art_[0-9a-z]{10,40}$",
      +        "type": "string"
      +      },
      +      "gainDb": {
      +        "default": 0,
      +        "maximum": 12,
      +        "minimum": -60,
      +        "type": "number"
      +      },
      +      "loop": {
      +        "default": false,
      +        "type": "boolean"
      +      },
      +      "sourceOffsetSeconds": {
      +        "default": 0,
      +        "maximum": 120,
      +        "minimum": 0,
      +        "type": "number"
      +      },
      +      "startSeconds": {
      +        "default": 0,
      +        "maximum": 100,
      +        "minimum": 0,
      +        "type": "number"
      +      }
      +    },
      +    "required": [
      +      "artifactId"
      +    ],
      +    "type": "object"
      +  },
      +  "maxItems": 8,
      +  "minItems": 1,
      +  "type": "array"
      +}
  2. First observed

TDQS

A4.3/5.0
Behavior5/5

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

Despite minimal annotations (all hints false), the description discloses key behaviors: output is an immutable artifact downloadable via artifact_get, inputs must belong to the project/deployment, audio must be PCM16 44.1 kHz mono/stereo, clipping is rejected with a directive to lower gainDb, output streams/timing are verified, and the return is a durable job handle. It also states the 600-frame limit and concat-safety of parallel segments. This goes well beyond what annotations provide.

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?

Every sentence in the description adds non-obvious, actionable information: engine tradeoffs, prerequisite ordering, job limits, parallelization strategy, artifact immutability, audio constraints, rejection behavior, verification, and return type. Despite its length, there is no filler or repetition, and it is appropriately front-loaded with the core purpose.

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 12 parameters, no output schema, and minimal annotations, the description is exceptionally complete. It covers prerequisites, engine selection criteria, operational limits, parallel scaling, artifact lifecycle, audio input validation, failure mode, verification, and return contract. The only minor omissions (explicit sibling differentiation, per-parameter detail for resolution/fps) are largely compensated by schema defaults and clear parameter names.

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?

With only 25% schema description coverage, the description carries the burden of explaining parameters. It richly explains the engine enum and audioTracks semantics (startSeconds, sourceOffsetSeconds, gainDb, looping), plus frame-range implications. However, it leaves fps, width, height, samples, and cameraId entirely implicit, relying on parameter names. That partial compensation yields a middle score.

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 opens with a clear, specific verb and resource: 'Render a frame range to an H.264 MP4.' It also distinguishes internal engine modes, giving it a concrete scope. However, it never explicitly contrasts itself with sibling tools like render_create or render_turntable, so an agent must infer differentiation from the name and context.

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?

The description gives explicit when-to-use guidance for each engine (cycles_cpu for photoreal, lit_preview for review at 10x lower cost, preview_fast for shape-only) and a prerequisite ('Animate first... via scene_apply animation.*'). It also advises splitting long sequences into parallel contiguous ranges. But it doesn't name alternative tools or state when not to use this tool versus a sibling, so it stops short of full exclusion guidance.

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