Update Listen
Voice Agent
The UpdateListen message is a JSON message that updates the speech-to-text configuration during a conversation.
Purpose
Section titled “Purpose”The UpdateListen message allows you to change Listen parameters on the fly without restarting the session. You can switch the speech-to-text model and language, and adjust end-of-turn thresholds and keyterms.
The payload uses the same shape as agent.listen in the Settings message — every field lives under listen.provider.
Tunable Parameters
Section titled “Tunable Parameters”| Parameter | Type | Description |
|---|---|---|
listen.provider.model |
String | Speech-to-text model to switch to, such as nova-3-general or flux-general-multi. |
listen.provider.language |
String | Language code for transcription, such as en or multi. Supported with V1 (Nova) models. |
listen.provider.version |
String | Deepgram speech-to-text API version: v1 for Nova models, v2 for Flux. |
listen.provider.eot_threshold |
Number | Confidence threshold for end-of-turn detection. Valid range: 0.5 - 1.0. Set to 1.0 to suppress natural end-of-turn detection and end turns with ForceEndTurn. |
listen.provider.eager_eot_threshold |
Number | Confidence threshold for eager end-of-turn detection. Valid range: 0.3 - 0.9. |
listen.provider.eot_timeout_ms |
Integer | Time in milliseconds after speech to finish a turn regardless of EOT confidence. |
listen.provider.keyterms |
Array | Keyterms to boost recognition for. Replaces the current keyterms list. Flux models only. |
listen.provider.language_hints |
Array | Array of BCP-47 language codes to bias toward. Only supported with flux-general-multi. See supported languages. |
Partial Update Semantics
Section titled “Partial Update Semantics”UpdateListen is a partial update — any tunable field you omit keeps its current value, with one exception:
Example Payloads
Section titled “Example Payloads”To send the UpdateListen message, send the following JSON message to the server:
{
"type": "UpdateListen",
"listen": {
"provider": {
"type": "deepgram",
"version": "v1",
"model": "nova-3-general",
"language": "es"
}
}
}{
"type": "UpdateListen",
"listen": {
"provider": {
"type": "deepgram",
"version": "v2",
"model": "flux-general-multi",
"eot_threshold": 0.8,
"eager_eot_threshold": 0.5,
"eot_timeout_ms": 3000,
"keyterms": ["Deepgram", "speech-to-text"],
"language_hints": ["en", "es"]
}
}
}Upon receiving the UpdateListen message, the server applies the changes and returns a ListenUpdated message.
JSON
{
"type": "ListenUpdated"
}