Skip to main content
In Voice API sessions, Spoken Terms ensure that the vocabulary that matters to you, such as company names, acronyms, product names, and people’s names, is transcribed with the exact spelling you choose. You provide the words, and speech recognition uses your spelling whenever they’re spoken. Unlike glossaries, Spoken Terms are monolingual. They affect how speech is recognized, not how the recognized text is translated. This guide shows you how to set up Spoken Terms via the API and keep them current as your vocabulary grows. You can also manage them in DeepL Home.
Spoken Terms are available on all plans that include the DeepL Voice API. The number of collections you can create depends on your plan.

Collect domain-specific terms

Review your calls for domain- and company-specific words you want transcribed with complete accuracy. Collect them in a term list: the terms, written exactly as you want them to appear in your transcripts (terms are case-sensitive). In the next step, you’ll send this list to the DeepL API.
Each term list holds at most 300 characters in total (see Spoken Terms Requirements for all size and content rules), so spend the budget on the terms that matter most rather than your full vocabulary.

Create a collection

Term lists are stored in a Spoken Terms collection, which can hold one term list for each language. Create a collection with POST /v3/spoken-terms:
Example request
Example response
Store the spoken_terms_id; every voice session that should use these terms passes it.

Start a voice session with your terms

Include the spoken_terms_id when you create a voice session. The terms for the session’s source language are then recognized correctly in the transcription:
Example request
See the Real-Time Voice Quickstart for an example of the full Voice API session flow. To also control how your terms are translated, pass a glossary_id in the same session. Spoken Terms control how speech is recognized, and glossaries control how it’s translated. Spoken Terms are available for all DeepL Voice languages. To check a language programmatically, call GET /v3/languages?resource=voice and look for the spoken_terms feature key on the source language.

Add terms as your vocabulary grows

To add terms without resending the existing ones, PATCH the collection; entries you pass for a language are merged into its existing term list:
Example request
Example response
Running sessions aren’t affected; the updated terms apply to sessions started after the change.

Replace a language’s terms

To rebuild a language’s term list from scratch, for example from an updated product catalog, PUT the term list with the new entries. Unlike PATCH, which adds to the existing list, PUT replaces the list entirely (or creates it, if the language is new to the collection):
Example request
Example response
See the Spoken Terms reference for full details on managing collections. Size and content rules are collected in Spoken Terms Requirements.