STT · streaming

Speech-to-text, in real time.

Streaming transcription over WebSocket with interim and committed results, plus a synchronous upload route for files. Audio is never stored — the transcript is the deliverable.

stt · streaminglive
finalmhoro ndinonzi natasha
finaluku kuedza kwetv
interimndinoda kuchinja plan…
16 kHz PCM in · 0 audio retained
POST/api/enterprise/v1/stt/transcribe
16 kHz
PCM in, mono int16
25 MB
max file upload
WS
partial + final results
0
audio retained
request parameters
file16-bit PCM WAV
languagecode, default "sn"
pageint, history only
size1 – 100
STREAMING

Transcripts as the words arrive

Open a WebSocket, send raw PCM at 16 kHz, and read partial frames while the caller is still speaking — then the final when the utterance closes.

WebSocket & REST
Partial + final frames
Per-connection metering
Live transcriptionLIVE
listening…
TRANSCRIPT
00:03Hello,
00:05Hello, I'd like
00:06Hello, I'd like to schedule
00:08Hello, I'd like to schedule an
00:09Hello, I'd like to schedule an appointment
00:11Hello, I'd like to schedule an appointment for tomorrow.
final transcript
CAPABILITIES

Everything Speech-to-Text API does

Streaming & batch

Transcribe live over a WebSocket, or POST a WAV and get the transcript back in one call.

Interim and committed

Partial hypotheses arrive as they are formed; filter on final for text that will not be revised.

Segment timings

Each segment carries start and end in seconds, so a transcript can be aligned back to the audio.

Nothing kept

Submitted audio is never persisted, on either transport. The recording is usually of a third party.

Real-world audio

Accents, code-switching and background noise.

Hello, I'd like to book an appointment.
हाँ, कल सुबह 10 बजे ठीक रहेगा.
Can you please confirm the booking?
16-bit PCM WAV
mono or stereo
What the service does

Documented behaviour, not inference tricks.

Stereo downmixed
Two channels folded to one
Resampled to 16 kHz
Any input rate, server-side
Interim results
Partials while the caller speaks
Nothing retained
Audio is never stored
What comes back

Interim hypotheses, then committed text.

partial
hello i'd like to book an appoint
final0.0s – 2.1s
Hello, I'd like to book an appointment.
final2.1s – 5.7s
हाँ, कल सुबह 10 बजे ठीक रहेगा.
partials get revised — keep frames where type: "final"
INPUT

Takes what a phone line gives you

Stereo is downmixed and anything off 16 kHz is resampled server-side. Audio that ends mid-syllable still returns text — a second of silence is appended before end-of-audio, unbilled, so the recogniser commits.

Stereo downmixed
Auto-resampled
No empty transcripts

Ready to answer every conversation?

Tell us what you're building and we'll scope it with you.