Summary
The STT model tables on livekit docs list all monolingual language codes and multi in one flat list for deepgram/nova-3.
This reads as multi mode supports every listed language, but Deepgram’s multi mode actually supports only a 10-language subset. Any language outside that subset — Chinese, Korean, Arabic, Thai, etc. - silently degrades.
How I hit this
I built a Chinese/English support agent and, following the Multilingual transcription section, configured:
stt = inference.STT(model="deepgram/nova-3", language="multi")
English transcribed fine; Chinese was consistently garbled — the model forces Mandarin audio into one of the supported languages.
Root cause
Per Deepgram’s Models & Languages Overview, multi is its own entry with an explicit language set:
Multilingual (English, Spanish, French, German, Hindi, Russian, Portuguese, Japanese, Italian, and Dutch):
multi
Chinese is supported by Nova-3 in monolingual mode only. So “languages the model supports” and “languages multi supports” are two different sets — the LiveKit Deepgram page merges them into one list,
| Nova-3 |
deepgram/nova-3|ar,ar-AE,ar-SA,ar-QA,ar-KW,ar-SY,ar-LB,ar-PS,ar-JO,ar-EG,ar-SD,ar-TD,ar-MA,ar-DZ,ar-TN,ar-IQ,ar-IR,be,bn,bs,bg,ca,hr,cs,da,da-DK,nl,nl-BE,en,en-US,en-AU,en-GB,en-IN,en-NZ,et,fi,fr,fr-CA,de,de-CH,el,hi,hu,id,it,ja,kn,ko,ko-KR,lv,lt,mk,ms,mr,no,pl,pt,pt-BR,pt-PT,ro,ru,sr,sk,sl,es,es-419,sv,sv-SE,tl,ta,te,tr,uk,vi,zh,zh-CN,zh-Hans,zh-TW,zh-Hant,zh-HK,multi|
and the Multilingual transcription section recommends multi without mentioning the limitation:
To enable multilingual transcription on supported models, set the language to
multi.
Suggestions
- In the
Nova-3/Nova-2rows, adopt Deepgram’s phrasing and listmultiwith its explicit language subset. - Add one sentence to the Multilingual transcription section:
“multisupports a limited language set; for other languages, use monolingual mode.”