Playhead vs claude-video: MCP server or Skill?

claude-video is a free, MIT-licensed Agent Skill. It installs a video toolchain on your machine, downloads a video, picks frames and hands them to your agent, with transcription through a Groq or OpenAI key you supply. Playhead does the same job as a hosted service instead. Nothing installs, every claim carries the second it is about, every answer states what it covered, and the same product is reachable from a REST API and a TypeScript SDK as well as from a chat.

Last updated

What claude-video is better at

First, because a comparison that opens with our own advantages is an advertisement rather than a comparison.

  • Free and MIT-licensed, with no account and no credits to think about.
  • The video never leaves your machine, which matters for footage under NDA.
  • Installs into 50+ agent hosts through the skills ecosystem, not only MCP clients.
  • It drops near-identical frames before they cost you tokens, which is a smart touch.
  • Four clear modes, including a transcript-only one that extracts no frames at all.

Their repository: github.com/bradautomates/claude-video. Everything claimed about it on this page comes from that README, read on 6 August 2026.

What it is, and where it runs

What it is, and where it runs: Playhead compared to claude-video
CapabilityPlayheadclaude-video
Runs without installing anything on your machineYesEverything runs on our servers. You connect one address and paste a link.Noclaude-video needs yt-dlp and ffmpeg on the machine it runs on. It installs them for you on first run, but they have to be installable there.
Works without your own transcription API keyYesTranscription is included in a credit. There is no second vendor to sign up with.PartlyCaptions are free when the video has them. Without them claude-video needs a Groq or OpenAI key of your own, billed to you separately.
Works from Claude on a phoneYesPlayhead runs nowhere near your device, so the same connection follows you from the laptop to the iOS and Android apps.Not documentedclaude-video's README documents Claude Code, claude.ai and desktop CLIs. Mobile is not mentioned either way.

What it can look at

What it can look at: Playhead compared to claude-video
CapabilityPlayheadclaude-video
How much of the video one answer coversYesThe whole of it, by default. One question with no window covers second zero to the end, whatever the length, and the answer names any stretch it could not settle. You never assemble a picture of a video out of several replies.PartlyThe default balanced mode caps at 100 frames and efficient at 50, and near-identical frames are dropped before the cap, so the budget is spent on distinct ones. That is a good idea. token-burner removes the cap, and the README's own warning is that the capped modes go sparse past about ten minutes.
A one-hour video covered in a single passYesAn hour, or three, is one question. The reading spreads across the whole running time rather than stopping at a cap, and the answer names any stretch it could not settle.PartlyThe README suggests re-running focused with --start/--end once a capped mode goes sparse. token-burner covers a full length by removing the cap rather than by spreading the frames.
Every claim carries the second it is aboutYesThe times come from the video itself rather than from what a model remembers, so a moment cannot drift from the second it belongs to. You can open the video at that second and check it.NoFrames are passed as files and the times live in the surrounding text, which is a separate thing the model has to keep aligned.
States what it covered and where the gaps areYesEvery response carries a coverage object: covered seconds, whether that was the whole video, every second it was not, and where to resume.NoFrame caps thin coverage out silently on longer videos. The README warns about it; the output does not.
SMPTE timecode from camera and edit-suite mastersYesWhen a file carries SMPTE timecode you can ask for it, which is the clock an editor's notes and the edit suite are already in. Elapsed seconds are the default, and both are true.NoElapsed seconds only, which is the right unit for a TikTok and the wrong one for a shoot.
Broadcast and production containersYesMXF (XAVC, XDCAM, AVC-Intra, DNxHD), ProRes MOV, GXF, LXF, TS and DV. Camera raw is refused by name with the export to make instead, rather than failing obscurely.PartlyWhatever the local ffmpeg build happens to decode. Undocumented, and it varies by machine.
Photo carousels (TikTok photo mode, Instagram)YesA carousel has no clock, so each slide is one second: second 0 is slide 1, second 1 is slide 2. The answer says so rather than implying the post has a running time.NoInherits yt-dlp's refusal, since that is what does the downloading.
Meta Ad Library linksYesA facebook.com/ads/library link is a video like any other, which is what makes competitor-ad teardowns a normal call rather than a workaround.Not documentedNot mentioned. yt-dlp's generic extractor may or may not reach a given ad.

