Claude Video Detail Modes Token Costs: Complete Guide
TLDR: Claude Video's /watch skill offers four detail modes—transcript, efficient, balanced, and token-burner—that control image token costs ranging from 0 tokens (audio-only) to ~22,800 tokens (uncapped visual analysis), with extraction times varying from 0.5 seconds to 21 seconds depending on frame sampling strategy.
The bradautomates/claude-video repository implements intelligent frame extraction to help users balance API costs against video comprehension. Located in skills/watch/scripts/watch.py, the detail dial system converts video frames into images that Claude processes, making the --detail parameter the primary lever for controlling token expenditure when analyzing video content.
How Detail Modes Determine Token Costs
Each frame extracted from a video becomes an image that Claude processes according to Anthropic's token formula. As documented in the repository's README.md, image tokens are calculated as (width × height) ÷ 750. With Claude Video's default 512 × 288 pixel resolution (197 tokens per frame), the total token cost scales linearly with the number of extracted frames.
The skills/watch/SKILL.md file defines the contract: higher detail modes capture more frames to preserve visual fidelity, while lower modes prioritize speed and cost efficiency by reducing the frame count or eliminating visual extraction entirely.
The Four Detail Modes and Token Costs
Claude Video implements four distinct extraction strategies in watch.py, each with specific token implications:
Transcript Mode (Zero Image Tokens)
The transcript mode bypasses frame extraction entirely, relying solely on captions or Whisper-generated transcripts. This mode generates 0 image tokens and approximately 26,600 text tokens, making it the cheapest option for content analysis when visual elements are unnecessary. Extraction completes in roughly 4.5 seconds via yt-dlp without downloading video frames.
Efficient Mode (~9,800 Tokens)
Using ffmpeg -skip_frame nokey for fast key-frame extraction, the efficient mode captures up to 50 frames with minimal processing overhead. This generates approximately 9,800 image tokens and completes in roughly 0.5 seconds, making it ideal when speed is critical and glanceable visual context suffices.
Balanced Mode (~19,700 Tokens)
The default balanced mode employs scene-change detection with a 100-frame cap, falling back to uniform sampling when necessary. This produces approximately 19,700 image tokens over 20.9 seconds of extraction time, offering comprehensive visual coverage for most video analysis tasks without excessive token consumption.
Token-Burner Mode (~22,800+ Tokens)
For maximum visual fidelity, the token-burner mode uses scene-change detection without frame caps, preserving every visual transition. In testing with a 49-minute video, this extracted 116 frames totaling approximately 22,800 tokens. Extraction takes roughly 21 seconds, providing the highest detail at the greatest token cost.
Controlling Costs with Frame Caps
Regardless of the detail mode selected, you can override the frame limit using the --max-frames parameter. This hard limit caps extraction regardless of the mode's default behavior, preventing unexpected token overruns on long-form content.
# Limit balanced mode to 40 frames instead of 100
watch https://youtu.be/example --detail balanced --max-frames 40
The watch.py script parses this argument before invoking ffmpeg, ensuring the extraction pipeline respects your token budget constraints.
Practical Usage Examples
Choose your detail mode based on token budget and analysis requirements:
# Cheapest option: transcript only
/watch https://youtu.be/example --detail transcript
# Fast visual overview: ~50 frames
watch https://youtu.be/example --detail efficient
# Default balanced approach: ~100 frames
watch https://youtu.be/example --detail balanced
# Maximum visual detail: uncapped frames
watch https://youtu.be/example --detail token-burner
Summary
- Detail modes control token costs by determining how many video frames become images for Claude to process.
- Transcript mode eliminates image tokens entirely (0 tokens) using only text transcripts.
- Efficient mode costs approximately 9,800 tokens for 50 keyframes with 0.5-second extraction.
- Balanced mode costs approximately 19,700 tokens for 100 scene-aware frames.
- Token-burner mode exceeds 22,000 tokens by capturing unlimited scene-change frames.
- Token formula:
(width × height) ÷ 750applies to each 512×288 frame (~197 tokens). - Override limits with
--max-framesto cap costs regardless of detail mode.
Frequently Asked Questions
Which Claude Video detail mode uses the fewest tokens?
The transcript mode uses the fewest tokens by extracting zero images and processing only text transcripts or Whisper captions, resulting in approximately 26,600 text tokens and no image tokens. This is implemented in skills/watch/scripts/watch.py by skipping ffmpeg frame extraction entirely when --detail transcript is specified.
How does Claude Video calculate image tokens per frame?
According to the README.md documentation, Claude Video uses Anthropic's standard image token formula: (width × height) ÷ 750. With the default 512-pixel width producing 720p frames at 512 × 288 resolution, each frame contributes approximately 197 tokens to the total context window.
Can I reduce token costs without switching detail modes?
Yes. You can apply a hard frame cap using the --max-frames flag to override any mode's default limit. For example, using --detail balanced --max-frames 40 restricts the balanced mode to 40 frames instead of its default 100, reducing token costs from approximately 19,700 to roughly 7,880 tokens regardless of the selected detail level.
What is the default detail mode in Claude Video?
The balanced mode is the default setting in watch.py, extracting up to 100 frames using scene-change detection with uniform sampling fallback. This generates approximately 19,700 image tokens and provides optimal coverage for most video analysis tasks without consuming excessive API resources.
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 →