# Configuration Reference

This page documents every option available in each configuration section of the Voice Agent settings form. See [The Voice Agent Editor](the_editor.html) for an overview of the form layout and how to navigate between sections.

## Speech-to-Text (STT) Providers

Select the STT provider using the **Transcriber Provider** dropdown at the top of the **Input Speech Details** section. Fields update automatically based on the selected provider.

### Custom Transcriber

| Field | Description |
| --- | --- |
| **Default Language** | Primary transcription language (BCP-47 code, e.g. `en-US`). |
| **Candidate Languages** | Additional languages for multi-language detection. Multi-select. |
| **Speech Key** | Azure Cognitive Services subscription key. |
| **Speech Region** | Azure region for the Speech service (e.g. `eastus`). |
| **Use External VAD** | Use an external Voice Activity Detector instead of Azure’s built-in VAD. Off by default. |
| **VAD Silence Threshold** | Duration of silence (seconds) before the external VAD ends a speech segment. Default: 1. Only visible when Use External VAD is on. |
| **VAD Sample Rate** | Audio sample rate (Hz) for the external VAD. Default: 16000. Only visible when Use External VAD is on. |

### AWS Transcriber

Amazon Transcribe streaming transcription.

| Field | Description |
| --- | --- |
| **Auto Language Identification** | Let Amazon Transcribe detect the spoken language automatically. On by default. |
| **Language** | Fixed transcription language. Only visible when Auto Language Identification is off. Options span 26 languages including English (US/UK/AU/IN), Vietnamese, Thai, Indonesian, Malay, Tagalog, Tamil, Telugu, Hindi, Arabic, Japanese, Korean, Mandarin Chinese, and major European languages. |
| **Preferred Language** | The language to favour when multiple candidate languages are detected. Only visible when Auto Language Identification is on. Default: English (US). |
| **Candidate Languages** | Languages the identifier may choose between. At least 2 required when Auto Language Identification is on. |
| **Use External VAD** | Use an external Voice Activity Detector. Off by default. |
| **VAD Silence Threshold** | Duration of silence (seconds) before the external VAD ends a speech segment. Default: 0.5. |
| **VAD Sample Rate** | Audio sample rate (Hz) for the external VAD. Default: 16000. |
| **Enable Denoiser** | Apply audio denoising before transcription. Off by default. |
| **Denoiser Type** | Denoising algorithm to use. Options: `RNNoise`, `Other`. Only visible when Enable Denoiser is on. |

### Deepgram

Deepgram real-time streaming transcription API.

| Field | Description |
| --- | --- |
| **API Key** | Deepgram API key. Required when On-Premise is off. |
| **Language** | Transcription language (BCP-47 code). Default: `en-US`. |
| **Model** | Deepgram model to use. For English, select `nova-2`. For Indonesian (`id-ID`), Vietnamese (`vi-VN`), or Malay (`ms-MY`), select a language-specific model version from the dropdown. |
| **Model Version** | Version string for the selected model. |
| **WebSocket URL** | Deepgram streaming endpoint URL. Leave empty to use Deepgram’s default cloud endpoint. |
| **On-Premise** | Connect to a self-hosted Deepgram instance via the WebSocket URL instead of Deepgram’s cloud. On by default. |

### ElevenLabs (STT)

ElevenLabs real-time speech-to-text using the `scribe_v2_realtime` model.

| Field | Description |
| --- | --- |
| **API Key** | ElevenLabs API key. Required. |
| **Model** | ElevenLabs STT model. Default: `scribe_v2_realtime`. |
| **Auto Language Detection** | Detect the spoken language automatically. On by default. |
| **Language** | Fixed transcription language. Only visible when Auto Language Detection is off. Supports 28 languages including English, Spanish, French, German, Italian, Portuguese, Mandarin Chinese, Cantonese, Japanese, Korean, Vietnamese, Thai, Indonesian, Malay, Filipino, Arabic, Hindi, Tamil, Telugu, Kannada, Malayalam, Javanese, Cebuano, Khmer, Lao, Burmese, Afrikaans, and Swahili. |
| **WebSocket URL** | ElevenLabs STT streaming endpoint. Default: `wss://api.elevenlabs.io/v1/speech-to-text/realtime`. |

**Advanced Settings** (toggle to expand):

| Field | Description |
| --- | --- |
| **VAD Silence Threshold (secs)** | Duration of silence before the VAD ends a speech segment. Default: 0.5. |
| **VAD Threshold** | Sensitivity of the Voice Activity Detector (0–1). Default: 0.4. |
| **Min Speech Duration (ms)** | Minimum audio length to be treated as a speech event. Default: 150. |
| **Min Silence Duration (ms)** | Minimum silence length to be treated as end-of-turn. Default: 100. |

### Soniox

Soniox real-time speech-to-text.

