Skip to main content
Glama

gflow_download_media

Download a completed Flow video by media ID to disk, verifying size and using no credits. Handles failed transfers by retrying after a wait; rejects image IDs.

Instructions

Fetch an already-generated VIDEO from Flow by its media ID and write it to disk. For a generation that finished and was billed but whose download failed — the clip is in the Flow project and the local catalog shows no file for it. Spends no credits: the generation was already paid for. The bytes are verified against the size Flow reports before the file is written. Video only: an image media ID is refused immediately (exit 11) because the signed URL this needs comes from a record only a clip's route emits. See issue #877. The transfer already retries a dropped connection internally, so a failure marked retryable means wait a moment and call again — never immediately, and never in a tight loop: each call opens a browser under a per-profile lease, and a second concurrent call fails on that lease instead (exit 11).

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
out_dirNo
profileNo
media_idYes

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault

No arguments

Schema Changelog

Changes observed during successful MCP inspections.

  1. Addedv0.79.0

TDQS

A4.3/5.0
Behavior5/5

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

With no annotations provided, the description carries the full behavioral disclosure burden and does so remarkably well. It discloses cost ('Spends no credits'), byte verification before writing, image refusal with exit code 11, internal retry behavior, per-profile browser leasing, and concurrent-call failure. This goes far beyond the schema and gives the agent accurate operational expectations.

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?

The description is dense but every sentence earns its place: purpose, use case, cost, verification, type restriction, retry behavior, and concurrency caveat. It is front-loaded with the primary purpose and keeps critical constraints in a logical order without fluff.

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?

For a tool with an output schema and no annotations, the description covers the essential context: when to retry, what not to do, safety around credits, and failure modes. It falls slightly short only because out_dir and profile semantics are left undefined, which an agent would need to know before invoking successfully.

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

Parameters2/5

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

Schema description coverage is 0%, so the description must compensate, but it only meaningfully explains media_id. It does not explain out_dir or profile at all, apart from an indirect reference to 'per-profile lease' that hints at profile semantics without defining it. Two of three parameters remain effectively undocumented.

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 opens with a specific verb-resource pair: 'Fetch an already-generated VIDEO from Flow by its media ID and write it to disk.' It clearly separates this from generation tools by emphasizing 'already-generated,' and it disambiguates media type by stating that image media IDs are refused.

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?

It gives a precise usage scenario: a generation that finished and was billed but whose download failed. It also gives explicit retry guidance: wait and call again, never immediately and never in a tight loop. It doesn't name a sibling alternative explicitly, but the 'already-generated' framing makes the distinction from gflow_generate_video clear.

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