> ## Documentation Index
> Fetch the complete documentation index at: https://assemblyai.com/docs/llms.txt
> Use this file to discover all available pages before exploring further.

# Volume

> Set how loud a voice agent's speech plays back.

Control how loud the agent's speech plays with `output.volume`. Set it when you [create](/voice-agents/voice-agent-api/create-agent) or [update](/voice-agents/voice-agent-api/manage-agents) the agent, or inline over the WebSocket via [`session.update`](/voice-agents/voice-agent-api/session-configuration).

Accepts a number from `0` (silent) to `100` (loudest). If omitted, the voice plays at its native level.

<CodeGroup>
  ```bash cURL theme={null}
  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 } }'
  ```

  ```python Python theme={null}
  # 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())
  ```

  ```javascript Node.js theme={null}
  // 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);
  ```
</CodeGroup>

| Field           | Type           | Required | Notes                                                          |
| --------------- | -------------- | -------- | -------------------------------------------------------------- |
| `output.volume` | number \| null | No       | `0` (silent) to `100` (loudest). `null` plays at native level. |

<Note>
  Unlike `output.voice` and `output.format`, which are **immutable** after `session.ready`, `output.volume` can be changed mid-session via [`session.update`](/voice-agents/voice-agent-api/session-configuration#mutability-after-sessionready). The new value applies to subsequent `reply.audio` chunks.
</Note>
