---
title: "Create Pronunciation Dictionary"
method: POST
path: "/text-to-speech/pronunciation-dictionary"
tags: ["pronunciationDictionary"]
---

# Create Pronunciation Dictionary

`POST /text-to-speech/pronunciation-dictionary`

Upload a `.json` file to create a new pronunciation dictionary. Only supported by **bulbul:v3**.

The file should contain a JSON object with a `pronunciations` key mapping language codes to word-pronunciation pairs. See the [Pronunciation Dictionary guide](/api-reference-docs/api-guides-tutorials/text-to-speech/pronunciation-dictionary) for format details and examples.

The returned `dictionary_id` can be passed as `dict_id` in text-to-speech requests (REST, HTTP Stream, and WebSocket).

**Limits:** Max 10 dictionaries per user, 100 words per dictionary, 1 MB file size.

## Headers

- `api-subscription-key` string, required

## Response `200`

Successful Response

- SarvamModelAPIPronunciationDictionaryResponse — Response returned after successfully creating a pronunciation dictionary.
  - `dictionary_id` string, required — Unique identifier for the created dictionary (e.g. `p_5cb7faa6`). Use this as the `dict_id` parameter in text-to-speech requests.

## Other responses

- `400` — Bad Request — Invalid JSON, missing required fields, or bad schema.
- `403` — Forbidden
- `413` — Payload Too Large — File size exceeds the 1 MB limit.
- `422` — Unprocessable Entity — Word limit exceeded (>100 words per dictionary) or dictionary limit exceeded (>10 dictionaries per user).
- `429` — Quota Exceeded
- `500` — Internal Server Error

---

[API](https://skmtc.dev/sarvam/apis/endpoints.md) · [All operations](https://skmtc.dev/sarvam/apis/endpoints/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/sarvam/endpoints/revisions/2b7f7955b147/schema)
