Auto caption API
An auto caption API that burns subtitles into your video
Send a video and get it back with captions burned in, timed to what is said. Choose where the captions sit, how big they are, and whether they get a background box. The same API can also cut the pauses out of a recording, and in English the ums too.
Get an API key ยท Read the API docs
Caption a video
curl https://speakersplit.io/v1/jobs \
-H "Authorization: Bearer $SPEAKERSPLIT_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"tool": "caption_video",
"audio_url": "https://cdn.example.com/clips/launch.mp4",
"caption_position": "bottom",
"caption_size": 28,
"caption_background": "box"
}'Caption options
Videos can be up to 30 minutes long.
| Parameter | Values |
|---|---|
| caption_position | "bottom" (default), "center" or "top" |
| caption_size | 16 to 48 (default 24) |
| caption_background | "none" (default: white words with a black outline) or "box" |
| language_code | For example "en". Leave it out to detect the language. |
Need a subtitle file instead?
If you want SRT or VTT to upload next to the video rather than captions burned in, run the transcribe tool and download the transcript with format=srt or format=vtt.
Cut the pauses and filler words
remove_silence returns the recording with the gaps taken out. It works on audio up to 90 minutes and video up to 30 minutes. Filler words are only cut in English recordings.
| silence_mode | What it cuts |
|---|---|
| silence | Pauses. |
| filler (default) | Pauses, plus um and uh. |
| aggressive | Pauses, um and uh, plus mumbled and repeated words. |
curl https://speakersplit.io/v1/jobs \
-H "Authorization: Bearer $SPEAKERSPLIT_API_KEY" \
-H "Content-Type: application/json" \
-d '{ "tool": "remove_silence", "audio_url": "https://cdn.example.com/raw/episode-12.mp4", "silence_mode": "filler" }'Limits and safety
- 120 requests a minute per API key, and up to 5 jobs running at once per account.
- Upload local files up to 2 GB with POST /v1/uploads, or pass a public https link as audio_url.
- Send an Idempotency-Key header and a retried request never starts (or charges) a second job.
- Unknown parameters are rejected with a 400, so a typo never runs a job with the wrong settings.
- Result links work for 30 days.
What it costs
| Length | Captions (video) | Silence removal, audio | Silence removal, video |
|---|---|---|---|
| Under 5 minutes | 2 | 1 | 2 |
| 5 to 30 minutes | 4 | 2 | 4 |
| 30 to 60 minutes | Not available | 4 | Not available |
| 60 to 90 minutes | Not available | 6 | Not available |
Credits are the same ones you use on the website. Plans and credit options are on the pricing page.
Common questions
What does the auto caption API return?
The same video with the captions burned into the picture, timed to the speech. The finished job lists the file in outputs, and the link works for 30 days.
Can I get an SRT file from the caption API?
caption_video returns the captioned video. For an SRT or VTT file, start a transcribe job and download the transcript with format=srt or format=vtt.
Can I change how the captions look?
Yes. caption_position sets bottom, center or top. caption_size sets the size from 16 to 48. caption_background is "none" for white words with a black outline, or "box" for a background box.
How long can the video be?
Up to 30 minutes for captions and for silence removal on video. Silence removal on audio takes up to 90 minutes.
How much does the caption API cost?
Captions cost 2 credits for a video under 5 minutes and 4 credits up to 30 minutes. Silence removal costs 1, 2, 4 or 6 credits for audio, and 2 or 4 for video.