Skip to main content
Glama

extract_keyframe

Extract a native 720p or 1080p HD keyframe at an exact timecode from a YouTube video without downloading full video bytes.

Instructions

Extract a native 720p or 1080p HD keyframe at an exact timecode (HH:MM:SS) via HLS m3u8 range-seek without downloading full video bytes.

Args: url: YouTube video URL. timestamp: Exact timecode string ('HH:MM:SS' or 'MM:SS', e.g. '00:15:30'). output_path: Optional output path (.jpg) or folder. Defaults to './frames/<video_id>_.jpg'. resolution: Target resolution height in pixels (720 or 1080). Defaults to 720.

Input Schema

NameRequiredDescriptionDefault
urlYes
timestampYes
resolutionNo
output_pathNo

Output Schema

NameRequiredDescriptionDefault
resultYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.1.0

TDQS

A4.1/5.0
Behavior4/5

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

No annotations, so the description carries the burden and does well: it discloses the underlying HLS range-seek mechanism and explicitly notes that full video bytes are not downloaded, a real performance trait. Gaps remain on failure modes (live streams, unavailable resolutions, invalid timecodes) and whether existing output files are overwritten.

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 capability and its key constraint, then a clean Args block. The mechanism clause is information-dense rather than padded; only minor redundancy in restating parameter names the schema already lists.

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?

Given four parameters, an output schema (so return values need no explanation), and no annotations, the description supplies defaults, formats, and the not-downloading behavior an agent needs to choose this tool. Missing only edge-case behavior (invalid timecode, out-of-range timestamp, overwrite policy).

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

Parameters4/5

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

Schema coverage is 0% (bare titles only), so the description must compensate and largely does: it defines timestamp formats ('HH:MM:SS' or 'MM:SS' with an example), resolution valid values (720/1080), output_path as file or folder, and the concrete default filename pattern. It misses stating that url is a YouTube-specific URL constraint beyond the word 'YouTube'.

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 a native 720p or 1080p HD keyframe') plus the mechanism ('via HLS m3u8 range-seek without downloading full video bytes'), which clearly distinguishes it from siblings like transcribe_youtube and get_video_info.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Usage is implied by the purpose (grab a frame at a timecode) but there is no explicit when-to-use guidance, no exclusions, and no mention of alternatives such as get_video_info for metadata-only needs.

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