STTClient for a single pre-recorded clip, or SpeechToTextClient for continuous/live transcription from a microphone.
Batch transcription
STTClient sends one complete audio clip to POST /stt/transcribe and returns the transcript.
- Node.js
- Browser
- Python
Options
Result
Live transcription
SpeechToTextClient streams microphone audio to WS /ws/stt. The server’s VAD detects utterance boundaries automatically — you get partial transcripts while the user is speaking and a final transcript once they stop.
- Browser
- Node.js
- Python
Options
Call
endUtterance() / end_utterance() to force-finalize whatever’s currently in progress (e.g. a “done speaking” button) instead of waiting for VAD silence.
Which one do I want?
- A file the user already recorded or uploaded →
STTClient.transcribe(). - Live captions, dictation, or transcribing what’s coming from a microphone right now →
SpeechToTextClient. - Building a full voice conversation (LLM responds, TTS speaks back) →
VoiceAgentClientinstead — it already includes STT as part of the turn.