Skip to main content
Glama

Extract Thumbnails Tool

extract_thumbnails

Extract one or more evenly-spaced thumbnail frames from an already-uploaded file (a video hashid from create_upload or list_videos). This is FREE and only needs an account, no subscription.

To use a local file: call create_upload, PUT the bytes to the returned upload_url, then pass that video id here as file. Do NOT call complete_upload (that starts the paid clip pipeline); this free tool reads the uploaded file directly.

Set count (1-10, default 1) for how many frames to grab and optional width to scale them.

Processing is ASYNCHRONOUS: this returns a tool_job hashid and status: "queued". Poll get_tool_job_status with that tool_job until it reports completed, then it returns the downloadable output (a zip of the frames). Free usage is rate-limited per day with per-file size and duration caps; a clear error explains how to lift a limit.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
fileYesThe uploaded video id (hashid) from create_upload (no complete_upload needed) or list_videos.
countNoHow many frames to extract, 1-10 (default 1).
widthNoOptional output width in pixels.

Schema Changelog

Changes observed during successful MCP inspections.

  1. Added

TDQS

A4.6/5.0
Behavior5/5

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

Annotations only mark it as non-read-only and non-destructive; the description adds the critical traits an agent cannot infer: it is asynchronous, returns a tool_job with status queued, requires polling, is free with no subscription, and is rate-limited with per-file size and duration caps. That is rich behavioral disclosure beyond structured fields.

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-loads the core action and the free/no-subscription fact, then proceeds in logical order: input source, workflow, parameters, async behavior, limits. Multi-sentence and somewhat dense, but each sentence carries actionable information; slight length keeps it from a 5.

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?

With no output schema, the description compensates by describing the return (a tool_job hashid and queued status), the completion path via get_tool_job_status, and the final downloadable zip output. Nothing needed to invoke and follow through correctly is missing.

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 100%, so file/count/width are already documented with ranges and defaults. The description restates count (1-10, default 1) and width scaling but adds no syntax or format detail beyond the schema, so baseline 3 applies.

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+resource ('Extract one or more evenly-spaced thumbnail frames'), names the input source (video hashid from create_upload or list_videos), and explicitly distinguishes itself from complete_upload. An agent can tell exactly what this does and where its input comes from without opening another schema.

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?

Gives an explicit end-to-end procedure (create_upload -> PUT bytes -> pass id here), an explicit exclusion ('Do NOT call complete_upload; that starts the paid clip pipeline'), and names the follow-up tool (get_tool_job_status) for polling. Conditions for use and non-use are both covered.

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