How closely it can look

How closely it can look: Playhead compared to claude-video
CapabilityPlayheadclaude-video
How closely one moment can be readYesAs closely as the question needs. Name a second and a corner of the picture and it is read at full size, which is what makes a price, a logo lock-up or 12 pt legal type readable. It is chosen per question, not once per run.Partly512 px wide by default for every frame in the run, with --resolution 1024 offered for text-heavy content. It is one setting for the whole run rather than a level raised for one second.
Ask about one corner of one momentYeswindow says when and region says where, so a follow-up about the badge in the top right is read at the size it needs. That is what makes 12 pt legal type, a price and a logo lock-up readable at all. It costs the seconds you name, not the video.NoFrames come back whole, at a size a run-wide flag set. There is no way to ask for a closer look at one part of one moment.
Two consecutive frames, 33 ms apartYesA question about a single second is answered at the distance where an easing curve, a dropped frame or a one-frame logo flash is visible at all.NoSampling is scene-driven and capped by frame count, so two adjacent frames of the same shot are precisely what both are built to avoid returning.
Vertical video is read as vertical videoYesA 9:16 recording is read at its own shape, so you never pay for empty space beside a tall picture. Black bars are found first, so a 16:9 clip reposted into a vertical frame is read as the 16:9 clip it is.Not documentedFrames are handed over one at a time, so orientation never arises. Neither README mentions letterboxing or the bars a repost leaves behind.
Decide what a video is worth before you pay to read itYesdepth: glance reads fewer moments for about a sixth of the price, dates every second the same way, and names the stretches it did not cover. A folder of forty recordings can be sorted before one of them is read properly.PartlyThe modes trade frame count against tokens. They change how much of the video you get, not what it costs to find out whether it is worth getting.

What it measures

What it measures: Playhead compared to claude-video
CapabilityPlayheadclaude-video
Cut times returned as numbersYesCut times come back as a list of seconds, with the pacing beside them: how many shots, the median shot length, and cuts per minute.PartlyScene detection runs, but it is used to choose which frames to keep. The cut times themselves are not part of the output.
Transitions classified, not counted as cutsYesDissolves, fades, dips, wipes and whip-blurs are detected on a longer baseline and named. Without that, a film with six dissolves reads as six extra cuts and its pacing comes back too fast.NoScene detection runs on neighbouring frames, where a dissolve is six times under the threshold. There is no separate transition pass, and none is claimed.
Freezes, black frames and silence detectedYesFreezes, black frames, silence and loudness all come back together, which is what a render check is made of.NoBuilt for understanding a video's content rather than checking a file, so these detectors are outside what it sets out to do.
Sees what happened between the sampled framesYesEvery frame of the video is measured, not a sample of them, so a one-frame flash, a three-frame cut and a slow push-in are all found and dated.NoAnalysis is limited to the frames that were extracted. What fell between them is not represented.
Says whether the audio was speech at allYesMusic scored over a video transcribes into fluent sentences nobody said. The response reports that assessment instead of handing back lyrics as dialogue.NoThe transcript comes back the same way whichever route produced it.
Watermarks and channel bugs located, with the cuts they survivedYesA logo, a watermark or a badge laid over the picture comes back with where it sits, in words and as a box, and how long it stays. Whether it is there is measured; what it says is read when you ask.NoNot mentioned in either README, and not the kind of thing a frame budget produces: the evidence sits in the frames nobody sampled, spread across the cuts between them.
Camera moves measured, with a direction and a distanceYesPush-ins, pull-outs and pans come back as spans carrying the scale change in percent, how far the frame travelled as a fraction of its width, the direction, and a fit score that says when the picture moved for some other reason. A half-percent-per-second push-in is not visible between two sampled frames and is reported anyway.NoCamera movement is not discussed in either README and does not appear in the output. The model infers it from the frames it was handed, or it does not.
Overlays and one-frame flashes, with where on screen they satYesA caption, a lower third, a progress bar or an animated watermark comes back with a start, an end, where it sits and how much of the picture it covers. A flash that lasts one frame is reported the same way.NoOverlay and flash detection are not mentioned. A graphic that appears for two frames between two samples is not in the output at all.

