Skip to main content
Glama

Take a still frame from a video

flow_frame
Read-only

Extract a video's first, last, or timed frame as a PNG to use as the start frame of the next generated clip, keeping characters and settings consistent across shots.

Instructions

Saves one frame of a video as a PNG: the first, the last (default) or one at a given second. The video is a local file or a project media id (with project_id; downloaded first if needed). Main use: pass the last frame of a shot as start_frame of the next generate_video, so characters and setting carry over between clips. The PNG is uploaded when used, so Flow asks for the rights confirmation then. Free; runs on this machine.

Input Schema

NameRequiredDescriptionDefault
atNo'first', 'last' (default) or a time in seconds
videoYesLocal video path (mp4, mov, webm) or a project video's media id
project_idNoThe project of a media id

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.6.0

TDQS

A4.9/5.0
Behavior5/5

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

Goes well past readOnlyHint=true: it discloses the side effect of writing a PNG, that a media id is downloaded first when project_id is given, that the rights confirmation prompt appears only at upload/reuse time, and that the operation costs no credits and runs locally. These are exactly the operational facts an agent needs before calling.

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?

Four dense sentences, each earning its place: what it does, accepted inputs, the primary use case, and the cost/rights caveat. Front-loaded with the core action and no repetition of schema text verbatim.

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 three-parameter tool with full schema coverage and no output schema, the description supplies the output format (PNG), the input-source branching, the downstream consumer, and the credit/auth implications. Nothing an agent needs to invoke it correctly is missing.

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 already 100%, so the baseline is 3; the description adds real meaning by explaining the project_id dependency ('with project_id' is required when video is a media id) and by restating the default. It stops short of clarifying time precision or behavior for out-of-range seconds.

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?

Opens with a specific verb and resource ('Saves one frame of a video as a PNG') and immediately delimits the three selection modes. It is clearly distinct from the generation siblings (generate_video, generate_images) and from asset-management tools like flow_assets.

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?

Explicitly names the primary workflow — 'pass the last frame of a shot as start_frame of the next generate_video, so characters and setting carry over' — which routes the agent to this tool and to the sibling it feeds. The default of the 'at' parameter is restated, removing ambiguity about the no-argument case.

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