Voice Agent Configuration Guide & Settings
Configure prompts, workflows, voice settings, integrations, behaviors, and AI agent parameters for production deployments.
Configuration Object
Each agent has a nested configuration object that controls its runtime behaviour. Configuration is versioned alongside the agent and can be updated independently.
{
"llm": {
"model": "gpt-4o",
"temperature": 0.7,
"max_tokens": 1024,
"system_prompt": "You are a helpful assistant..."
},
"stt": {
"provider": "deepgram",
"model": "nova-2",
"language": "en-US",
"interim_results": true
},
"tts": {
"provider": "elevenlabs",
"voice_id": "pNInz6obpgDQGcFmaJgB",
"stability": 0.5,
"similarity_boost": 0.75
},
"turn_taking": {
"silence_threshold_ms": 700,
"interruption_enabled": true,
"endpointing_model": "auto"
},
"tools": ["mcp_filesystem_read", "api_crm_lookup"],
"greeting": "Hello! How can I help you today?",
"farewell": "Goodbye, have a great day!",
"max_call_duration_sec": 600
}
LLM Configuration
| Name | Type | Required | Description |
|---|---|---|---|
| llm.model | string | ✓ | Model identifier: gpt-4o, gpt-4o-mini, claude-3-sonnet, etc. |
| llm.temperature | number | Creativity 0-2 (default: 0.7). Lower = more deterministic. | |
| llm.max_tokens | integer | Max response tokens (default: 1024) | |
| llm.system_prompt | string | ✓ | System prompt defining the agent personality and instructions |
| llm.top_p | number | Nucleus sampling threshold (default: 1.0) | |
| llm.frequency_penalty | number | Penalize repeated tokens (default: 0) |
Supported Models: Voxentis supports OpenAI (GPT-4o, GPT-4o-mini), Anthropic (Claude 3.5 Sonnet, Claude 3 Haiku), Google (Gemini Pro), and custom fine-tuned models via API.
Speech-to-Text Configuration
| Name | Type | Required | Description |
|---|---|---|---|
| stt.provider | string | ✓ | "deepgram", "google", "azure", or "whisper" |
| stt.model | string | Provider-specific model (e.g. "nova-2" for Deepgram) | |
| stt.language | string | ✓ | Language code for transcription |
| stt.interim_results | boolean | Stream partial transcripts (default: true) | |
| stt.smart_format | boolean | Apply auto-punctuation and formatting | |
| stt.keywords | string[] | Boost recognition of specific words |
Text-to-Speech Configuration
| Name | Type | Required | Description |
|---|---|---|---|
| tts.provider | string | ✓ | "elevenlabs", "azure", "google", or "playht" |
| tts.voice_id | string | ✓ | Provider-specific voice identifier |
| tts.stability | number | Voice stability 0-1 (ElevenLabs) | |
| tts.similarity_boost | number | Voice clarity 0-1 (ElevenLabs) | |
| tts.speed | number | Playback speed multiplier (default: 1.0) |
Turn-Taking Settings
| Name | Type | Required | Description |
|---|---|---|---|
| turn_taking.silence_threshold_ms | integer | Milliseconds of silence before the agent responds (default: 700) | |
| turn_taking.interruption_enabled | boolean | Allow callers to interrupt the agent mid-sentence (default: true) | |
| turn_taking.endpointing_model | string | "auto", "strict", or "relaxed" |
Update Configuration
curl -X PATCH https://api.voxentis.com/v1/agents/agt_9f2k4h1a/config \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"llm": {
"model": "gpt-4o",
"temperature": 0.5
},
"tts": {
"voice_id": "21m00Tcm4TlvDq8ikWAM"
}
}'
Configuration changes on active agents are applied to new calls immediately — no redeployment needed (Hot Reload).