Skip to main content
Deepgram's Docs

Search documentation

Type to search this documentation.

On this pageOverview

Keyterm Prompting

keyterm string

Pre-recorded Streaming:NovaStreaming:Flux

Instantly increase accuracy and recognition of up to 100 important terminology, product and company names, industry jargon, phrases and more.

To enable Keyterm Prompting, add a keyterm parameter in the query string and set it to your chosen key term:

keyterm=KEYTERM

To transcribe audio from a file on your computer, run the following cURL command in a terminal or your favorite API client.

Bash
curl \
  --request POST \
  --header 'Authorization: Token YOUR_DEEPGRAM_API_KEY' \
  --header 'Content-Type: audio/wav' \
  --data-binary @youraudio.wav \
  --url 'https://api.deepgram.com/v1/listen?model=nova-3&keyterm=KEYTERM'

The following examples demonstrate how keyterms can significantly improve recognition accuracy and confidence scores for industry-specific terminology. These examples show typical improvements you might see across Drive-Thru, IVR, call center, and medical transcription use cases.

Source Confidence Score before Confidence Score after
nacho stack double crunch taco "word": "macho", "confidence": 0.88728034 "word": "nacho", "confidence": 0.99029267
bacon cheeseburger "word": "bake in", "confidence": 0.83456712 "word": "bacon", "confidence": 0.98234156
crispy seasoned fries "word": "crisp he", "confidence": 0.79812345 "word": "crispy", "confidence": 0.97456789
account number "word": "a count", "confidence": 0.82154321 "word": "account", "confidence": 0.97891234
representative "word": "represent a tip", "confidence": 0.79043218 "word": "representative", "confidence": 0.98654321
billing department "word": "building", "confidence": 0.81234567 "word": "billing", "confidence": 0.96789012
escalation "word": "escalate shin", "confidence": 0.76543210 "word": "escalation", "confidence": 0.98123456
customer service "word": "customer", "confidence": 0.84567890 "word": "customer", "confidence": 0.97234567
technical support "word": "tech nil call", "confidence": 0.83456789 "word": "technical", "confidence": 0.98345678
tretinoin "word": "try to win", "confidence": 0.71234567 "word": "tretinoin", "confidence": 0.96543210
prescription refill "word": "per scription", "confidence": 0.78901234 "word": "prescription", "confidence": 0.97567890
diagnosis "word": "diagnose us", "confidence": 0.80123456 "word": "diagnosis", "confidence": 0.98901234
appointment scheduling "word": "a point men", "confidence": 0.85678901 "word": "appointment", "confidence": 0.98234567

When choosing keyterms, consider the following guidelines to maximize accuracy:

Good Keyterm Examples:

  • Industry-specific terminology: Medical terms (tretinoin, diagnosis), technical jargon (escalation, API)
  • Product and company names: Brand names, service names, competitor names
  • Multi-word phrases: Common phrases in your domain (account number, customer service)
  • Proper nouns: Names, brands, titles with appropriate capitalization (Deepgram, iPhone, Dr. Smith)
  • Common non-proper nouns: Use lowercase (algorithm, protocol, refill)

What to Avoid:

  • Generic common words: Very common words that are rarely misrecognized (the, and, is)
  • Overly broad terms: Words that appear in many contexts without specific meaning
  • Excessive keyterms: Stay well under the 500 token limit; focus on the most important 20-50 terms
  • Inconsistent formatting: Ensure capitalization matches your desired output

Keyterms preserve formatting (including case and punctuation) which can help control how proper nouns, product names, or company names are transcribed. The model will use both the keyterm formatting and the audio context to determine the final transcription format.

Best practices for keyterm formatting:

  • For proper nouns (names, brands, titles): Use appropriate capitalization (Deepgram, iPhone, Dr. Smith)
  • For non-proper nouns: Use lowercase (tretinoin, algorithm, protocol)

When smart formatting is applied to the transcript, words that start sentences may be automatically capitalized regardless of keyterm formatting.

Note that while the model was trained with formatted keyterms, the final transcription may not always exactly match the keyterm’s formatting. The model balances the keyterm information with the audio context when determining capitalization and punctuation in the output.

A space must be properly URL-encoded to ensure compatibility. Both %20 and + are valid encodings, but their usage depends on context. In URL paths, spaces must be encoded as %20, while in query parameters, either %20 or + can be used.

You can pass in multiple keyterms in your query string in several ways. Do not separate keyterms with commas, semicolons, or line breaks, and do not append a weight or intensifier—keyterm does not support weights. None of these forms return an error: the API accepts the value and treats it as a single literal keyterm, so a value such as keyterm=term:0.15 silently boosts nothing rather than failing.

To boost multiple separate keyterms, repeat the keyterm parameter so each keyterm is processed individually.

Bash
curl \
  --request POST \
  --header 'Authorization: Token YOUR_DEEPGRAM_API_KEY' \
  --header 'Content-Type: audio/wav' \
  --data-binary @youraudio.wav \
  --url "https://api.deepgram.com/v1/listen?model=nova-3&keyterm=KEYTERM1&keyterm=KEYTERM2"

To boost one multi-word phrase as a single keyterm, join the words with an encoded space %20:

Bash
curl \
  --request POST \
  --header 'Authorization: Token YOUR_DEEPGRAM_API_KEY' \
  --header 'Content-Type: audio/wav' \
  --data-binary @youraudio.wav \
  --url "https://api.deepgram.com/v1/listen?model=nova-3&keyterm=term1%20term2"

In query parameters, you can also join the words of a phrase with a plus +:

Bash
curl \
  --request POST \
  --header 'Authorization: Token YOUR_DEEPGRAM_API_KEY' \
  --header 'Content-Type: audio/wav' \
  --data-binary @youraudio.wav \
  --url "https://api.deepgram.com/v1/listen?model=nova-3&keyterm=term1+term2"

Key Terms are limited to 500 tokens per request; anything beyond that will return an error like so:

title="Error"
Keyterm limit exceeded. The maximum number of tokens across all keyterms is 500.
Suggest an edit

Propose a replacement for this page. The site team reviews it before applying any changes.

Export
Documentation menu