Claude Video Token Costs for Detail Modes: A Complete Technical Guide
Claude Video's /watch skill uses four distinct detail modes—transcript, efficient, balanced, and token-burner—that range from 0 image tokens (audio-only extraction) to over 22,000 image tokens (uncapped scene analysis), allowing you to trade speed and visual fidelity against Anthropic API costs.
Claude Video (bradautomates/claude-video) is an open-source MCP skill that enables Claude to analyze YouTube videos by extracting visual frames and transcripts. The token cost for each video request is determined by the --detail flag implemented in skills/watch/scripts/watch.py, which controls how many frames become image inputs to Claude's vision model. Understanding these costs is essential for managing API budgets when processing long-form video content.
How Detail Modes Control Token Costs
The token cost scales directly with the number of extracted frames because each frame is converted to a base64-encoded image that Claude reads as a separate vision input. The detail dial—parsed in skills/watch/scripts/watch.py—selects between four extraction strategies with different frame caps and processing speeds.
Frame extraction happens via ffmpeg pipelines defined in the source code, with each mode using a different sampling strategy: keyframe skipping, scene-change detection, or uniform sampling. The resulting frame count determines your final token bill according to Anthropic's image token formula.
Complete Token Cost Breakdown by Mode
transcript Mode (0 Image Tokens)
The transcript mode bypasses frame extraction entirely. It uses yt-dlp to fetch only the caption file or generate a Whisper transcript, taking approximately 4.5 seconds with no video download.
- Frame cap: 0
- Image tokens: 0
- Text tokens: ~26,600 (transcript content)
- Use case: Audio-only analysis, podcast summaries, lowest possible cost
efficient Mode (~9,800 Image Tokens)
The efficient mode performs a fast keyframe pass using ffmpeg -skip_frame nokey, capturing only forced keyframes up to a hard cap of 50 frames. This typically completes in under 0.5 seconds.
- Frame cap: 50
- Image tokens: ~9,800 (50 frames × ~197 tokens per 512×288 frame)
- Extraction engine: Keyframe sampling (
nokey) - Use case: Rapid preview, breaking news clips, speed-critical workflows
balanced Mode (~19,700 Image Tokens)
The balanced mode (default) employs scene-change detection with a fallback to uniform sampling, capped at 100 frames. This provides comprehensive visual coverage without excessive token burn, averaging 20.9 seconds per video.
- Frame cap: 100
- Image tokens: ~19,700 (100 frames × ~197 tokens)
- Extraction engine: Scene-change detection
- Use case: Standard analysis, educational content, detailed summaries
token-burner Mode (22,800+ Image Tokens)
The token-burner mode removes the frame cap entirely, keeping every detected scene-change frame. In a 49-minute test video, this extracted 116 frames, yielding approximately 22,800 image tokens and taking ~21 seconds to process.
- Frame cap: Uncapped (scales with video length and scene complexity)
- Image tokens: ~22,800+ (variable)
- Extraction engine: Scene-change detection without limits
- Use case: Maximum visual fidelity, forensic analysis, complex tutorials with frequent scene changes
The Math Behind Image Token Estimation
According to the project documentation in README.md and skills/watch/SKILL.md, image tokens are estimated using Anthropic's formula:
tokens = (width × height) ÷ 750
With Claude Video's default 512px width constrained to 720p aspect ratio, frames render at 512 × 288 pixels:
- Per-frame cost: (512 × 288) ÷ 750 ≈ 197 tokens per frame
This calculation determines the "Estimated image tokens" figures cited for each detail mode. Actual API costs will vary slightly based on the exact dimensions of extracted frames.
Implementing Detail Modes in Code
The implementation lives in skills/watch/scripts/watch.py, which parses the --detail argument and executes the appropriate ffmpeg pipeline. You can invoke different modes via the CLI:
# Transcript-only (cheapest)
/watch https://youtu.be/example --detail transcript
# Fast key-frame mode (~50 frames)
watch https://youtu.be/example --detail efficient
# Balanced scene-aware mode (default, ~100 frames)
watch https://youtu.be/example --detail balanced
# Full uncapped mode (most tokens)
watch https://youtu.be/example --detail token-burner
You can also override frame caps manually to fine-tune costs:
# Limit balanced mode to 40 frames regardless of scene detection
watch https://youtu.be/example --detail balanced --max-frames 40
The token-budget logic, including auto-FPS calculation and deduplication, is documented in skills/watch/SKILL.md and the main README.md.
Summary
- transcript mode costs 0 image tokens but ~26.6k text tokens, using only audio/ captions.
- efficient mode extracts up to 50 keyframes costing ~9.8k image tokens in ~0.5 seconds.
- balanced mode extracts up to 100 scene-aware frames costing ~19.7k image tokens.
- token-burner mode is uncapped, potentially exceeding 22k image tokens for maximum visual fidelity.
- Token costs are calculated as
(width × height) ÷ 750per frame, with default 512×288 frames costing ~197 tokens each. - Configuration happens in
skills/watch/scripts/watch.pyvia the--detailand--max-framesflags.
Frequently Asked Questions
Which detail mode uses the most tokens?
The token-burner mode consumes the most tokens because it removes the frame cap entirely, extracting every scene-change frame without limits. In testing, a 49-minute video yielded 116 frames (~22.8k tokens), but longer or more dynamic videos will scale higher. For lowest cost, use transcript mode (0 image tokens).
How do I calculate exact token costs for my video?
Multiply your extracted frame count by 197 (the default cost for 512×288 frames using Anthropic's formula). For precise numbers, check the frame count reported by skills/watch/scripts/watch.py after extraction, then apply: (512 × 288) ÷ 750 = 196.6 tokens per frame. Text transcript tokens add approximately 26.6k if using transcript mode.
Can I override the default frame caps?
Yes. While each mode has internal defaults (0, 50, 100, or uncapped), you can pass --max-frames N to any invocation to enforce a hard limit. For example, --detail balanced --max-frames 40 forces the balanced engine to stop at 40 frames regardless of scene detection results.
Why does transcript mode still cost text tokens?
Even though transcript mode skips image extraction entirely—resulting in 0 image tokens—it still retrieves or generates a text transcript via yt-dlp or Whisper. This transcript is passed to Claude as text input, typically consuming approximately 26,600 tokens for a standard video, which is significantly cheaper than vision processing.
Have a question about this repo?
These articles cover the highlights, but your codebase questions are specific. Give your agent direct access to the source. Share this with your agent to get started:
curl -s "https://instagit.com/install.md" Maintain an open-source project? Get it listed too →