watch_video
Turn any local video or online URL into a timestamped transcript and keyframe overview, enabling summarization, Q&A, step extraction, and note-taking from video content.
Instructions
Turn a video into a timestamped transcript plus a keyframe overview so you can summarize it, answer questions about it, extract steps, commands or code, or write notes. video is an absolute path to a local video/audio file or a YouTube / Bilibili / Douyin / Xiaohongshu / TikTok / Vimeo URL. Fully offline: platform subtitles are used when they exist, otherwise local Whisper speech recognition (GPU when available, CPU otherwise); no API key. Results are cached per video, so calling again with the same video is instant. Typical time: 5–60 s for short subtitled videos, a few minutes for long videos without subtitles; the very first speech recognition downloads a model once (~480 MB on CPU, ~1.6 GB on GPU). If the reply starts with RUNNING, call watch_video again with the same video — it resumes waiting for the same job; do not change options and do not start other videos meanwhile. The reply is an English overview: metadata, chapters, the list of contact sheets (see them with get_frames), file paths, and the transcript with [mm:ss] timestamps (truncated at max_chars with a start time for get_transcript). Cite timestamps like (03:15). Not for live streams or images.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| mode | No | full = transcript + keyframes (default); transcript = no keyframes; frames = no speech recognition (platform subtitles still used) | full |
| model | No | Whisper model used only when the video has no subtitles. auto = large-v3-turbo on an NVIDIA GPU, small on CPU | auto |
| video | Yes | Absolute path to a local video/audio file, or a video page URL (YouTube, Bilibili, Douyin, Xiaohongshu, TikTok, Vimeo, X and other yt-dlp sites) | |
| refresh | No | Discard cached results (and any running job) for this video and process it again | |
| language | No | Spoken language; auto detects it. Set it when you know it for better accuracy | auto |
| max_chars | No | Maximum characters of transcript included in the reply | |
| output_dir | No | Absolute folder for the results; default $YUEYING_OUT_DIR/<name>-<id> | |
| wait_seconds | No | How long this call may block before answering RUNNING. Keep 45 in Claude Desktop/Cursor (60 s client timeout); Claude Code/Cline may use up to 1500 | |
| cookies_from_browser | No | Reuse a browser login for HD or member-only Bilibili / sign-in-gated YouTube. Close Chrome first on Windows | |
| frame_interval_seconds | No | Approximate seconds between keyframes; None = automatic by duration (2–20 s). Use 2 for code/slide-heavy screencasts |