| Field | Description |
| --- | --- |
| **API Key** | Your Soniox API key. Required. |
| **Model** | Soniox model ID, for example `stt-rt-v5`. |
| **Language Hints** | Expected languages, to improve accuracy. Leave empty for automatic detection. |
| **Strict Language Hints** | Output only the hinted languages. Requires at least one language hint. Default: off. |
| **Enable Endpoint Detection** | Detect when the caller finishes speaking from intonation, pauses, and context. Default: on. |
| **Max Endpoint Delay (ms)** | Maximum silence before the utterance is committed. Range: 500–3000. Lower gives faster replies; higher gives fewer mid-sentence cut-offs. |

**Advanced Configuration** adds **Per-Token Language Tagging**, **Speaker Diarization** (up to 15 speakers), **Context Terms** (comma-separated words to boost recognition), **Context Text** (background text about the domain), and a custom **WebSocket URL**.

### OpenAI Realtime

OpenAI Realtime transcription.

| Field | Description |
| --- | --- |
| **API Key** | Your OpenAI API key. Required. |
| **Model** | **gpt-realtime-whisper (Low Latency)** — streams partial transcripts and ends the turn on the client side — or **gpt-4o-transcribe (Server VAD)**, which supports OpenAI turn detection. |
| **Language** | Expected language. Leave unset for automatic detection. |

**Advanced Configuration** adds a custom **WebSocket URL** and, for `gpt-4o-transcribe`, **Turn Detection**: **Server VAD (silence-based)**, **Semantic VAD (model-based)**, or **None (client-side silence detection)**. Server VAD has **Silence Duration (ms)** (default 250), **Server VAD Threshold** (0–1, default 0.5), and **Server VAD Prefix Padding (ms)** (default 300). Semantic VAD has **Eagerness** — **Auto (balanced)**, **Low**, **Medium**, or **High**.

### NVIDIA

Self-hosted NVIDIA speech recognition. Choose the **Model**: **Nemotron** (default) or **Parakeet**.

| Field | Model | Description |
| --- | --- | --- |
| **gRPC Server** | Nemotron | `host:port` of the self-hosted Riva/NIM ASR endpoint. |
| **Model Name** | Nemotron | Label for the deployed model; the NIM chooses the actual model. |
| **WebSocket URL** | Parakeet | `ws://host:port` of the Parakeet ASR server. |
| **Language** | Both | Language code for transcription, for example `en-US`. |
| **Interim Results** | Both | Stream partial transcripts as the caller speaks. Needed for barge-in and low-latency turn detection. |
| **Automatic Punctuation** | Nemotron | Add punctuation and capitalisation to the transcript. |

For Nemotron, **Advanced Configuration** adds **Use SSL/TLS** (off for an in-cluster or local NIM), and **API Key (cloud only)** and **Function ID (cloud only)** for NVIDIA’s cloud endpoint.

## Text-to-Speech (TTS) Providers

Select the TTS provider using the **Synthesizer Provider** dropdown at the top of the **Output Speech Details** section.

### ElevenLabs (TTS)

ElevenLabs high-quality voice synthesis.

| Field | Description |
| --- | --- |
| **API Key** | ElevenLabs API key. Required. |
| **Collection ID** *(Optional)* | ElevenLabs voice collection ID. When provided, the Voice ID field becomes a dropdown listing voices from that collection. |
| **Voice ID** | ElevenLabs voice identifier. Entered as free text when no collection is specified; shown as a dropdown when a collection ID is set. Required. |
| **Model** | ElevenLabs TTS model. Options: Eleven v3, Eleven Flash v2.5, Eleven Flash v2, Eleven Turbo v2.5, Eleven Turbo v2, Eleven Multilingual v2, Eleven Multilingual v1, Eleven English STS v2, Eleven English STS v1. Required. |
| **Preview** | Play/pause button to audition the selected voice before saving. |

**Advanced Settings** (toggle to expand):

| Field | Description |
| --- | --- |
| **Stability** | Voice consistency slider (0–1). Higher values produce more consistent output; lower values allow more expressive variation. Default: 0.82. |
| **Speed** | Speech rate (0.7–1.2). Default: 1.0. |
| **Style** | Stylistic intensity of the voice (0–1). Default: 0. |
| **Similarity Boost** | How closely the synthesis adheres to the original voice sample (0–1). Default: 0.81. |
| **Optimize Streaming Latency** | Latency optimisation level (integer). Higher values reduce latency at the cost of some quality. Default: 3. |
| **Use Speaker Boost** | Apply speaker boost enhancement. On by default. |
| **Experimental Streaming** | Enable experimental streaming mode for lower latency. On by default. |
| **Experimental WebSocket** | Use an experimental WebSocket connection for streaming. On by default. |

### AWS Polly

Amazon Polly neural, standard, and generative voice synthesis.

| Field | Description |
| --- | --- |
| **Language** | Language for voice selection. Options: English (US/UK/AU/IN), Spanish (US/Spain), French (France), German, Italian, Japanese, Korean, Portuguese (Brazil), Mandarin Chinese, Hindi, Arabic (Gulf). |
| **Engine** | Synthesis engine: **Neural (Recommended)**, **Standard**, or **Generative**. |
| **Voice** | Available voices are loaded dynamically based on the selected language. Each option shows the voice name and gender. Required. |
| **Preview** | Play/pause button to audition the selected Polly voice. |

