Speech to text over WebSocket
Open a WebSocket connection to stream audio and receive transcriptions in real-time. Authentication is provided via the standard Authorization: Bearer <API_KEY> header.
Supported engines: Azure, Deepgram, Google, Telnyx, xAI, Speechmatics, Soniox, Parakeet, Humain, Reson8, Cohere.
Connection flow:
- Open WebSocket with query parameters specifying engine, input format, and language.
- Send binary audio frames (mp3, wav, linear16, or linear32 format, per input_format).
- Receive JSON transcript frames with transcript, is_final, and confidence fields.
- Close connection when done.
Query parameters
The transcription engine to use for processing the audio stream.
The format of input audio stream.
Audio sample rate in Hz. Required when input_format is a raw encoding (linear16, linear32) — those formats carry no header metadata. Ignored for container formats (mp3, wav), which self-describe their rate.
The language spoken in the audio stream. For cohere/ar-stt, this must be ar or en — unlike other engines, Cohere does not auto-detect the language, and rejects unsupported values including auto; omitting it defaults to ar.
Whether to receive interim transcription results.
The specific model to use within the selected transcription engine.
Silence duration (in milliseconds) that triggers end-of-speech detection. When set, the engine uses this value to determine when a speaker has stopped talking. Supported by xAI, Deepgram, Google, Speechmatics, and Soniox. Soniox accepts values between 500 and 3000. Other engines may not support this parameter.
Enable redaction of sensitive information (e.g., PCI data, SSN) from transcription results. Supported values depend on the transcription engine.
A key term to boost in the transcription. The engine will be more likely to recognize this term. Can be specified multiple times for multiple terms.
Comma-separated list of keywords to boost in the transcription. The engine will prioritize recognition of these words.
Response
WebSocket upgrade successful — this response is not returned directly. See 101 for frame documentation.
Changes
Changed in 7 of the 99 revisions of this API.39
- ○
added the enum value
omi-health/omi-med-stt-v1to the propertyoneOf[parakeet_models]/of thequeryrequest parametermodelrequest-parameter-property-enum-value-added
- ○
- ▲
the response property
////became nullable for the statusresponse-property-became-nullable
- ○
added the new optional
queryrequest parametersample_ratenew-optional-request-parameter
- ○
added the new enum value
Cohereto thequeryrequest parametertranscription_enginerequest-parameter-enum-value-added
- ○
added the new enum value
linear16to thequeryrequest parameterinput_formatrequest-parameter-enum-value-added
- ○
added the new enum value
linear32to thequeryrequest parameterinput_formatrequest-parameter-enum-value-added
This revision also has 34 changes that name no endpoint, such as unreferenced schemas being removed. See the revision's changelog
- ▲
- ○
added the new enum value
Reson8to thequeryrequest parametertranscription_enginerequest-parameter-enum-value-added
- ○
- ○
added the new enum value
Humainto thequeryrequest parametertranscription_enginerequest-parameter-enum-value-added
- ○
- ▲
removed the enum value
parakeet/tdt-0.6b-v3from the propertyoneOf[parakeet_models]/of thequeryrequest parametermodelrequest-parameter-property-enum-value-removed
- ○
added the enum value
nvidia/parakeet-v3to the propertyoneOf[parakeet_models]/of thequeryrequest parametermodelrequest-parameter-property-enum-value-added
- ▲
- ○
added the new enum value
Parakeetto thequeryrequest parametertranscription_enginerequest-parameter-enum-value-added
- ○
- ▲
removed the enum value
Parakeetfrom thequeryrequest parametertranscription_enginerequest-parameter-enum-value-removed
This revision also has 111 changes that name no endpoint, such as unreferenced schemas being removed. See the revision's changelog
- ▲
Of the 99 revisions, 1 has no diff computed.