What the status means
- Production is what our own voice agents listen with on live calls. Hindi is production, and so is the English mixed into it (Hinglish).
- Beta is good enough to build against. Try it on your own audio before you put it in front of customers, and tell us what you hear. English-only speech is in beta while we measure it.
- Preview is accepted and transcribed today, and we have not yet published accuracy for it. Measured numbers are published here as each language clears our evaluation. Test on recordings from your own callers before you rely on it.
Pass the language
Send the code you expect the speaker to use.gu-IN and gu mean the same,
in any case. When you leave it out, we transcribe Hindi.
A code outside the ten is refused with
400 invalid_config.
No automatic detection
Mira STT does not guess the language.auto and unknown are refused with
400 invalid_config, so pass the language you expect. If you don’t know it
before the call, start with the language most of your callers speak.
On the socket you can change it mid-session. Send
{"event": "config.update", "language_code": "ta-IN"} and it applies from the
next utterance; the utterance in progress finishes in the language it started
with. On HTTP, each request carries its own language.
English inside an Indian language
Indian speech mixes in English all the time. Pass the Indian language, and the English words in it come back in English, in Latin script, the way they were said. Nothing is translated, and the rest stays in the language’s own script:hi-IN
gu-IN
en-IN for it. Use en-IN when the speaker talks English throughout.
When to use offline transcription instead
Offline transcription is a separate service for recordings that already exist. Use it when you need speaker labels, timestamps across a long call, or recordings of up to two hours. It takesauto, which
detects the main language, and its own codes: hi, gu, en, mr, pa,
bn and ur. For one clip of up to two minutes, or live audio, use the
speech-to-text API.