> ## Documentation Index
> Fetch the complete documentation index at: https://docs.voiceos.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Dictionary

> Help ASR recognize rare terms, product names, and code identifiers.

VoiceOS builds a dynamic ASR dictionary from two sources:

1. terms extracted from `messages`
2. terms explicitly passed in `dictionary`

The two lists are merged and deduplicated before ASR.

## When to pass dictionary

Pass explicit dictionary terms when you already know the critical terms:

```bash theme={null}
-F 'dictionary=["VoiceOS","providerFallback","VOICEOS_TEAM_API_KEY"]'
```

This is useful for:

* account names
* product names
* customer names
* medical, legal, or financial terminology
* model names
* environment variables
* API names

## When messages are enough

If the message stack already contains the important terms, VoiceOS can extract them automatically:

```json theme={null}
[
  {
    "role": "user",
    "content": "Please update getAsrRoutingDecision and add observability tags for providerFallback."
  }
]
```

Likely extracted terms:

```json theme={null}
[
  "getAsrRoutingDecision",
  "observability",
  "providerFallback"
]
```

## Keep terms concise

Good terms:

* `QdrantVectorCache`
* `LangGraph`
* `TestDashboardApp.tsx`
* `api.voiceos.dev`

Less useful terms:

* long paragraphs
* generic words like `dashboard`, `request`, `conversation`
* phrases that are not likely to be spoken

## Provider notes

VoiceOS forwards the merged dictionary in a provider-compatible format.

Provider-specific limits vary by backend mode (batch vs realtime), so keep terms concise and prioritize the highest-signal entries.