Building on it

Building on it: Playhead compared to claude-video
CapabilityPlayheadclaude-video
Callable from your own code, not just from a chatYesA REST API and a typed TypeScript SDK. Anything that can make an HTTP request can call it, in any language.Noclaude-video is a skill invoked by an agent. There is no HTTP API behind it to call from a backend job.
Reachable from an agent framework with no skill runtimeYesMCP is a protocol rather than an install, so any client that speaks it is already done. Behind it is plain HTTP, which is what an n8n node, a LangChain tool, a LlamaIndex pipeline or a scheduled job uses instead. No agent has to be involved at all.PartlyMore than 50 Agent Skills hosts, including Claude Code, Codex, Cursor, Copilot and Gemini CLI. That is wider than MCP reaches today. Every one of them is an agent host, though, so something without a skill runtime has nothing to install.
Asynchronous jobs, webhooks and idempotency keysYesLong work queues and returns a job id; a webhook fires when it settles; replaying an idempotency key returns the first result rather than charging twice.NoSynchronous, in the agent's turn.
Methods for recurring jobs, offered as commandsYesSeven written methods: ad teardown, hook analysis, caption audit, accessibility pass, brand consistency, render check, and a step-by-step guide from a recording. Around 9,300 words between them. A client that supports MCP prompts offers them as commands you can pick from a list, and one is fetched only when it is asked for.PartlyThe skill's own instructions are its method, and it is a good one. There is one, for the job it was built for.
Every response states what it will cost to look atYesEvery answer says what it charged, in credits_charged, and a first look is quoted by the length of the video before you call. You can budget a workload without running it.NoFrame count and resolution are yours to pick, and what they turn into in the model's context window is not reported anywhere.
A refusal names the call that would have workedYesAsk for more than one call allows and the refusal carries the call that would have worked, as arguments to spread straight back in. Your agent's second attempt is a correction rather than a guess, which is the difference between one wasted turn and four.Not documentedError behaviour is not documented beyond a warning that capped modes go sparse on long videos.

Running it

Running it: Playhead compared to claude-video
CapabilityPlayheadclaude-video
The long work does not run on your laptopYesAll of it runs on our workers. A long job returns an id at once and calls you back when it settles, so nothing holds your machine or your agent's turn open while it runs.NoTheir own published numbers for a 49-minute video: about 37 s to download and about 21 s to extract, on your CPU, inside the agent's turn.
Free and open sourcePartlyThe MCP client and the SDK are MIT. Playhead itself is a hosted service: 50,000 credits a month free, then paid.Yesclaude-video is MIT-licensed and costs nothing to run.
Video never leaves your machineNoPlayhead fetches and reads the video on our own infrastructure. An on-premise deployment exists for enterprise, and the hosted product does not run on your machine.Yesclaude-video downloads and processes locally. For footage under NDA that is a real advantage and not a small one.
Repeat questions about the same window are discountedYesThe first question about a video is the one that costs. Every question after it reads what that look already found, so an agent working through a video is not billed as though every question were the first.YesNothing is billed at all, because it runs on your own hardware.
Team seats, shared balance and an audit trailYesOrganizations, invites, a shared credit pool and a per-job ledger.NoA skill installed per machine. Nothing to share and nothing to audit.

The verdict

Which is to say: what actually decides it, rather than which row count is higher.

The dividing line is not quality, it is where the work happens. A skill that needs a video toolchain needs a machine with one on it, and that decides everything after it: it cannot be a connector you add on a phone, a scheduled job cannot call it at three in the morning, and a team cannot share it as one account. Playhead moved the work to a server so that all three become possible. You pay for that with a bill and with your video leaving your machine. If neither of those matters to you, claude-video is a very reasonable choice.

The second difference grows with every minute of running time. A hundred frames with the times written beside them is a different thing from a reading of the whole video that dates every moment it names, separates a dissolve from a cut, and says out loud which seconds it could not settle. On a fifteen second advert the two are close. On a four minute one they are not the same job.

If none of that applies, and you want it on a phone, in a scheduled job or shared with a team, the quickstart is two minutes and the free tier needs no card.