Introducing Song Creator Pro — create music with AI, locally on your device. Try it now →

Subtitle API

Subtitle API: timed SRT captions from any audio

Send audio and get back an SRT caption file, timed to the word, ready for any player or editor.

Available now as a local API in the desktop app. Cloud API coming soon.

POST/api/v1/transcription/start
printf '{"audio_base64": "%s", "return_timestamps": true}' \
"$(base64 < episode.wav | tr -d '\n')" > body.json
 
curl -X POST "http://127.0.0.1:8100/api/v1/transcription/start?sync=true&output_format=srt" \
-H "Content-Type: application/json" \
-d @body.json > episode.srt

What developers build with it

Captions come from the same word-level timing as the transcript. Caption styles can be saved as presets and reused across projects.

  • Caption files generated for every upload in a video pipeline
  • Subtitles for course libraries so every lesson is accessible
  • Burned-in captions on dubbed videos, in the dubbed language
See the product page
Response
1
00:00:00,000 --> 00:00:02,400
Welcome back to the channel.
 
2
00:00:02,600 --> 00:00:05,100
Today we're testing three budget mics.

Captioning lots of videos and want a cloud subtitle API?

Endpoints

Subtitle endpoints

MethodPathWhat it does
POST/api/v1/transcription/startReturn captions as SRT (sync=true, output_format=srt, return_timestamps=true)
GET/api/v1/subtitles/presetsList saved caption styles
POST/api/v1/subtitles/presetsSave a caption style for reuse
POST/api/v1/dubbing/projects/{project_id}/exportExport a dub with captions burned in

Cloud API

Join the cloud API waitlist

We're building a cloud API. Pick the features you need and roughly how much you'd use, and your answers decide which ones come first.

Which features do you need?

We'll only email you about the API. Unsubscribe anytime.

FAQ

Common Questions

SRT. Set output_format=srt, sync=true and return_timestamps=true on /api/v1/transcription/start. Without output_format, the same call returns JSON with word-level timestamps.

Yes, for dubs. Export a dubbing project with subtitles set to true and the captions are burned into the exported video in the project's caption style.

Yes. Leave language empty and it detects the language from the audio, or set it yourself when you already know it.

Yes. Save a style once with POST /api/v1/subtitles/presets, then list your saved styles with GET /api/v1/subtitles/presets when you set up the next project.