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
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
- Standard requests. Batch is a multipart
file,model,response_format=jsonand optionallanguageandprompt; realtime is the GAsession.updatewithtype: transcription. - Any base URL, once. Origins,
/v1URLs, proxy prefixes and full paths normalise without doubling/v1; HTTP(S) and WS(S) are allowed, redirects are not followed. - The provider's VAD, or none.
gpt-realtime-whisperrejects turn detection, so it commits once at the end of input and still streams text as it arrives. - Keys from the environment.
OPENAI_API_KEYas a Bearer header; models fromOPENAI_STT_MODELandOPENAI_REALTIME_TRANSCRIPTION_MODEL. - Prompts where they exist.
--promptbiases OpenAI's models toward names and terms; Azure MAI rejects it. - Everything else is shared. Input selection, events, the daemon relay and the Nix module are the stt core's.