Change the speech to text model and how your agent hears callers.
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.
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 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.
Send the whole models object. A PATCH replaces it as a unit rather than
merging fields, so change stt and keep the other model fields as they are.
Prefer a model under the slng/ prefix (slng/deepgram/nova:3-en): it runs
in your region and skips the hop to an outside provider. A bare
provider/model uses the provider’s model through SLNG; add your own key
(BYOK) to run it on your account. See
Choose a model route and
Bring your own key.
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.
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.
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.
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.
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.