> For clean Markdown of any page, append `.md` to the page URL.
> For a complete documentation index, see https://docs.sarvam.ai/llms.txt.
> For full documentation content in one file, see https://docs.sarvam.ai/llms-full.txt.
> For AI client integration (Claude Code, Cursor, etc.), connect to the MCP server at https://docs.sarvam.ai/_mcp/server.

# How to specify language codes

> The 12 BCP-47 language codes supported by the Sarvam Dubbing API, and how to set source and target languages for single- and multi-language jobs.

Dubbing uses BCP-47 codes for both the source language (spoken in your file) and the target languages you want back. In the REST body those fields are `src_lang` / `target_langs`; in the Python SDK they are `source_language_code` / `target_language_codes`.

## Supported languages

| Language        | Code    |
| --------------- | ------- |
| English (India) | `en-IN` |
| Hindi           | `hi-IN` |
| Bengali         | `bn-IN` |
| Gujarati        | `gu-IN` |
| Kannada         | `kn-IN` |
| Malayalam       | `ml-IN` |
| Marathi         | `mr-IN` |
| Odia            | `or-IN` |
| Punjabi         | `pa-IN` |
| Tamil           | `ta-IN` |
| Telugu          | `te-IN` |
| Assamese        | `as-IN` |

The same 12 codes are valid for both source and target.

**Odia is `or-IN` for dubbing.** `od-IN` is not accepted. If you have code that sends `od-IN` for Odia elsewhere, it will be rejected here with a `422 unprocessable_entity_error`.