unmute init binds SLNG for listening and speaking, and every shipped example
does the same. That is a decision, not a placeholder. Bind SLNG for a speech
role and you are on that layer.
Unmute does not measure any of this. Everything on this page is SLNG’s published
description of its own system, linked so you can read the source.
On this page:
- What this means for your package - the binding you already wrote
- What the Execution Layer is - routing instead of calling everything
- The STT Performance Layer - the stage on the way in
- TTS Path Optimization - the stage on the way out
- The third role - thinking, which you opt into
What this means for your package
Nothing you have to write. The layer sits behind the SLNG models you already bound:agent.yaml
SLNG_API_KEY covers both. If you bind a different vendor for either role, you
are on that vendor’s own path instead, and none of the above applies. The lists of
what else each target can construct are on
speech to text and text to speech.
To select an SLNG speech gateway, set params.world_part on each
binding. Regional infrastructure shows
the YAML and explains the separate model, worker, and media regions.
What the Execution Layer is
Rather than sending every turn through every model, the layer routes each turn to the path that can serve it, and avoids the inference calls it does not need. SLNG’s own framing is that “a 16-turn voice call makes 48 model calls”, and that at “1M calls per month, that is 48M inference calls”. Two stages of it matter to a package you build here.Figures below are SLNG’s, published for the Execution Layer as a whole, and
are not measurements Unmute took. Source:
docs.slng.ai/execution-layer, read
2026-08-14.
The STT Performance Layer
The first stage, which routes incoming audio to the transcription model best suited to it, per turn, based on the caller’s context: language, location, environment. SLNG lists noise cancellation across audio types, voice activity detection across multiple speakers, language routing across models, and diarization for transcription metadata.TTS Path Optimization
The other stage, on the way out. Instead of generating audio for every request, it “serves from cache when possible and synthesizes only when genuinely new”. In SLNG’s words: “When audio has been produced before for the same request, it is served instantly, with no upstream model call and no provider billing. When it has not, it is generated, and the result is available for future requests.” SLNG makes no numeric claim for this stage on its own, and describes the saving as structural rather than measured: “Cost decreases structurally. As coverage grows, fewer turns hit the upstream model.” Read as published on 2026-08-14 at docs.slng.ai/execution-layer/tts-path-optimization. Which is worth knowing when you write a greeting: a line every caller hears is the kind of output this stage is built for.The third role
Everything above is about listening and speaking. Thinking has its own SLNG path, the Context Router, and it is the one place where the optimisation is something you opt into rather than something already behind the binding. It caches the turns your agent has answered before and serves them without calling your model, so a repeat it judges cacheable comes back in roughly a tenth of the time. It decides which turns those are, so some repeats still take the model path. You keep your own model and your own provider. It is a different trade from the two above. Speech optimisation costs you nothing and changes nothing you write. The router asks you for athink
binding change, a stable cache id, and the decision to send your upstream
credentials inline. The page explains all three.
Where to go next
Context Router
The optimization you opt into: cache repeated turns on the
think role.SLNG models
The full catalog, with languages and regions.
Speech to text
Every vendor each target can use for listening.
Regional infrastructure
Choose the speech gateway, model region, and worker region.