Skip to main content
The Listen section controls speech to text (STT): the model that turns caller audio into text, and how the agent decides the caller is speaking. For how Listen, Think, and Speak fit together, see the Execution Layer overview.

Prerequisites

Before you begin:

Change the speech to text model

Open your project and go to the Listen section. Open the STT model dropdown to see the models you can pick. It has two tabs: SLNG models, hosted by SLNG in your region, and BYOK, models you reach with your own provider key. Each list is filtered to what the project’s region and language support.
The Listen section STT model dropdown open, showing the SLNG models and BYOK tabs

The STT model dropdown, with the SLNG models and BYOK tabs.

Pick a model from the SLNG models tab where one fits: it runs in your region and skips the hop to an outside provider. To use the BYOK tab, register your provider key first; see Bring your own key.
To see which models your region and language support, see Which models are available.

Tune transcription

models.stt_kwargs passes options straight through to the transcription provider. It is empty by default. In the dashboard, it lives under Advanced settings on the Listen section, in the Overrides · JSON box. The same block holds the STT timeout covered under Keep Listen reliable.
The Advanced settings block on the Listen section, with the STT timeout field and the Overrides JSON editor

Advanced settings on the Listen section: an STT timeout and a JSON box for provider overrides.

The keys are specific to the model you picked, not to SLNG. For the default Deepgram Nova 3, they include punctuate, smart_format, numerals, profanity_filter, redact, keywords, and filler_words. Send them inside the whole models object, since a PATCH replaces it as a unit:
To find the options a model accepts, see that provider’s transcription API reference. SLNG applies a few limits: up to 128 keys, 64 KiB in total, and it rejects keys that would carry credentials or change routing (api_key, base_url, headers, model, and similar). Overrides apply to the primary STT model, not to its fallbacks.

Handle interruptions

enable_interruptions is a top-level field, true by default. When it is on, the agent stops speaking as soon as the caller starts, so a caller can cut in mid-sentence. Turn it off for a flow that must finish a statement before it listens again.

Reduce background noise

Noise cancellation cleans caller audio before transcription. The agent carries a noise_cancellation_enabled field for it. For what it does and when to use it, see Noise cancellation.

Keep Listen reliable

The STT step can fall back to another model and has its own per-turn timeout (models.fallbacks.stt, models.stt_final_timeout_s). These work the same way across all three sections, so they live in one place. See Reliability.

Next steps

  • Think: the system prompt, greeting, and language model.
  • Speak: the text to speech model and voice.