2026-10-04 · 3 min read
What it costs to caption video through an API: the per-second math
Captioning pricing is usually written as a plan tier with a monthly cap, which makes it hard to know what a given batch will cost. caption.sh is simpler: prepaid credits, 10 cents per minute of video, charged by the second.
The math
A clip costs its length in seconds times 10 cents divided by 60, rounded up to the cent. A 30 second short is 5 cents. A 75 second clip came to 13 cents when we rendered one through the MCP server. A 10 minute video, which is the maximum length, is a dollar.
30 s clip -> 5c
75 s clip -> 13c
5 min video -> 50c
10 min video -> $1.00
100 x 30 s -> about $5How you pay
You buy prepaid credit packs of $5, $10, $20, $50 or $100, and the two largest packs include bonus credit. Nothing renews on its own. When the balance reaches zero, the API answers 402 and stops, so a runaway script cannot spend more than you loaded.
Keeping a batch predictable
- Sum the clip durations before you submit and compare the total to your balance. The get_caption_balance call and the /v1/balance endpoint both return it.
- A rejected submit costs nothing. A 402 or a 422 does not start a render.
- Keep clips under the ten minute limit, and split long recordings first.
- Use an Idempotency-Key on retried submits so the same request is not billed twice.
What is not included
The price covers the render with captions burned in. It does not include SRT or VTT export, since caption.sh does not produce sidecar files. Prices on the pricing page are the source of truth if they ever change.
Try it
Load the smallest pack, run a few clips from the playground at caption.sh, and check the per-clip charge on the job result. The reference is at caption.sh/docs.