---
name: caption402-captions
description: Timed SRT and WebVTT captions plus translated subtitles (fr-CA, es, pt-BR, de, ja and more) for any video or audio file at a direct link, with the full transcript, paid per minute in USDC (x402 v2). Use when an agent needs subtitles, closed captions, a transcript, or multilingual subtitles for a media file.
---

# Caption402: captions and subtitles for agents

Base URL: https://caption402.com · Payment: x402 v2, USDC on eip155:8453 · Terms: https://caption402.com/terms

## Caption a file
`GET /api/captions?url=https://example.com/video.mp4&translate=fr-CA,es` (or POST the same fields as JSON; `translate` may be an array)
- `url` (required): a direct link to a video or audio file (mp4, mov, webm, mkv, mp3, m4a, wav, ogg...).
- `translate`: up to 5 extra languages. Regional variants are supported: fr-CA, pt-BR, es-MX, en-GB, zh-TW.
- `language`: the spoken language (2-letter code), only if you know it; otherwise it is detected.
- `vocabulary`: names and terms in the video, so they are spelled right.
- `include_words=1`: word-level timestamps for the spoken language.
- Returns `language`, `duration_s`, `captions.{lang}` with `srt` and `vtt` text plus `srt_url` and `vtt_url` downloads (kept 24 hours), and `text` (full transcript).

## Price
$0.05 per started minute in the spoken language, +$0.02 per minute for each translation, $0.10 minimum, up to 30 minutes. The 402 response quotes the exact price from the file's duration. Charged only if captions are delivered. Most x402 clients cap one payment at $1 by default (20 minutes without translation).

## Before paying (free)
- `GET /api/captions/quote?url=...&translate=...` returns the duration and exact price, or why the link can't be used.
- `GET /api/sample/captions` shows a full sample result. `GET /api/languages` lists codes.

## What is not possible
- Links to YouTube, TikTok, Instagram, Netflix and other streaming or social platforms (refused).
- Live streams, files longer than 30 minutes, files without an audio track.
- Media you don't have the right to process.

## Tips
Translations keep the exact timing of the original captions, so all languages stay in sync. Processing usually takes 10 to 90 seconds; keep the connection open.
