Skip to main content
Control how loud the agent’s speech plays with output.volume. Set it when you create or update the agent, or inline over the WebSocket via session.update. Accepts a number from 0 (silent) to 100 (loudest). If omitted, the voice plays at its native level.
curl -X PUT https://agents.assemblyai.com/v1/agents/$AGENT_ID \
  -H "Authorization: $ASSEMBLYAI_API_KEY" -H "Content-Type: application/json" \
  -d '{ "output": { "volume": 60 } }'
# pip install requests
import os
import requests

resp = requests.put(
    f"https://agents.assemblyai.com/v1/agents/{os.environ['AGENT_ID']}",
    headers={"Authorization": os.environ["ASSEMBLYAI_API_KEY"]},
    json={"output": {"volume": 60}},
)
resp.raise_for_status()
print(resp.json())
// Node 18+ has fetch built in
const res = await fetch(
  `https://agents.assemblyai.com/v1/agents/${process.env.AGENT_ID}`,
  {
    method: "PUT",
    headers: {
      Authorization: process.env.ASSEMBLYAI_API_KEY,
      "Content-Type": "application/json",
    },
    body: JSON.stringify({ output: { volume: 60 } }),
  },
);
const data = await res.json();
console.log(data);
FieldTypeRequiredNotes
output.volumenumber | nullNo0 (silent) to 100 (loudest). null plays at native level.
Unlike output.voice and output.format, which are immutable after session.ready, output.volume can be changed mid-session via session.update. The new value applies to subsequent reply.audio chunks.