How to make ChatGPT actually watch a video
Spoiler: ChatGPT can't watch videos. Paste a YouTube link and it reads the transcript — not one frame of the picture. Here's the 2-command fix.
黃志弘 Leo
Published 2026-07-12 · 6 readers
Why "ChatGPT, watch this video" doesn't work
Paste a YouTube link into ChatGPT and it fetches text: the title, the description, the captions. It has not seen a single frame. Ask it "what's on screen at 0:42?" and it will guess from the words — confidently, and often wrongly.
Upload a video file directly and you hit the same wall: ChatGPT doesn't ingest video. Claude won't take a video file at all. Even Gemini, which can read video natively, sends your file to Google and samples frames at a fixed interval (1 fps by default), so fast cuts slip past between samples.
The fix isn't a bigger model. It's giving the model what it can already read: the frames that matter, plus the transcript.
The fix: turn the video into something ChatGPT reads natively
claude-real-video (short name: crv) is a free, MIT-licensed command-line tool with 2k+ GitHub stars. Point it at a URL or a local file and it:
- extracts a frame at every scene change (not a fixed quota), so fast cuts don't slip past
- throws away near-duplicate frames, so a 10-minute static slide collapses to 1 image
- transcribes the audio with Whisper (or uses the video's own subtitles when available)
- writes a
MANIFEST.txtthat tells the model how to read the whole package
All processing runs on your own machine — the source video never gets uploaded. Only what you later paste into ChatGPT goes to OpenAI.
Step by step (2 commands)
1. Install
# macOS (Windows: winget install Gyan.FFmpeg / Linux: apt install ffmpeg)
brew install ffmpeg
pip install "claude-real-video[whisper]"2. Run it on any video
# YouTube, Instagram, TikTok links or a local file all work
crv "https://www.youtube.com/watch?v=..."
→ crv-out/frames/*.jpg + transcript.txt + MANIFEST.txt3. Feed it to ChatGPT
Open a new ChatGPT conversation, drag in the frames (or the 3x3 contact sheets — see below) together with transcript.txt, and prompt:
These are the keyframes and transcript extracted from a video.
1. Summarize what the video is about
2. Outline its structure
3. Tell me what happens visually that the transcript doesn't mentionFrom here, ask anything — it's now answering from the actual picture, not a text summary of one.
Tip: use --grid to send 9x fewer images
crv "https://youtu.be/..." --grid --why "explain the editing structure"--grid tiles consecutive keyframes into 3x3 contact sheets, so ChatGPT reads a sequence instead of scattered stills — and you attach far fewer images. --why writes your question into the manifest so the analysis focuses on what you care about.
Why not just screenshot every second?
| fixed-interval sampling | claude-real-video | |
|---|---|---|
| Frame selection | every N seconds | scene-change detection + density floor |
| Static slide (10 min) | ~600 near-identical frames | collapses to 1 |
| Fast-cut reel | misses frames between samples | catches each visual change |
| Repeated shots (A-B-A cuts) | sent again every time | each shot sent once |
| Where processing happens | often someone's cloud | your machine |
FAQ
Can ChatGPT watch a video?
Not directly. It reads a YouTube link's transcript and metadata — text, not pixels. Extract keyframes + transcript with crv and it can genuinely analyze the visuals.
Does my video get uploaded?
No. crv runs entirely on your machine. Only the frames or text you choose to paste into ChatGPT afterwards go to that provider.
Does this work with Claude and Gemini too?
Yes — the output is plain images and text, which every major LLM reads. See the companion guide on Claude video analysis.
What about camera moves and pacing?
Keyframes tell a model what's on screen, not how it moves. For camera-move classification, cuts-per-minute rhythm, and a timestamped gesture/emotion timeline, that's the paid add-on crv Pro ($29 one-time).