Custom dictionaries let you control how the TTS pipeline pronounces specific words. Each dictionary is scoped to a project and contains word → replacement/IPA mappings that are applied before synthesis. Use these endpoints to sync dictionaries from your own data sources (PIM, CMS, internal glossary). The TTS-side cache is invalidated after every mutation, so the next synthesis request picks up your changes immediately.Documentation Index
Fetch the complete documentation index at: https://docs.kugelaudio.com/llms.txt
Use this file to discover all available pages before exploring further.
Authentication uses your project-scoped API key. Master-key callers
must supply
?project_id=<id> on every request because the master
key is not pinned to a project.List Dictionaries
Return every dictionary in the caller’s project.GET
Query Parameters
Required for master-key callers; rejected for project-scoped keys
whose value disagrees with the key’s project.
Response
Example
Create Dictionary
POST
Body
Display name. Must be unique within the project.
Free-form description.
BCP-47 language tag (
en, de-DE, …). Omit for all languages.Example
Get Dictionary
GET
403 Forbidden if the dictionary
belongs to a project your API key is not scoped to.
Update Dictionary
PATCH
Body
Disable a dictionary without deleting it.
Example
Delete Dictionary
DELETE
Response
List Entries
GET
Query Parameters
Case-insensitive substring filter on
word.Page size, 1-500.
Pagination offset.
Response
Add Entry
POST
Body
Word to match (≤ 200 chars).
Text the engine pronounces instead (≤ 1000 chars).
Optional IPA transcription. Takes precedence over
replacement when set.Match the original case exactly.
Example
Bulk Replace Entries
PUT
word is not in the supplied list are deleted.
Idempotent — calling twice with the same payload converges to the same
final state.
Body
Array of
{ word, replacement, ipa?, case_sensitive? } items.
Duplicate word values within the payload are rejected.Response
Example
Update Entry
PATCH
Body
Delete Entry
DELETE
Response
Error responses
| Status | Code | Meaning |
|---|---|---|
| 400 | VALIDATION_ERROR | Missing or invalid field; e.g. master-key call without project_id. |
| 401 | UNAUTHORIZED | API key missing, invalid, or not project-scoped. |
| 403 | UNAUTHORIZED | API key is scoped to a different project than the target. |
| 404 | NOT_FOUND | Dictionary or entry does not exist. |