Blog / Artificial intelligence
How to make Claude Code watch videos for free: 4 paths, their costs and which to choose

Claude Code does not watch video: it receives images and text. For it to watch one, the video has to be turned into frames and a transcript. Four free paths do this: the claude-video plugin, Gemini, Claude in Chrome or your own skill. We recommend the plugin in local mode: it costs 0 dollars and uses between 20,900 and 77,700 tokens per pass.
You give Claude Code a YouTube link and it answers confidently. The hard part is knowing where what it says came from: the page description, a transcript or what others wrote about the video. What shows on screen, a number that changes or a diagram that appears fifteen seconds later, it did not see.
That happened to us at On Viral when we wanted Claude to review reference videos before writing about them. Here is what we learned: why it does not see, what four free paths exist, how much each pass costs and which one we chose.
Can Claude watch a video?
Not directly. Anthropic’s vision documentation lists JPEG, PNG, GIF and WebP images, and states that only the first frame of an animated GIF is used. Everything we call “watching a video” is really extracting frames, pulling the audio or subtitles and handing that material over as images and text.
That changes the question. What matters is how many frames it sees, at what size, at which moments and whether it also has the audio, because that decides how complete its reading is.
What are the 4 free paths?
We evaluated them with four criteria: it costs no money, it does not break anything on the computer, it comes from a trustworthy source and it works today.
Path A: the claude-video plugin
It is an open source plugin, under the MIT license and with more than 19,000 stars on GitHub, that downloads the video with yt-dlp, extracts frames with FFmpeg, fetches the transcript from the subtitles and hands everything to Claude. It installs with two commands:
/plugin marketplace add bradautomates/claude-video
/plugin install watch@claude-video
It needs Python 3.10 or higher, FFmpeg, yt-dlp and, for YouTube, a JavaScript runtime such as Deno. It has two engines. The local one processes everything on your computer and does not contact Google. The Gemini one sends the video to Google and is explained in path B.
Its most honest limit is in its own README: the best accuracy comes with videos under 10 minutes or with a specific segment. In normal mode it takes up to 100 frames, so in a 45-minute class it sees one every 27 seconds.
Path B: free Gemini
Gemini does understand video natively. According to its documentation, it samples one frame per second and uses about 100 tokens per second of video at low resolution, plus 32 per second of audio. It accepts YouTube links at no cost, with a free-tier cap of 8 hours of YouTube per day.
The catch is on the pricing page: on the free tier, the content you send is used to improve Google’s products. On the paid tier, it is not. Also, the one watching the video is Gemini, not Claude: you get its answer, not its evidence.
Path C: Claude in Chrome
With the extension, Claude opens the video in your browser, pauses it and takes screenshots. On YouTube the keys 0 to 9 jump from 0 to 90 % of the video, and the author’s pinned comment often has the link the video mentions but does not show.
It is useful as a backup. It has two limits: it does not hear the audio and every screenshot is a call. In our test, getting 5 frames from a 65-second Short took several steps.
Path D: your own skill with yt-dlp, FFmpeg and Whisper
It gives the most control: you decide how many frames, at what size and how to transcribe the audio of videos without subtitles. FFmpeg includes a whisper filter in version 8.0, according to its source code, which needs the whisper.cpp library and a downloaded model. The FFmpeg build that comes with yt-dlp in our installation does not have that filter, so another one would be needed.
We estimate an hour and a half of work to write and test it, against 30 to 45 minutes for the plugin.
Cost table for each path
| Path | Money cost | What it sees | Does it hear the audio? | Where it is processed | Setup time |
|---|---|---|---|---|---|
| A. Plugin in local mode | 0 dollars | Up to 100 frames per pass, adjustable | Only if the video has subtitles | Your computer | 30 to 45 minutes |
| B. Gemini, free tier | 0 dollars | 1 frame per second, Gemini sees it | Yes | Google, which uses the content to improve its products | Minutes, with a free key |
| C. Claude in Chrome | 0 dollars | One screenshot per call | No | Your browser | Immediate |
| D. Your own skill | 0 dollars | Whatever you program | Yes, with Whisper | Your computer | About 1.5 hours |
All four are free in cash. The real cost is in the tokens the frames use within your plan.
How much does one plugin pass use?
Each frame costs ⌈width / 28⌉ × ⌈height / 28⌉ tokens, the formula in the vision documentation. With the size the plugin uses, these are the maximums per mode:
| Mode | What it does | Frames, at most | Image tokens | Dollar equivalent at $4 per million |
|---|---|---|---|---|
| General pass (default) | Up to 100 frames by scene change, at 512 px | 100 | 20,900 | 0.08 |
| Transcript only | No images | 0 | 0 | 0 |
| Frame by frame, 60 s reel | 2 frames per second, no discarding | 120 | 46,800 | 0.19 |
| Magnifying glass, one segment | Up to 100 frames at 1,024 px, to read text | 100 | 77,700 | 0.31 |
| Frame by frame of a 60 s segment | 2 frames per second in the segment | 120 | 25,080 | 0.10 |
Three clarifications. The dollars are an equivalence: they are calculated at the Claude Opus 5.5 input price cited in the documentation, 4 dollars per million tokens, and on a subscription what you spend is usage allowance, not money. The transcript adds tokens separately in every mode. And Claude’s answers count too.
Why is the general pass not enough?
We tested it with a 65-second Short that explained exactly this plugin. The default pass extracted 43 frames and discarded 17 as similar. At 00:26 the video shows an animated GitHub star counter, and that pass jumped from 00:25 to 00:28.
With two frames per second and no discarding of similar frames there were 130 frames, and the counter appeared: 1,091 stars at 00:26 and 1,246 at 00:27. A number that changes without a scene cut is not caught by the automatic selection. That is why for short videos it pays to spend more frames, and for long ones it pays to ask for a segment.
Which one do we recommend?
Path A, with the local engine. It meets all four criteria: it costs no money, it keeps your videos on your computer, it has an MIT license and a version you can pin, and it is up and running in half an hour.
We make it conditional on three things:
- Pin the version when installing, for example with
bradautomates/claude-video#v0.3.2, so a change by the author does not alter your environment without warning. - Define when to spend more. We use short phrases: “give it a pass” for the general mode, “just listen to it” for the transcript, “frame by frame” for videos under 3 minutes and “with a magnifying glass from 12:30 to 18:00” for a segment with text on screen. If a long video calls for frame by frame, Claude should tell you the cost first.
- Keep path C at hand for when a download fails.
Path B makes sense if you need the audio of a long video without subtitles and accept that the content goes through Google on its free tier. Path D only pays off if you will often transcribe videos without subtitles, because that is the plugin’s only real gap.
What does none of them solve?
The audio of reels and of videos without subtitles. In path A, Claude sees the frames but does not hear the voice until you add WhisperX, which downloads about 3 GB and needs 8 GB of memory, or a Groq or OpenAI key. If your material is reels, this is how we applied it to one about optimizing your Instagram bio.
If you use AI in your business, our guides to AI marketing and to AI chatbots for sales may also help.
Do you want to put AI to work in your business with good judgment and no hype? Message us on WhatsApp and we will review it with you.
Sources
Accessed on October 25, 2026.
- Claude vision: formats, limits and tokens per image, Anthropic.
- claude-video on GitHub: installation, dependencies, limits and license.
- Video understanding in the Gemini API, Google.
- Gemini API pricing, Google: use of content on the free tier.
- Source code of the FFmpeg 8.0 whisper filter.
- The Short we tested.
- On Viral’s own tests on October 25, 2026: 65-second Short with the default pass and with two frames per second.
Frequently asked questions
Can Claude watch a video directly?
No. Anthropic's vision documentation covers images in JPEG, PNG, GIF and WebP, and states that only the first frame of an animated GIF is used. For a video you have to extract frames and the transcript and give them to it as images and text.
How much does it cost for Claude Code to watch a video?
With the plugin in local mode you pay nothing extra: the frames use tokens from your plan. A general pass costs at most 20,900 tokens and a 60-second vertical reel, at two frames per second, about 46,800. The transcript adds to that.
Does it work with Instagram or TikTok reels?
Yes for the images. Those videos almost never come with downloadable subtitles, so Claude sees the frames but does not hear the audio, unless you add a transcript with WhisperX, Groq or OpenAI.
Is it safe to install the claude-video plugin?
It is open source under the MIT license and you can pin the version so it does not change without warning. It installs Python, yt-dlp, FFmpeg and Deno on your computer and adds a script that runs when a session opens. Review what it installs before accepting.
Does it work in the claude.ai chat?
No. The plugin's README says it does not work in Claude Chat or in Cowork. It is designed for Claude Code and other environments with access to a terminal.