For AI agents: a documentation index is available at the root level at /llms.txt and /llms-full.txt. Append /llms.txt to any URL for a page-level index, or .md for the markdown version of any page.
Ask AIPlaygroundLoginFree API Key
HomeAPI ReferenceVoice AgentSpeech-to-TextText-to-SpeechIntelligenceSelf-Hosted Deployments
HomeAPI ReferenceVoice AgentSpeech-to-TextText-to-SpeechIntelligenceSelf-Hosted Deployments
  • Get Started
    • Overview
    • Build a Voice Agent
    • Feature Overview
    • Template Apps
  • Configure
    • Overview
    • STT Models
    • LLM Models
    • TTS Models
    • Media Inputs & Outputs
    • Prompting Voice Agents
    • Multilingual Voice Agents
    • Maintaining Context
    • Reusable Agent Configurations
  • Build
    • Multi-Agent Architecture
  • Connect
  • Controls
      • Overview
      • Settings
      • Update Speak
      • Update Think
      • Update Prompt
      • Inject Agent
      • Inject User
      • Agent Keep Alive
  • Optimize
    • Voice Agent TTS Controls
    • Message Flow
    • Audio & Playback
    • Audio Preprocessing & Barge-In
    • Adaptive Echo Cancellation
  • Resources
    • SDKs
    • UI Components
    • API Reference
LogoLogo
Ask AIPlaygroundLoginFree API Key
On this page
  • Purpose
  • Example Payloads
  • Next Steps
ControlsInputs: Client Messages

Settings

Send a Settings message to configure the voice agent's behavior, audio formats, and provider configurations before starting the conversation.
Was this page helpful?
Previous

Update Speak

Send a message to change the Speak model in the middle of a conversation.
Next
Built with
Voice Agent

The Settings message is a JSON command that serves as an initialization step, setting up both the behavior of the voice agent.

Purpose

The Settings message is an initialization command that establishes both the behavior of the voice agent and the audio transmission formats before voice data is exchanged. The client should send a Settings message immediately after opening the websocket and before sending any audio.

For a detailed explanation of all the options available for the Settings message, see our documentation on how to Configure the Voice Agent.

Example Payloads

This example uses a very basic Settings to establish a connection. To send the Settings message, you need to send the following JSON message to the server:

JSON
1{
2"type": "Settings",
3"tags": ["demo", "voice_agent"],
4"audio": {
5 "input": {
6 "encoding": "linear16",
7 "sample_rate": 24000
8 },
9 "output": {
10 "encoding": "linear16",
11 "sample_rate": 24000,
12 "container": "none"
13 }
14},
15"agent": {
16 "language": "en",
17 "listen": {
18 "provider": {
19 "type": "deepgram",
20 "model": "nova-3",
21 "smart_format": false
22 }
23 },
24 "think": {
25 "provider": {
26 "type": "open_ai",
27 "model": "gpt-4o-mini",
28 "temperature": 0.7
29 }
30 },
31 "speak": {
32 "provider": {
33 "type": "deepgram",
34 "model": "aura-2-thalia-en"
35 }
36 }
37}
38}

Upon receiving the Settings message, the server will process all remaining audio data and return the following SettingsApplied message.

JSON
1{
2 "type": "SettingsApplied"
3}

Next Steps

  • Voice Agent Message Flow for the correct message flow when building a Voice Agent client.