### NVIDIA Magpie (Multilingual)

Self-hosted NVIDIA Magpie text-to-speech.

| Field | Description |
| --- | --- |
| **NIM Server (gRPC)** | `host:port` of the Magpie TTS NIM gRPC endpoint. Required. |
| **Voice** | Magpie voice name. Default: `Magpie-Multilingual.EN-US.Aria`. Required. |
| **Language** | Synthesis language; should match the voice’s locale. Options: English (US), Spanish (Spain), German, French (France), Italian, Chinese (Mandarin), Hindi, Japanese, Vietnamese. Default: English (US). |
| **Use SSL** | Default: off. Leave off for a local NIM. |
| **Model Name** | Riva/NIM model name. Default: `magpie-tts-multilingual`. |

## Language Model (LLM) Providers

Select the LLM provider using the **LLM Provider** dropdown at the top of the **Language Model Configuration** section.

### Bedrock

| Field | Description |
| --- | --- |
| **Client Type** | AWS SDK client to use: **Boto3** (default) or **Langchain**. |
| **AWS Region** | AWS region for the Bedrock service (e.g. `us-east-1`). Default: `us-east-1`. |
| **Endpoint URL** *(Optional)* | Custom endpoint URL for private or on-premise deployments. |
| **Model Provider** | The model provider, chosen from the LLM models enabled for the workspace. |
| **Model ID** | The model, chosen from the enabled models for the selected provider. To add models to this list, enable them under [Integrations → LLMs](../12_foundry/integrations/llm_models.html). |
| **Temperature** | Sampling temperature (0–2). Default: 0.3. |
| **Max Tokens** | Maximum tokens in the model’s response (1–10000). Default: 3000. |
| **Enable Streaming** | Stream responses token by token for lower latency. Default: on. |
| **Enable Streaming** | Stream the model response token-by-token for lower perceived latency. On by default. |

### Custom LLM1

| Field | Description |
| --- | --- |
| **API Key** | API key for the endpoint. |
| **Model** | Model identifier. Options: **Custom Model1**, **Custom Model2**. |
| **Temperature** | Sampling temperature (0–2). Default: 0. |
| **Max Tokens** | Maximum tokens in the response (1–32000). Default: 1024. |
| **Enable Streaming** | Stream the model response. On by default. |

### Custom LLM2

| Field | Description |
| --- | --- |
| **API Key** | API key for the endpoint. |
| **Endpoint** | Resource endpoint URL. |
| **Deployment** | Deployment name (e.g. `gpt-4o`). |
| **Model Name** | Model name for the deployment (e.g. `gpt-4o`). |
| **API Version** | API version string. Default: `2024-02-15-preview`. |
| **Temperature** | Sampling temperature (0–2). Default: 0.3. |
| **Max Tokens** | Maximum tokens in the response (1–32000). Default: 1024. |
| **Enable Streaming** | Stream the model response. On by default. |

### NVIDIA Nemotron

An NVIDIA NIM endpoint serving a Nemotron model.

| Field | Description |
| --- | --- |
| **Base URL** | OpenAI-compatible NIM endpoint. Must end in `/v1`. Required. |
| **Model ID** | **Nemotron Nano 30B** (`nvidia/nemotron-3-nano-30b-a3b`). Required. |
| **API Key** | Only needed for NVIDIA’s cloud endpoint. Leave blank for a local NIM. |
| **Temperature** | Sampling temperature (0–2). Default: 0.3. |
| **Max Tokens** | Maximum tokens in the response, including reasoning (1–32000). Default: 2048. |
| **Enable Streaming** | Default: on. |

### Custom LLM

A model registered with the **Custom** provider and enabled for the workspace. See [LLM Management](../6_platform_admin/llm_management.html).

| Field | Description |
| --- | --- |
| **Model** | The custom model to use, from the workspace’s enabled models. Required. |
| **Temperature** | Sampling temperature (0–2). Default: 1.0. |
| **Max Tokens** | Maximum tokens in the response (1–32000). Default: 3000. |
| **Enable Streaming** | Default: on. |

## Phone Configuration Reference

See [The Voice Agent Editor](the_editor.html) for the full Phone Configuration field list. Key parameters to note:

- **Auth Token vs API Keys** — you must provide either an Auth Token, or both API Key SID and API Key Secret. Providing both sets is also valid.
- **Status Callback Events** — any combination of *Initiated*, *Ringing*, *Answered*, *Completed* can be subscribed to independently.
- **Extra Parameters** — arbitrary Twilio TwiML parameters can be passed as key/value pairs. Common examples include `region` (e.g. `us1`) and `edge` (e.g. `sydney`) for Twilio Global Low Latency routing.

## Call Termination Reference

- **Terminate Call on Keyword** — off by default. When enabled, the agent monitors transcribed speech for any of the configured keywords and hangs up the call when a match is detected.
- **Termination Keywords** — entered as a comma-separated string (e.g. `goodbye, bye, end call`). Case-insensitive matching.
