VOICE / use-grok-voice-transcribe-2-0

Voice

Use Grok Voice Transcribe 2.0 on the Speech-to-Text API

grok-voice-transcribe-2.0 is the current Speech-to-Text model on the xAI API. Docs list it as the default when model is omitted. News: Introducing Grok Voice Transcribe 2.0 (Sep 18, 2026). Capability guide: Speech to Text.

Unary call with the model named

curl -X POST https://api.x.ai/v1/stt \
  -H "Authorization: Bearer $XAI_API_KEY" \
  -F model=grok-voice-transcribe-2.0 \
  -F format=true \
  -F language=en \
  -F "keyterm=Understand The Universe" \
  -F file=@audio.mp3

Put every option field before file. The guide warns that fields after file may be ignored on streamable uploads.

Omit model and you still get grok-voice-transcribe-2.0. Naming it makes the choice visible in logs and code review.

Streaming

Open wss://api.x.ai/v1/stt with model=grok-voice-transcribe-2.0 in the query string (same default if omitted). Wait for transcript.created, send raw audio as binary frames, finish with {"type":"audio.done"}. Proxy the socket through your backend so the API key never sits in the browser.

What ships with 2.0 at the same price

Batch is $0.10 / hr of audio; streaming is $0.20 / hr (pricing). Diarization, timestamps, and key terms are included. Existing STT integrations that omit model pick up 2.0 accuracy with no code change once it is the default.

Related knobs

Pitfalls

  • Max file size is 500 MB (413 when larger).
  • format=true needs language.
  • This covers the Voice API STT endpoints only. grok.com Voice Mode and Grok Bot dictate / Start voice chat use different surfaces.