> ## Documentation Index
> Fetch the complete documentation index at: https://docs.inworld.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# Language support

> Language support for the Inworld first-party STT model.

The Inworld STT model (`inworld/inworld-stt-1`) supports **30 languages** for speech recognition.

## Supported languages

| Language | Code |
| --- | --- |
| Arabic | `ar` |
| Cantonese | `yue` |
| Chinese | `zh` |
| Czech | `cs` |
| Danish | `da` |
| Dutch | `nl` |
| English | `en` |
| Filipino | `fil` |
| Finnish | `fi` |
| French | `fr` |
| German | `de` |
| Greek | `el` |
| Hindi | `hi` |
| Hungarian | `hu` |
| Indonesian | `id` |
| Italian | `it` |
| Japanese | `ja` |
| Korean | `ko` |
| Macedonian | `mk` |
| Malay | `ms` |
| Persian | `fa` |
| Polish | `pl` |
| Portuguese | `pt` |
| Romanian | `ro` |
| Russian | `ru` |
| Spanish | `es` |
| Swedish | `sv` |
| Thai | `th` |
| Turkish | `tr` |
| Vietnamese | `vi` |

## Specifying a language

The `language` field is a **language hint**: it tells the model which language to prefer, but the model may not follow it. The model detects the spoken language from the audio. You can switch languages during a conversation without changing the hint.

The field accepts [ISO 639-1](https://en.wikipedia.org/wiki/List_of_ISO_639-1_codes) language codes (e.g., `en`, `ja`) matching the codes listed in the table above.

<Note>BCP-47 codes (e.g., `en-US`, `ja-JP`) are also accepted and will be automatically converted to the base ISO 639 language code — for example, `en-US` becomes `en`. Regional variants do not affect recognition behavior.</Note>

<Tip>If you know the audio's primary language, a hint generally improves transcription accuracy. This is especially useful for short utterances where auto-detection may lack context.</Tip>

<Note>Setting `language` also constrains the **output script** for English, Chinese, Cantonese, Japanese, Korean, Russian, and Hindi. For example, `en` keeps the transcript in Latin script (a name spoken in another language is romanized rather than written in its native script), while `ja` allows Japanese script. This applies only when you set the hint: to let auto-detection follow the spoken language as it changes mid-stream, leave `language` empty.</Note>

## Next steps

<CardGroup cols={2}>
  <Card title="Developer Quickstart" icon="bolt" href="https://docs.inworld.ai/stt/quickstart.md">
    Make your first STT API call and get a transcript.
  </Card>

  <Card title="API Reference" icon="code" href="https://docs.inworld.ai/api-reference/sttAPI/speechtotext/transcribe.md">
    View the complete API specification.
  </Card>
</CardGroup>
