Skip to main content
Glama

exportVideo

Render an edited OpenScreen project to MP4 (H.264) or GIF with the compositor, applying background, cursor, zooms, cuts, speed changes, and annotations. Returns the output file path.

Instructions

Render a project to an MP4 (H.264) or a GIF with OpenScreen's compositor: the background, cursor, zooms, cuts, speed changes and annotations as edited. Returns the file's path; call getFrames with the projectId to check it at the ruler seconds you edited with. The video's shape follows the project's format (setAspectRatio). The options are the Export dialog's: quality and fps for an MP4; gifFrameRate, gifSize and gifLoop for a GIF.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
fpsNoMP4 only. Frames per second. Default 60.
pathYesWhere to write the video: an absolute path, or one relative to this server's working directory, ending in .mp4 or .gif.
gifLoopNoGIF only. Loop forever (default) or play once.
gifSizeNoGIF only. The largest height in pixels, never upscaled: small 480, medium 720, large 1080, original keeps the recording's. Default medium.
qualityNoMP4 only. The height: medium is 720 pixels, good is 1080 (default), source keeps the recording's. The width follows the format.
projectIdYes
gifFrameRateNoGIF only. Frames per second. Default 15.

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv2.1.1

TDQS

A4.1/5.0
Behavior4/5

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

Annotations declare non-readOnly, non-destructive, closed-world. The description adds that it returns the file's path and that getFrames can verify output at ruler seconds, plus format dependence on setAspectRatio. It doesn't mention permissions or overwrite behavior at the path, leaving a minor gap.

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?

Three sentences, front-loaded with the core action and output, then format-dependence, then option grouping. Mostly efficient, though the compositor element list is slightly dense.

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

Completeness4/5

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

Covers output (path), verification (getFrames), shape (setAspectRatio), and option scoping for a mutation tool. With 86% schema coverage and annotations, remaining gaps (overwrite behavior, error cases) are minor.

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 coverage is 86%, so the schema already documents fps, quality, gifSize, gifLoop, gifFrameRate and path well. The description only restates that quality/fps are MP4-only and gif* are GIF-only, adding marginal value beyond the schema's own 'MP4 only'/'GIF only' labels.

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 (Render) and resources (MP4/GIF) plus the compositor, listing exactly what gets composited (background, cursor, zooms, cuts, speed, annotations). Clearly distinguishable from siblings like addZoom or setAspectRatio.

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?

Explains it renders the edited project and that the video's shape follows setAspectRatio, and that options mirror the Export dialog. It doesn't state when NOT to use it or alternatives for exporting, but context is clear.

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