Free
For trying it on your own videos.
$0 no card needed
5 minutes, about 10 thirty-second videos
- Videos up to 3 minutes
- 1 job at a time
- 1 free re-render per job
- All five outputs on every job
Pass a URL or upload a file. Get back a burned MP4 plus SRT, VTT, ASS and word timings. Built for n8n, Make and agents.
Caption this with the highlight preset, and get Acme and SK-7 spelled right.
cdn.acme.com/clip.mp4
Done. 42 seconds charged, 4:18 left on your balance.
$ curl -X POST https://api.captionpipe.com/v1/caption_video \ -H "Authorization: Bearer $CAPTIONPIPE_API_KEY" \ -H "Content-Type: application/json" \ -d '{"inputUrl":"https://cdn.acme.com/clip.mp4","preset":"highlight"}' { "jobId": "job_9f2", "status": "probing" }
How it works
There is no editor to open and no ffmpeg on your side. Each of these is one call.
create_upload
Give us the video
Pass a direct media URL and skip this entirely, or ask for an upload and PUT the bytes yourself.
caption_video
Say how you want it
A preset, an optional dictionary of names the transcript should get right, an optional language.
get_caption_job
Collect the files
Poll until it is done. A burned MP4 and four sidecars, available for 24 hours.
render_captions
Fix a word, re-burn
Your agent edits the words and timings. We re-burn from them. Free, and it does not count against your balance.
See it
Drag the seam. Left is what you send. Right is what came back from one real job, with the words burned into the pixels rather than sitting in a sidecar file.
Demo. A generated clip, captioned by a real job on 7 September 2026. Muted.
Billed by the whole second, so 12.05 seconds cost 13. The five files came back together and stayed for 24 hours. It ran on the trial, so it had 1 free re-burn, which the corrections section below spends.
Presets
Pick one per job. There are no custom fonts, colors or boxes, because every one of those is a decision you would have to make on every video.
The word being spoken takes the accent.
White with a hard outline. Nothing else.
A plate behind the line, for busy footage.
Corrections
Send up to 1,000 terms with the job and the names come out right the first time. When something is still wrong, your agent edits the words and timings and we burn it again. Same job as above.
first burn, highlight #FFD400
- { "text": "notebook,", "startMs": 662, "endMs": 1163 } + { "text": "CaptionPipe", "startMs": 662, "endMs": 1163 }
jobId "job_8bb3..." words [ ...27 words ] highlightColor "#00D4FF" idempotencyKey "t35-render-1788810434"
v2 ready in 21 s. Charged 0 s.
The word was not wrong. It was swapped, and the colour with it, so the re-burn shows in the pixels. A real correction is the same call with a real edit.
one word changed, highlight #00D4FF
Re-burning is free, 3 times per job on a paid account and 1 on the trial, for 24 hours. It does not touch your balance and it never runs a language model over your words. What you send is what gets burned.
Who it is for
Workflow builders
You already move video through n8n or Make. This is one HTTP call in the middle of it, not a tool your team has to learn.
Generated-video pipelines
Your generator returns a URL. Pass that URL straight in. Nothing is downloaded to your side and nothing is re-encoded twice.
Agents
Connect over MCP and the tools show up where your agent already works. It reads the schema and sequences the calls itself.
Pricing
4¢ a minute, billed by the second. No subscription, nothing renews.
For trying it on your own videos.
$0 no card needed
5 minutes, about 10 thirty-second videos
Choose how much to add to your balance. Use it whenever.
$10 for 250 minutes
Same 4¢ a minute at any amount. Billed by the whole second, and a failed job costs nothing.
Limits
Everything below is checked before you are charged, so a file we cannot take costs you nothing.
Questions
What do I actually get back?
A burned MP4, plus SRT, VTT, ASS and a words.json with per-word timings. All five, every job.
Do I need to upload the file?
Only if it lives on your machine. If your video is already at a URL, pass the URL and there is no upload step at all.
What happens if a name comes out wrong?
Send up to 1,000 terms with the job and they are used on the first burn. If something is still wrong, your agent edits the words and re-burns. That is free, 3 times per job on a paid account and 1 on the trial, for 24 hours.
How am I billed?
By the whole second, against a prepaid balance. Minutes come in $10 blocks of 250, 1 to 10 per checkout. No subscription, no seats, no auto-refill.
What if a job fails?
You are not charged. The hold on your balance is returned and the error tells you which of the limits you hit.
Is my video kept?
Files are deleted 24 hours after a job finishes. Dictionary terms are held for that job and deleted with its files.
Why is 30 minutes the ceiling?
Because it is the honest one. Longer files are a different product with different costs, and quoting a limit we cannot hold would be worse than the limit itself.