Skip to main content

Soniox STT

SonioxSTT streams PCM audio to the Soniox real-time transcribe WebSocket (wss://stt-rt.soniox.com/transcribe-websocket). Pure aiohttp transport, no vendor SDK required. The adapter accumulates is_final tokens into segments and flushes them when an <end> / <fin> endpoint token is received.

Install

Usage

Use the namespaced import (getpatter.stt.soniox) or the flat alias (getpatter.SonioxSTT). Both auto-resolve SONIOX_API_KEY from the environment when api_key= is omitted.
Plug it into an agent:

Models and rates

Soniox bills per minute of streamed audio. Default rate from getpatter.pricing:
ModelRate / min
stt-rt-v4 (default)$0.002
stt-rt-v3$0.002
stt-rt-v2$0.002
($0.12/hr = $0.002/min. Override per-call via Patter(pricing={"soniox": {"price": ...}}).)

Languages

Soniox real-time uses language hints rather than a single language code — pass a list of BCP-47 codes that the engine considers when scoring tokens:
enable_language_identification=True (default) attaches a language code to each token. Real-time STT v4 supports 60+ languages — see the Soniox language matrix.

Telephony optimization

For Twilio (mulaw 8 kHz upstream — Patter converts to PCM s16le before STT):

Options

OptionDefaultNotes
api_keyNoneReads from SONIOX_API_KEY when omitted.
model"stt-rt-v4""stt-rt-v4", "stt-rt-v3", "stt-rt-v2".
language_hintsNoneBCP-47 code list.
language_hints_strictFalseRestrict to the supplied hints only.
sample_rate160008000, 16000, 24000 Hz.
enable_speaker_diarizationFalseServer-side speaker IDs.
enable_language_identificationTruePer-token language codes.
max_endpoint_delay_ms500Silence (ms) before endpoint, range [500, 3000].

Low-level usage