Skip to main content
Glama

Download footage

download

Save public-domain archival footage as local MP4 files by clip ID or source slug, with optional time or shot ranges for partial clips.

Instructions

Save footage to a local MP4 (never overwrites an existing file). Pass exactly one of clipId (a single shot) or sourceSlug (the full film). To get only part of it, add startSeconds and/or endSeconds (relative to that shot or film), or, with sourceSlug, fromShot/toShot (1-based, inclusive, like shift-click on the site). Ranges need ffmpeg on PATH; only that part is fetched and it is re-encoded for frame-accurate cuts. If you only need a link, use the URLs returned by the other tools instead.

Input Schema

NameRequiredDescriptionDefault
clipIdNo
toShotNo
fromShotNo
endSecondsNo
outputPathNoDirectory, or file path ending in an extension like .mp4 (default: /root/Downloads)
sourceSlugNoSource slug or /sources/ URL
startSecondsNo

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.1.0

TDQS

A4.9/5.0
Behavior5/5

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

Beyond the annotations (readOnly=false, openWorld=true, destructive=false), the description discloses that existing files are never overwritten, that ranges require ffmpeg on PATH, that only the requested part is fetched, and that cuts are re-encoded for frame accuracy. These are meaningful side-effect and dependency facts an agent could not infer from annotations.

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?

Front-loaded with the primary action and non-destructiveness, and every sentence carries information. The middle sentence packing the range-selection logic is dense but still readable; minor loss versus a perfectly chunked version.

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?

For a 7-parameter mutation tool with no output schema, the description covers selection modes, range semantics, ffmpeg dependency, non-overwrite behavior, and the link alternative. The only parameter not narrated (outputPath) is already documented in the schema, so nothing an agent needs to call it correctly is missing.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters5/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is only 29%, so the description carries the burden — and it does: it explains the mutually-exclusive clipId/sourceSlug choice (not encoded as oneOf in the schema), that startSeconds/endSeconds are relative to the chosen shot or film, and that fromShot/toShot are 1-based inclusive like shift-click. This adds essential semantics the bare schema lacks.

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?

The description gives a specific verb+resource ('Save footage to a local MP4') and explicitly distinguishes the tool from the sibling URL-returning tools ('If you only need a link, use the URLs returned by the other tools instead'). An agent can tell instantly what this does and how it differs from search_clips/list_sources/etc.

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?

It states the exactly-one-of rule (clipId vs sourceSlug), when to add ranges, when to use fromShot/toShot vs seconds, and when NOT to use the tool at all (use returned URLs if you only need a link). Alternatives and exclusions are both explicit.

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