For anybody giving an AI agent the ability to watch video
Playhead vs claude-video /watch
Playhead and the claude-video /watch skill both let an agent watch a video, and they do it differently. The /watch skill downloads the file to your machine, cuts still pictures out of it, and gives Claude those pictures with a time rounded to the nearest second. Playhead takes a link, watches the video for you, and answers in words with the exact second of everything it names. Measured on the same 6 second advert on 14 September 2026: /watch showed the model 9 pictures, half a second apart, the last one at 4.03 seconds of a 6.04 second file. Its cut detector found 4 of the 6 cuts and then dropped all four, so no cut at all reached the model. Playhead named all six, to a hundredth of a second, with the length of every shot. On a 10 minute video the skill needed 1 minute 54 seconds before Claude could answer, and 1 minute 41 of that was Claude opening 71 pictures one at a time.
Published 20 min read
The short version
- On a 6.04 second advert with 6 cuts in it, /watch found 4 of them and then threw all 4 away, because its own rule wants 8 before it trusts any. What reached the model was 9 pictures on an even grid and not one cut.
- A 10 minute video took 1 minute 54 seconds of our own clock with /watch, and 1 minute 41 of that was Claude reading the 71 pictures one at a time before it could answer.
- Its cut detector found 70 of the 93 cuts in that 10 minute video, and on a 17 minute one it found 159 and then threw 59 away to stay inside its budget of 100 pictures.
- Times in /watch are rounded to the nearest second, so 9 pictures arrived under 5 different labels and two different pictures can carry the same second.
- Playhead answered the same 10 minutes in one call: 93 cuts, 94 shots, 8 sections with their boundaries, and 4 stretches it said it could not resolve.
What is on this page and on no other
Every page about these products carries the same prices and the same feature lists. These are the facts this one produced itself, and how each one was made.
The /watch skill showed 9 pictures for a 6.04 second advert and the newest was at 4.03 seconds, so 2.01 seconds of the ad, a third of it, was never shown to the model.
A picture from a 540 by 960 video comes out of /watch at 512 by 910, which is 621 tokens by the formula in their own README and 3.16 times the 197 tokens it states.
Their cut detector, at the threshold fixed in their code, finds 4 of the 6 cuts in that advert, and those 4 agree with what Playhead reported to a hundredth of a second.
A 10 minute video took 1 minute 54 seconds end to end with /watch, and 1 minute 41 of that was Claude reading the 71 pictures before it could answer.
Their cut detector found 70 of the 93 cuts in that 10 minute video, and its keyframe mode, which looks for no cuts at all, ran the same file in 2.0 seconds against 13.4.
On a 17 minute 41 second animated explainer /watch kept 100 of the 159 changes it found, left 55 seconds between two pictures, and spent 31.4 seconds decoding on the laptop.
What claude-video is better at
First, because a comparison that opens with our own advantages is an advertisement rather than a comparison.
- It is free and MIT licensed. No account, no key and no bill, apart from an optional Whisper key when a video has no captions.
- Everything happens on your own machine, so a recording that must not leave the building can still be read. Nothing is uploaded.
- One command installs it on 50 or more agents, including Codex, Cursor and Gemini CLI, so it is not tied to one vendor.
- For a video that already has captions, its transcript mode answers in about 4.5 seconds and downloads nothing, by their own measurement.
- The agent holds the pictures itself, so it can look at any of them again without asking another service.
How they compare
| What you want | claude-video | Playhead |
|---|---|---|
What each one gives the model
Both tools end with a model looking at a video. What arrives is different, and so is the machine that does the work.
The skill is bradautomates/claude-video on GitHub, it is free, and it is worth installing. Playhead is the more exact alternative to it, and this page shows the difference on one 6 second advert.
The /watch skill is a downloader and a frame cutter. It fetches the video to your machine, saves a set of still pictures, and prints a list of them with a time next to each one. Claude then opens the pictures and answers from what it can see in them.
Playhead takes the link instead. We watch the video and send back the answer in words, with the exact second of everything it names. No video is downloaded on your side, and no picture goes into your agent.
That also decides where each one can run. The /watch skill needs ffmpeg, yt-dlp and python on the machine, so it belongs on a laptop. Playhead is a remote MCP server, so the same answer arrives in Claude Code, in the Claude desktop app, in the Claude mobile app, on claude.ai in a browser, and in any other client that speaks MCP. Nothing is installed anywhere, which is why it works on a phone at all.
- /watch on a 6.04 second advert
- 9 pictures, last at 4.03 s
- /watch on a 17 minute 41 second recording
- 100 pictures, 55 s apart at worst
- What that recording cost the laptop
- 31.4 seconds of decoding
- Playhead on the same advert
- 6 cuts, to a hundredth
One 6 second advert, both ways
The file is public, so you can repeat both halves of this: tryplayhead.com/home/set1.mp4, 6.038 seconds, 540 by 960.
Playhead read the advert and reported 6 cuts, which makes 7 shots. The /watch skill, run on the same file with its default settings, kept 9 pictures. Putting the two side by side is the whole argument of this page.
| Shot | From | To | Length | Pictures /watch showed |
|---|---|---|---|---|
| 1 | 0.00 s | 0.76 s | 0.76 s | 0.00, 0.50 |
| 2 | 0.76 s | 1.80 s | 1.04 s | 1.01, 1.51 |
| 3 | 1.80 s | 2.48 s | 0.68 s | 2.01 |
| 4 | 2.48 s | 2.84 s | 0.36 s | 2.52 |
| 5 | 2.84 s | 3.96 s | 1.12 s | 3.02, 3.52 |
| 6 | 3.96 s | 4.44 s | 0.48 s | 4.03 |
| 7 | 4.44 s | 6.04 s | 1.60 s | none |
Four things in that table matter if you work with ads.
Not one cut reached the model. Its detector did find 4 of the 6, and then its own rule threw all four away, because it wants at least 8 before it trusts any of them. So the pictures Claude got were on an even grid, and every one of them is marked as a grid picture rather than a cut. Ask this run how fast the ad is cut and nothing in front of the model can answer.
The last shot got no picture. It runs from 4.44 seconds to the end, which is 26 per cent of the advert. Ask what the ad closes on and the answer comes from a picture taken 2 seconds before the close.
Shot 4 is 0.36 seconds long, which is shorter than the gap between two pictures. It caught one, at 2.52 seconds, because that is where the grid happened to fall. A shot that short is seen or missed by luck.
The labels are coarser than the pictures. The nine arrived as 00:00, 00:00, 00:01, 00:02, 00:02, 00:03, 00:03, 00:04, 00:04. Five different seconds for nine pictures, and the worst rounding error was half a second.
The cuts define the following section boundaries and lengths: Start to cut: 0:00 to 0:00.8 (0.00s to 0.76s). Length is 0.76 seconds. Cut to cut: 0:00.8 to 0:01.8 (0.76s to 1.80s). Length is 1.04 seconds. Cut to cut: 0:01.8 to 0:02.5 (1.80s to 2.48s). Length is 0.68 seconds. Cut to cut: 0:02.5 to 0:02.8 (2.48s to 2.84s). Length is 0.36 seconds. Cut to cut: 0:02.8 to 0:04 (2.84s to 3.96s). Length is 1.12 seconds. Cut to jump cut: 0:04 to 0:04.4 (3.96s to 4.44s). Length is 0.48 seconds. Jump cut to end: 0:04.4 to 0:06 (4.44s to 6.00s). Length is 1.56 seconds.
A 10 minute video takes nearly 2 minutes of your clock
Cutting the pictures is the quick part. Reading them is not, and your agent has to do it one picture at a time.
We ran the whole trip on one 10 minute video, on a laptop, with the file already on the disk so no download was counted.
/watch cut 71 pictures out of it in 13.4 seconds. Claude then read those 71 pictures and answered, and that took 1 minute 41 seconds. Nearly 2 minutes for 10 minutes of video, and 88 per cent of it was the reading rather than the cutting. A download sits on top of that: their own figure is 37 seconds for a 76 MB file.
The same 10 minutes through Playhead is one call, and the answer came back with 93 cuts, 94 shots, 8 sections with their boundaries in seconds, and 4 stretches it said it could not resolve. A first reading takes 30 to 90 seconds, and every question after it is answered from that reading in seconds.
The reason is the shape, not the speed of anybody's code. 71 pictures is 71 file reads, one after another, and each one lands in the context window before the next one is asked for. One answer in words is one round trip.
- /watch cutting 71 pictures out of 10 minutes
- 13.4 seconds
- Claude reading those 71 pictures
- 1 minute 41 seconds
- The cuts /watch found in those 10 minutes
- 70 of 93
- Playhead on the same 10 minutes
- One call, 93 cuts
What happens on a 17 minute video
Short clips hide the problem. A long one shows it.
On a 17 minute 41 second animated explainer, /watch found 159 moments where the picture changed and kept 100 of them, which is its cap. Its own script prints a warning about it, and the warning is fair.
What that leaves is worth knowing in numbers. The middle gap between two pictures is 8 seconds. The widest gap is 55 seconds, between 0:19 and 1:14. Anything that happens in that minute is not in front of the model, and nothing in the report says so.
Their README has an answer for this, and it is an honest one: run it again on a shorter range, or lift the cap and pay for every picture. Both answers cost you another download, another decode and another wait.
- Changes found, and pictures kept
- 159 found, 100 kept
- The widest stretch with no picture
- 55 seconds
- Playhead on a recording of that length
- The whole runtime
Try both on the same video
Every number on this page came from two commands and one API call.
curl -sO https://tryplayhead.com/home/set1.mp4
python3 skills/watch/scripts/watch.py ./set1.mp4 --no-whispercurl -X POST https://api.tryplayhead.com/v1/watch_video \
-H "Authorization: Bearer $PLAYHEAD_API_KEY" \
-H "Content-Type: application/json" \
-d '{"url": "https://tryplayhead.com/home/set1.mp4",
"question": "name every cut in seconds and the length of every shot"}' \
| jq -r '.answer, .session_id'When to choose claude-video instead
Choose claude-video when the file must not leave your machine, when the budget is zero, or when you want a summary of what a video is about. For a talk, a lecture or a podcast, where the words carry the answer, it reads the captions in about 4.5 seconds and costs nothing.
The verdict
Use /watch to find out what a video is about. It is free, it installs in one command, and on a captioned talk it answers in about 4.5 seconds. Use Playhead as soon as the answer has to name a second. The measurements on this page are all one way: 0 of 6 cuts reached the model on a 6 second ad, 70 of 93 on a 10 minute video, and 1 minute 41 of those 10 minutes went on Claude opening 71 pictures one at a time. Playhead answered the same 10 minutes in one call with 93 cuts, 94 shot lengths, 8 sections and the 4 stretches it could not resolve. If your work is ads, product demos, walkthroughs or bug reports, the exact second is the whole job, and a still picture timed to the nearest second cannot carry it.
Common questions
What is the claude-video /watch skill?
The /watch skill is a free, open-source plugin for Claude Code and 50 or more other agents. Given a link or a file, it downloads the video, cuts still pictures out of it with ffmpeg, fetches a transcript, and hands Claude the pictures to look at. Everything runs on your own machine and the licence is MIT.
Does /watch really watch the video?
Still pictures are what the model gets, half a second apart at the closest, because their own code caps sampling at 2 pictures a second. The pictures are real pictures of the file. What is missing is anything that only exists between two of them, such as a dissolve, an animation or a one-frame flash.
How exact are the times that /watch gives Claude?
Times are rounded to the nearest second before Claude sees them. Measured on a 6.04 second advert on 14 September 2026, nine pictures arrived under five different labels, two pictures could carry the same second, and the worst rounding error was half a second.
Can /watch tell me the cuts, the transitions and how fast an ad is cut?
Not as data. A picture chosen because the scene changed is marked as such, but there is no list of cuts, no shot length and no cutting rate in what Claude is given. On the advert measured here its detector found 4 of 6 cuts, and its own fallback rule then discarded all four.
How long does Claude take to watch a 10 minute video with /watch?
Measured on 14 September 2026 on a laptop, with the file already on the disk: 13.4 seconds to cut 71 pictures out of it, then 1 minute 41 seconds for Claude to read those 71 pictures before it answered. That is 1 minute 54 seconds in total, and a download sits on top of it. The reading is the expensive half, because every picture is a separate file the agent has to open.
Can Claude watch a video on my phone?
Playhead is a remote MCP server, so the same answer arrives in the Claude mobile app, in the desktop app, on claude.ai in a browser, in Claude Code and in any other client that speaks MCP. There is nothing to install on the device. The /watch skill needs ffmpeg, yt-dlp and python on the machine it runs on, and their README names Claude Code, the command line hosts and claude.ai with code execution turned on.
Is Playhead free like claude-video?
Playhead is paid and needs an account, where claude-video is free and MIT licensed. A Playhead reading costs credits, a follow-up question in the same session costs a fraction of one, and there is a free level so you can try it on your own video before paying anything.