# Claude Video Token Costs for Detail Modes: A Complete Technical Guide

> Understand Claude Video token costs across transcript, efficient, balanced, and token-burner modes. Optimize visual fidelity against Anthropic API costs with this technical guide.

- Repository: [bradautomates/claude-video](https://github.com/bradautomates/claude-video)
- Tags: performance
- Published: 2026-07-26

---

**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`](https://github.com/bradautomates/claude-video/blob/main/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`](https://github.com/bradautomates/claude-video/blob/main/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`](https://github.com/bradautomates/claude-video/blob/main/README.md) and [`skills/watch/SKILL.md`](https://github.com/bradautomates/claude-video/blob/main/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`](https://github.com/bradautomates/claude-video/blob/main/skills/watch/scripts/watch.py), which parses the `--detail` argument and executes the appropriate `ffmpeg` pipeline. You can invoke different modes via the CLI:

```bash

# 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:

```bash

# 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`](https://github.com/bradautomates/claude-video/blob/main/skills/watch/SKILL.md) and the main [`README.md`](https://github.com/bradautomates/claude-video/blob/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) ÷ 750` per frame, with default 512×288 frames costing ~197 tokens each.
- Configuration happens in [`skills/watch/scripts/watch.py`](https://github.com/bradautomates/claude-video/blob/main/skills/watch/scripts/watch.py) via the `--detail` and `--max-frames` flags.

## 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`](https://github.com/bradautomates/claude-video/blob/main/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.