oaistt · /v1/audio/transcriptions · /v1/realtime · part of stt

oaistt

oaistt transcribes speech with OpenAI-compatible endpoints: OpenAI itself, a local proxy, or a gateway in front of other providers' models. It is stt fixed to that API. Batch mode uploads a WAV; live sessions stream PCM over a realtime WebSocket at the rate the model asks for.

oaistt meeting.m4a                                   # multipart batch
oaistt --model whisper-1 --lang en --prompt "Collective" talk.wav
oaistt --stream talk.wav                             # gpt-realtime-whisper, 24 kHz
oaistt --stream --model mai-transcribe-2-streaming   # through a proxy, 16 kHz
oaistt --endpoint http://localhost:4000 --stream     # a local proxy

Sample rates

One client, many models How oaistt picks a sample rate and a route. Batch requests are multipart posts of a WAV file to /v1/audio/transcriptions, with gpt-4o-mini-transcribe by default. Realtime sessions stream gpt-realtime-whisper at 24 kHz by default; any model whose name starts with mai-transcribe streams at 16 kHz, because that is what MAI expects, so an OpenAI-compatible proxy can put Azure's MAI models behind the same client. --rate overrides the choice. oaistt batchmultipart WAV · gpt-4o-mini-transcribe gpt-realtime-whisperrealtime · 24 kHz mai-transcribe-2-streamingrealtime · 16 kHz OpenAIor any compatible API a compatible proxy→ Azure MAI
One client, any compatible model. A model named mai-transcribe* streams at 16 kHz even when it is reached through an OpenAI-style proxy.
oaistt --print-request --stream --model mai-transcribe-2-streaming
{"url":"wss://api.openai.com/v1/realtime?model=mai-transcribe-2-streaming&intent=transcription",
 "rate":16000,"auth_header":"authorization","model":"mai-transcribe-2-streaming",
 "session_update":{"type":"session.update","session":{"type":"transcription","audio":{"input":{
   "format":{"type":"audio/pcm","rate":16000},"noise_reduction":null,
   "transcription":{"model":"mai-transcribe-2-streaming"},"turn_detection":{"type":"server_vad"}}}}}}

Requests and URLs