Speech to Text API
Speech to text API with word timestamps and speaker labels
Send audio and get back the text with a start and end time for every word, labelled by speaker.
Available now as a local API in the desktop app. Cloud API coming soon.
printf '{"audio_base64": "%s", "return_timestamps": true, "num_speakers": 2}' \ "$(base64 < interview.wav | tr -d '\n')" > body.json curl -X POST "http://127.0.0.1:8100/api/v1/transcription/start?sync=true" \ -H "Content-Type: application/json" \ -d @body.jsonWhat developers build with it
It detects the language automatically, or you can set one. Ask for SRT instead of JSON when you need a subtitle file.
- Searchable transcripts for podcast and interview archives
- Meeting notes split by who said what
- Timed text for editing tools that cut video by transcript
{ "success": true, "text": "So how did the launch go? Better than we hoped.", "timestamps": [ { "text": "So", "start_time": 0.0, "end_time": 0.21, "speaker": "SPEAKER_00" }, { "text": "how", "start_time": 0.21, "end_time": 0.38, "speaker": "SPEAKER_00" }, { "text": "Better", "start_time": 2.1, "end_time": 2.46, "speaker": "SPEAKER_01" } ]}Need transcription as a cloud API instead of running locally?
Endpoints
Speech to text endpoints
| Method | Path | What it does |
|---|---|---|
| POST | /api/v1/transcription/start | Transcribe audio, as JSON or SRT |
| GET | /api/v1/transcription/progress | Poll a transcription started without sync |
| POST | /api/v1/transcription/cancel | Cancel a running transcription |
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.
FAQ
Common Questions
Yes. It attributes each part of the transcript to a speaker automatically. Set num_speakers when you know how many people are talking.
Per word. Set return_timestamps to true and each word comes back with its start and end time in seconds, plus a speaker label when speaker detection ran.
Yes. Call /api/v1/transcription/start with sync=true, output_format=srt and return_timestamps set to true, and the response is a SubRip subtitle file.
No. Through the desktop app's local API, transcription runs on your own computer and the audio never leaves it.
Explore
Related APIs
Text to speech
Turn text into speech with preset speakers in 10 languages.
Voice cloning
Clone a voice from a short clip and speak new text with it.
Voice design
Describe a voice in words and generate speech in it.
Dubbing
Dub videos into 21 languages, keeping each speaker's voice.
Subtitles
Generate SRT caption files with word-level timing.
Clips
Cut long videos into short, captioned clips.
AI Cut
Remove silences, filler words and bad takes, then render.
Avatars
Make a lip-synced talking-head video from one photo.
Voice changer
Re-voice a recording while keeping its timing and emotion.
Audiobooks
Narrate a manuscript with a voice for every character.