Skip to main content
Glama

Get the shots of a run

get_run_shots
Read-only

Read a video run's shots by run_id to inspect frame size, frame rate, narration timing, and each shot's details and preview link. Free, read-only, and starts nothing.

Instructions

Read the shots of a video made by make_faceless or make_ugc. Pass the run_id. Free and read-only: it changes nothing and starts nothing. With planned=true the answer holds the frame size, the frame rate, the narration words with their timing, and for each shot its id, its span in frames, its kind, the words it covers, its description and preview_url, a signed link to the shot's source picture or clip. That link is a large file and it expires: read the shots again for a fresh one, never store it. A field named in withheld is null on every shot. planned=false is a normal answer, not an error: the run has no shots to show, and editable.state with editable.reason says why. editable.media_available_until is how long the media of the run are stored. paid_edits.enabled says whether a video can be made from an edit; while it is false, none can.

Input Schema

NameRequiredDescriptionDefault
run_idYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed1 schema field changedv0.39.0
    • removedInput schema / $schema
      Removed value: -"http://json-schema.org/draft-07/schema#"
  2. Addedv0.27.0

TDQS

A4.4/5.0
Behavior5/5

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

Adds substantial context beyond readOnlyHint: free to call, signed preview_url links are large and expire so must be re-fetched rather than stored, fields named in `withheld` are nulled, and editable/paid_edits/media_available_until gate downstream actions. That is exactly the behavioral surface an agent needs before deciding what it can do next.

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?

Purpose and read-only status are front-loaded, and nearly every sentence carries a distinct fact. It is dense and long-winded in places, but the length is justified by return-value detail that no output schema supplies.

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 takes on the full burden and delivers: frame size, frame rate, narration words with timing, per-shot id, span, kind, words, description, preview_url, plus withheld fields and editability flags. Nothing an agent needs to interpret the response 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?

Only 'Pass the run_id' is said about the sole schema parameter, and the run_ prefix pattern lives only in the schema. Worse, the description switches to a `planned=true`/`planned=false` framing that has no counterpart in the input schema, forcing the agent to work out whether that is a parameter or a response shape.

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 and resource ('Read the shots of a video') and anchors it to the producing siblings ('made by make_faceless or make_ugc'), which cleanly separates it from get_run and the quote/make tools.

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?

Says to pass the run_id and explains the planned=true vs planned=false branches, including that planned=false is a normal answer rather than an error. It doesn't explicitly name get_run as the alternative for run-level status, so routing guidance is implied rather than stated.

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