Realtime TTS-2 is live. Built for realtime conversation that feels human. Read the Realtime TTS-2 announcement

Pronunciation dictionaries

Create a pronunciation dictionary

Create a named pronunciation dictionary and validate its complete contents atomically.

POST/pronunciations/v1/workspaces/{workspaceId}/pronunciationDictionaries

The service assigns the dictionary ID. Keep the returned name as the stable resource identifier and the returned etag for subsequent updates or deletion.

The service validates every entry before saving the dictionary. The complete request fails if an entry is invalid, two entries match after language-aware lexical matching, or the dictionary exceeds a limit.

Create has no idempotency key. If the connection fails before you receive a response, do not retry blindly: the service might have committed the dictionary. List the workspace's dictionaries and reconcile the result first, or a retry can create a duplicate resource.

Authorizations

Authorizationstringrequired

Your authentication credentials. For Basic authentication, send Basic $INWORLD_API_KEY. Use a Standard API key for the target workspace. Voices Read access permits list and get; Voices Write access permits all five methods.

Path Parameters

workspaceIdstringrequired

ID of the workspace that owns the dictionary. It must match a workspace accessible to the API key.

Body

application/json

displayNamestringrequired

Non-blank human-readable dictionary name, containing at most 64 Unicode code points.

pronunciationsobject[]default: []

Complete dictionary contents. A dictionary can contain up to 1,000 entries and must remain within the 512 KiB encoded dictionary limit. Entries must be unique after language-aware lexical canonicalization.

Show child attributes

displayHeadwordstringrequired

Caller-facing spelling. It must be non-blank and tokenize to exactly one replaceable lexical token.

languageCodestringrequired

Concrete language supported for pronunciation entries, in its exact canonical BCP-47 spelling: for example, en-US, not en-us, EN_US, or en. Blank values and auto are not accepted. The general TTS language list is not a pronunciation catalog. See Author pronunciation entries.

phoneSymbolsstring[]required

Ordered array of complete phone tokens supported for the selected language, not a slash-delimited or whitespace-separated IPA string. Each token can contain at most 16 Unicode code points. Preserve compound-phone token boundaries; do not split by Unicode character. Supported aliases may be canonicalized in the response. See phone-token guidance and examples.

Response

200 - application/json

namestringrequired

Service-assigned resource name in the form workspaces/{workspace}/pronunciationDictionaries/{uuid}.

displayNamestringrequired

Non-blank human-readable dictionary name, containing at most 64 Unicode code points.

pronunciationsobject[]requireddefault: []

Complete dictionary contents. A dictionary can contain up to 1,000 entries and must remain within the 512 KiB encoded dictionary limit. Entries must be unique after language-aware lexical canonicalization.

Show child attributes

displayHeadwordstringrequired

Caller-facing spelling. It must be non-blank and tokenize to exactly one replaceable lexical token.

languageCodestringrequired

Concrete language supported for pronunciation entries, in its exact canonical BCP-47 spelling: for example, en-US, not en-us, EN_US, or en. Blank values and auto are not accepted. The general TTS language list is not a pronunciation catalog. See Author pronunciation entries.

phoneSymbolsstring[]required

Ordered array of complete phone tokens supported for the selected language, not a slash-delimited or whitespace-separated IPA string. Each token can contain at most 16 Unicode code points. Preserve compound-phone token boundaries; do not split by Unicode character. Supported aliases may be canonicalized in the response. See phone-token guidance and examples.

etagstringrequired

Optimistic-concurrency token. Include the current value when updating or deleting the dictionary.

createTimestringrequired

Time at which the dictionary was created.

updateTimestringrequired

Time at which the dictionary's metadata or contents last changed.