> For clean Markdown of any page, append .md to the page URL. > For a complete documentation index, see https://docs.meetstream.ai/guides/transcription-recordings/languages-and-translation/llms.txt. > For AI client integration (Claude Code, Cursor, etc.), connect to the MCP server at https://docs.meetstream.ai/_mcp/server. # Languages & Translation > Transcribe multilingual meetings and translate them as you go: per-provider language settings, automatic detection and translation modes. Meetings aren't English-only, and neither is the transcription stack. Language handling is a per-provider setting under `recording_config.transcript.provider`. ## Language options by provider | Provider | Field | Default | Notes | | ----------------------------------------------------------------------------------- | --------------- | ------- | ------------------------------------------------------------- | | [Deepgram](/guides/transcription-recordings/providers/deepgram) | `language` | `en` | Set explicitly, or `detect_language: true` for auto-detection | | [AssemblyAI](/guides/transcription-recordings/providers/assemblyai) | `language_code` | `en_us` | | | [Sarvam](/guides/transcription-recordings/providers/sarvam) | `language_code` | `en-IN` | Strongest choice for Indic languages | | [MeetStream engine](/guides/transcription-recordings/providers/meetstream) | `language` | `auto` | Detects automatically by default | | [JigsawStack](/guides/transcription-recordings/providers/jigsawstack) | `language` | `auto` | Detects automatically; supports 162 documented languages | | [Deepgram Streaming](/guides/transcription-recordings/providers/deepgram-streaming) | `language` | `en` | Live transcripts | Each provider expects its own language-code format (`en` vs `en_us` vs `en-IN`) — the CLI's `-l/--language` flag passes your value through unchanged. > **Note** > > MeetStream does not impose one global language list. Support follows the transcription provider you select. For JigsawStack, use `auto` or one of its [163 codes for 162 supported languages](/guides/transcription-recordings/providers/jigsawstack#supported-languages), sourced from the [JigsawStack language reference](https://jigsawstack.com/docs/additional-resources/languages). ## Translation Two providers can translate while transcribing: * **Sarvam**: set `"mode": "translate"` (instead of the default `transcribe`) — built for Indic-language meetings that need English output. * **MeetStream engine** and **JigsawStack**: set `"translate": true` alongside auto language detection. ```json { "recording_config": { "transcript": { "provider": { "sarvam": { "mode": "translate", "language_code": "hi-IN" } } } } } ``` ## Mixed-language meetings For meetings that switch languages mid-call, prefer a provider with auto-detection (`meetstream` or `jigsawstack`) — and remember you can [re-transcribe any recording](/guides/transcription-recordings/providers/transcription-providers#re-transcribe-any-recording) with a different provider or language after the fact, without re-recording anything: ```bash meetstream transcribe -p sarvam -l hi-IN ``` > Meeting bot API documentation for Zoom, Google Meet and Microsoft Teams: create bots, stream real-time audio, transcribe, and run in-meeting voice agents.