# How Image Token Costs Are Estimated for Frames in Claude Video

> Understand how Claude Video estimates image token costs for frames using Anthropic's formula. Learn how resolution impacts token consumption and optimize your video processing.

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

---

**Claude Video estimates image token costs using Anthropic's formula of `(width × height) ÷ 750`, where a standard 512×288 frame consumes approximately 197 tokens, with costs scaling quadratically when resolution increases.**

The `bradautomates/claude-video` repository implements a deterministic cost estimation system that translates video frames into Anthropic API token counts before processing. Understanding how image token costs are estimated for frames in Claude Video enables precise budget forecasting, as the tool applies a fixed mathematical model to pixel dimensions combined with configurable frame sampling strategies.

## The Anthropic Image Token Formula

`bradautomates/claude-video` applies Anthropic's standard image-token formula to every extracted frame:

```

image-tokens = (frame-width × frame-height) ÷ 750

```

The implementation uses a **default frame width of 512 px**. Height is automatically scaled to preserve the source video's aspect ratio, ensuring that a 720p video (16:9) becomes 512×288 px. Using these default dimensions, the calculation yields `(512 × 288) ÷ 750 ≈ 197` tokens per frame.

This formula is documented in the repository's [`README.md`](https://github.com/bradautomates/claude-video/blob/main/README.md) (lines 90-92), which explains that the divisor of 750 represents Anthropic's standard pixel-to-token conversion rate for vision models.

## Resolution Scaling and Token Multipliers

When users request higher resolution processing via the `--resolution 1024` flag, both width and height roughly double. Because the formula multiplies dimensions, this quadruples the token cost per frame to approximately **788 tokens** (a 4× increase).

This quadratic scaling means that doubling resolution does not merely double costs—it exponentially increases the token consumption for the same visual content.

## Detail Modes: Controlling Frame Volume

The script distinguishes four **detail modes** that determine how many frames are extracted and submitted to the API, directly controlling total image token expenditure:

### Transcript-Only Mode

Processes no visual frames, resulting in **0 image tokens** (approximately 26,000 text tokens for a typical transcript).

### Efficient Mode

Extracts up to **50 key frames** using key-frame extraction algorithms. At default resolution, this generates approximately **9,800 image tokens**.

### Balanced Mode

Uses scene-change detection to capture up to **100 frames**, yielding roughly **19,700 image tokens** for a typical video at standard resolution.

### Token-Burner Mode

Implements uncapped scene-change detection that retains *every* detected scene transition across the entire video. The total image token cost equals the number of retained frames multiplied by the per-frame token count (197 at default resolution). The [`SKILL.md`](https://github.com/bradautomates/claude-video/blob/main/SKILL.md) file (lines 94-96) describes this mode as "scene-aware, uncapped (maximum fidelity; high token cost)."

## Implementation Warnings and Safety Limits

In [`skills/watch/scripts/watch.py`](https://github.com/bradautomates/claude-video/blob/main/skills/watch/scripts/watch.py) (lines 319-324), the script implements a safety warning when frame counts exceed **250 frames**. This threshold prevents unexpectedly large API bills, as the token-burner mode can rapidly accumulate costs—116 frames, for example, generate approximately 22,800 image tokens.

The warning logic triggers before API submission, giving users the opportunity to cancel operations that would consume excessive tokens.

## Calculating Costs Programmatically

You can replicate the token estimation logic used by Claude Video using the following Python implementation:

```python
import re
import subprocess
from pathlib import Path

def estimate_image_tokens(frame_count: int, width: int = 512) -> int:
    """
    Anthropic image-token estimate: (width × height) / 750.
    Height derived from 16:9 aspect ratio used in default processing.
    """
    height = int(width * 288 / 512)  # Preserve 16:9 ratio

    per_frame = (width * height) // 750
    return per_frame * frame_count

# Example: Estimating costs for a token-burner run

url = "https://youtu.be/example"
result = subprocess.run(
    ["python", "skills/watch/scripts/watch.py", url, "--detail", "token-burner"],
    capture_output=True, text=True
)

# Parse frame count from output ("116 selected frames...")

match = re.search(r'(\d+) selected frames', result.stdout)
if match:
    frames = int(match.group(1))
    token_est = estimate_image_tokens(frames)
    print(f"Estimated image tokens: {token_est} (≈ {frames} frames × 197 tokens/frame)")

```

For a typical 10-minute video processed with `--detail token-burner`, expect approximately 120 extracted frames, yielding **~24,000 image tokens** in addition to transcript tokens.

## Summary

- **Anthropic's formula** `(width × height) ÷ 750` converts pixel dimensions to token counts, implemented in `bradautomates/claude-video`.
- **Default settings** (512×288 px) consume ~197 tokens per frame, while `--resolution 1024` quadruples this to ~788 tokens.
- **Four detail modes** control total costs: transcript-only (0), efficient (~9.8k), balanced (~19.7k), and token-burner (uncapped, frame-dependent).
- **Safety warnings** trigger at >250 frames in [`skills/watch/scripts/watch.py`](https://github.com/bradautomates/claude-video/blob/main/skills/watch/scripts/watch.py) to prevent excessive token consumption.
- **Token estimates** scale linearly with frame count and quadratically with resolution, enabling predictable budgeting for video analysis workloads.

## Frequently Asked Questions

### What is the exact formula for estimating image tokens in Claude Video?

The formula is `(frame-width × frame-height) ÷ 750`, as documented in the repository's [`README.md`](https://github.com/bradautomates/claude-video/blob/main/README.md). For a standard 512×288 frame, this calculates to approximately 197 tokens per image.

### How does increasing resolution affect token costs?

Doubling the resolution using `--resolution 1024` roughly doubles both width and height, causing token costs to increase by a factor of approximately 4× (from ~197 to ~788 tokens per frame) due to the multiplicative nature of the area calculation.

### Is there a limit to how many frames token-burner mode will extract?

The token-burner mode itself is uncapped and will extract every detected scene-change frame across the entire video. However, the script warns users when frame counts exceed 250 frames to prevent unexpectedly large API bills, as implemented in [`skills/watch/scripts/watch.py`](https://github.com/bradautomates/claude-video/blob/main/skills/watch/scripts/watch.py) at lines 319-324.

### Does transcript-only mode consume any image tokens?

No. The transcript detail mode processes only text content, resulting in zero image tokens (typically generating approximately 26,000 text tokens for the audio transcription).