Speech to Text
Speech to text turns recorded files and live audio into text, with speaker labels, timestamps, and custom vocabulary. This page helps you choose the mode, the model, and the features that fit your application.
Choose your mode
Start from the audio you have. Each case has its own page, and a quickstart to make a first call:
- Transcribe a recorded file (offline). Send a call recording, a meeting, or a podcast episode in one request, and get the full transcript, with timestamps and speaker labels if you ask for them. Read File transcription, or start with the quickstart.
- Transcribe live audio (realtime). Stream audio from a microphone or a phone line over a WebSocket, and get the text while people speak, with events that mark the end of each turn. Read Realtime transcription, or start with the quickstart.
- Answer by voice (voice agent). When your application talks back, a voice agent runs realtime transcription, a model, and speech for you. Read Voice agents, or start with the quickstart.
Not sure which one fits? The decision chart on Offline and realtime audio answers it in two questions.
Choose your model
Once you know the mode, the model is a small choice: realtime has one model, and offline has two. Start from what you need:
| If you need | Use | Why |
|---|---|---|
| Text while people speak | Voxtral Mini Transcribe Realtime 3 | It's the realtime model: sessions, turn detection, and a streaming delay that you set. |
| Transcripts of recorded files | Voxtral Mini Transcribe 3 | It supports every offline feature. Start with it. |
| Higher-quality transcripts of recorded files | Voxtral Small Transcribe 3 | A larger model. Switch to it when the transcripts still have errors that custom vocabulary doesn't fix. |
| Answers about a recording, such as a summary or a translation | Audio in chat completions | A chat model that hears the audio and answers in text. At launch, use voxtral-small-latest (Voxtral 2). |
To move your requests to the new models, see Migrate from Voxtral 2.
Features by mode
The mode decides which features you can use. Each feature links to the page with its settings:
| Feature | Offline | Realtime |
|---|---|---|
| Speaker labels (diarization) | Yes, with segment timestamps | Yes |
| Speaker references | Yes, with diarization | |
| Context biasing | Yes | Yes |
| Language, see the supported languages | Pin it, or let the model detect it | Pin it in the session configuration, or let the model detect it |
| Segment timestamps | Yes, per segment. Word timestamps aren't available. | No: realtime segments carry a speaker label, but no start or end time. You can infer the end time from the frame alignment (if a word is emitted at 480ms with a 240ms delay, it ended at 240ms). |
| Turn detection | No | Yes |
| Streaming response | Yes: the text of a complete file arrives in pieces | Not applicable: results always arrive as events |
Diarization and turn detection can't share a realtime session: a session that sets both returns an error. Both work in realtime, in separate sessions. For details, see Diarization and turn detection.