SCREENCAST-MCP / TOOLS / WATCH
Sample Frames
sample_frames
Sample PNG frames from a video (by fps, timestamps, or scene changes) and return the first few inline so the model can see what happened.
watchread-onlyidempotentsince v0.2.0
00:00PARAMETERS
| Name | Type | Description |
|---|---|---|
input required | string | Path to the source video file. |
mode | "fps" | "timestamps" | "scenes" | scenes: only frames where the screen changed (strongest first), usually the cheapest review. Default: fps or timestamps, whichever is given. |
fps | number | Frames per second (mode fps). > 0 |
timestamps | number[] | Seconds to grab a frame at (mode timestamps). |
sceneThreshold | number | Mode scenes: change needed to count, 0-1 (default 0.1). > 0, < 1 |
dedupe | boolean | Mode fps: drop near-duplicate frames (default false). |
outputDir | string | Optional folder for the frames (a relative path resolves under SCREENCAST_HOME/frames). Defaults to SCREENCAST_HOME/frames/<id>. |
maxFrames | integer | Frame cap (default 100); fps is lowered to fit while still spanning the video. ≥ 1, ≤ 1000 |
returnImages | boolean | Return the first maxInlineImages frames inline (default true). |
maxInlineImages | integer | Frames to embed inline (default 8); all are listed by path. ≥ 0, ≤ 20 |
maxImageWidth | integer | Max inline image width (default 1280). ≥ 16, ≤ 9007199254740991 |
00:05A MINIMAL CALL
sample_frames { "input": "recording.mp4" }
The required arguments only, with placeholder values. Everything else takes its default.
00:10WHAT COMES BACK
Structured content (structuredContent), alongside a text summary and any inline images:
| Field | Type | Description |
|---|---|---|
frameDir always | string | |
frameCount always | integer | ≥ -9007199254740991, ≤ 9007199254740991 |
frames always | string[] | |
mode always | string |
00:15SEEN IN