For developers choosing how their agent watches video
Playhead vs Gemini for video questions
Gemini and Playhead solve different halves of the same problem. Gemini reads a video directly, at 1 frame per second, and every frame stays in the context window: Google documents about 300 tokens for each second of video, so 10 minutes costs about 180,000 tokens before the model answers anything. Playhead reads the video on its own servers and returns the answer in words, about 2,500 tokens, with the second of every moment it names. Use Gemini when the video is short and you want the model to look at it. Use Playhead when the video is long, when the agent has other work to do, or when a moment has to be found to the frame.
Published 9 min read
The short version
- Gemini samples video at 1 frame per second. Google's documentation warns that a fast action sequence can lose detail at 1 frame a second.
- A 10 minute video costs about 180,000 tokens of Gemini's context at default media resolution, and about 60,000 at low resolution.
- Playhead answers the same question in about 2,500 tokens, because the video is watched on our side and what comes back is prose with timestamps in it.
- Playhead dates every moment in an answer to 2 decimal places, and a question about 4 seconds of a video reads those 4 seconds rather than the whole file.
- Neither replaces the other. Playhead calls a vision model too, and that call is not free. The difference is whose context window pays for the pictures.
What Gemini is better at
First, because a comparison that opens with our own advantages is an advertisement rather than a comparison.
- Gemini reads the video itself. There is no second service between the model and the frames, and no second bill.
- A public YouTube URL can be passed straight to the API. Nothing is downloaded, stored or uploaded by you.
- The reasoning and the looking happen in the same model, so a question that mixes the two never crosses a boundary where context is lost.
- There is a free tier, and for a short clip it is genuinely free.
- Gemini 3 exposes a media_resolution parameter, so the token cost per frame is a dial rather than a fixed price.
How they compare
| What you want | Gemini | Playhead |
|---|---|---|
The difference is whose context window pays
Both approaches send frames to a vision model. They disagree about where the model sits.
Gemini takes the video as an input. The frames enter the same context window as your prompt, your tools and the rest of the conversation, and they stay there for the whole turn.
Playhead puts a boundary in the middle. The video is fetched, decoded, sampled and read on our servers. What crosses back into your agent is prose with timestamps in it.
That is the whole architectural difference, and every row of the table above follows from it.
- Gemini, 10 minutes of video
- ≈180,000 tokens
- Gemini, the same at low resolution
- ≈60,000 tokens
- Playhead, the same video
- ≈2,500 tokens
What 1 frame per second cannot see
Google documents the rate and the consequence. The consequence is easy to underestimate.
At 1 frame per second, everything that happens between two frames is gone. A cut at 1.24 seconds and a cut at 1.88 seconds land in the same gap, so an answer can report one cut where there were two.
Google says so in the documentation: fast action sequences might lose detail due to the 1 FPS sampling rate, and the suggested workaround is to slow the clip down before you send it.
For a talking-head interview this changes nothing. For an advert cut at 24 cuts a minute, a product demo, a sports clip or a screen recording where a menu opens and closes inside a second, it changes the answer.
The video is cut at 1.24s, 2.88s, 4.02s, 5.60s and 7.14s. Five cuts across six segments, so about 24 cuts a minute. The shortest segment is 1.14s and the longest is the closing shot from 7.14s to the end.
Playhead answers the other end of this problem by narrowing the question. Ask about one stretch of a few seconds and those seconds are read on their own, closely enough to separate two cuts that land inside the same second.
Run the same question through both
The comparison above is arithmetic. This is the version you can check yourself.
curl -X POST https://api.tryplayhead.com/v1/watch_video \
-H "Authorization: Bearer $PLAYHEAD_API_KEY" \
-H "Content-Type: application/json" \
-d '{"url": "https://www.tiktok.com/@user/video/730…",
"question": "list every cut, in seconds, and say how fast this is cut"}' \
| jq -r '.answer, .session_id'Send the same clip to Gemini with the same question, and count the tokens each one reports. That is the measurement, and it takes about five minutes.
When to choose Gemini instead
Choose Gemini when the video is short, when you are already building on Gemini, and when the question is about what the video is rather than about what happens at a particular second. For a 30 second clip the whole argument below is worth about 9,000 tokens, which is nothing, and one API call is simpler than two systems.
The verdict
For a short clip, send it to Gemini. One call, one bill, and 9,000 tokens is a price worth not thinking about. The moment the video gets longer than a couple of minutes, or the answer has to name a second and be right about it, the arithmetic turns: 180,000 tokens is most of a context window spent before the reasoning starts, and 1 frame per second is a rate that cannot separate two cuts 0.64 seconds apart. That is the line, and it is a line about the video rather than about the model.
Common questions
Does Playhead replace Gemini?
No. Playhead is a layer in front of a vision model and it calls one on every reading. What it replaces is the part where a video enters your agent's context window frame by frame. The model that answers your question can still be Gemini.
How many tokens does a video cost in Gemini?
Google documents about 300 tokens for every second of video at default media resolution, and about 100 tokens a second at low media resolution. Individual frames are 258 tokens at default resolution or 66 at low, plus 32 tokens a second for the audio.
How long a video can Gemini read?
Google documents up to 1 hour of video at default media resolution on a model with a 1 million token context window, or up to 3 hours at low media resolution.
Can Gemini read a TikTok or an Instagram video?
Not from the link. Google's API takes a public YouTube URL directly; any other platform means downloading the file yourself and uploading it through the File API first. Playhead fetches from TikTok, Instagram, X, Facebook, Vimeo, Twitch, Dailymotion and Reddit on its own side.
Which one gives more accurate timestamps?
Playhead burns each frame's own time into the pixels above the picture, so the model reading it cannot lose track of which second it is looking at or invent one. Google's documentation describes referring to timestamps in a prompt as MM:SS, and does not describe how a returned time is grounded.