Two independent settings, on opposite ends of the call. noise_cancellation cleans the audio coming in from the caller. background_audio mixes sound into what the agent sends out. Both are voice and video only — a text agent has neither, and switching a config to text clears them.

Noise cancellation

Speech enhancement applied at the front of the input chain, before anything else sees the caller’s audio. That means the speech-to-text model, the voice detector that ends turns, and the call recording all get the cleaned signal — so the recording is what the agent actually heard.
boolean
default:"false"
Off unless you ask for it. Enhancement is lossy, and the strength that rescues a call from a noisy street can hurt one from a quiet room, so it is never turned on for an existing agent by anything but an explicit edit.
string
default:"aicoustics"
A noise_cancellation provider from GET /v1/catalog. aicoustics is the only one today.
string
default:"quail_vf_s"
One of the three models below. An unknown pair is refused: unknown noise cancellation model 'aicoustics/quail_xl' - pick from: …
number
default:"0.8"
0.0 – 1.0. How hard to suppress everything that is not the caller.

The models

quail_vf_s is the default. Reach for quail_l when more than one person is meant to be heard, and for quail_vf_l only if quail_vf_s leaves noise you cannot live with.
Noise cancellation runs on your own ai-coustics key. Add one under provider keys before publishing, or the agent is refused with no ai-coustics API key for this workspace - add one under BYOK. ai-coustics bills you directly; nothing about it passes through Talqing, and it does not appear in the per-minute cost estimate.The key is only required while enabled is true — the model and strength stay stored when you switch it off, so the toggle remembers your settings and an agent with it off never demands the key.
If the licence key is rejected, or the audio stream is one the enhancer cannot handle, the enhancer disables itself and the call runs on the raw audio rather than failing. Nothing else would say so, so the call’s trace carries a noise_cancellation.failed event — check there when an agent that should be hearing clean audio is not. See debugging agents.

Background audio

Ambient and thinking sounds mixed into the agent’s own output track, so a caller hears a room rather than a vacuum.
boolean
default:"false"
Nothing plays unless this is on.
string | null
default:"office"
A continuous bed under the whole call: office, city, forest, crowd or hold_music. null for none.
number
default:"0.4"
0.0 – 1.0, against the clip’s own level.
string | null
default:"keyboard"
Played while the agent is working out its reply: keyboard or keyboard2. null for none.
number
default:"0.6"
0.0 – 1.0.
Both set to null and nothing starts at all, even with enabled: true.
Every transfer stops the ambient bed and plays hold music instead. When the agent transfers a caller to a person, the caller is parked while the other phone rings: the bed stops, hold music takes over, and the caller’s audio is switched off in both directions until the transfer lands or they come back to the agent. Silence on a thirty-second hold reads as a dropped call, and none of the other clips mean “wait”.So ambient: "hold_music" does not choose the hold sound — that is fixed. It only sets how loud the hold music is: an agent whose ambient bed already is hold music has settled that question with its callers, so its ambient_volume carries. Every other agent gets 0.8.If the transfer fails and the caller comes back, the ambient bed starts again.

Next

Speech and turn detection

What the cleaned audio feeds, and what ends a caller’s turn.

Transfer

Handing a caller to a person, and what they hear while they wait.

Provider keys

Adding the ai-coustics key noise cancellation needs.