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

# Voices

> Choosing a voice_id for your agent, and the one caveat about the language field.

Every agent speaks in one voice, set by `voice.voice_id`.

## Finding a voice\_id

There is no `GET /v2/voices` yet. The live catalogue is the voice picker in the
[console](https://sandbox.voice.miraiminds.co) — open Agent Studio and you can
**hear each voice** before you commit to one. The name in the picker is the
`voice_id`.

`ashu` and `siya` are the Hindi/Hinglish voices on `t1` today. The catalogue
grows monthly; treat the picker, not this page, as the source of truth. An
unknown `voice_id` is rejected at agent-create time with
[`400 invalid_request`](/v2/errors).

<Tip>
  **Listen before you pick.** Voice choice moves answer-through rates more than
  prompt wording does.
</Tip>

## Setting a voice on an agent

```json theme={null}
{
  "name": "Order confirmations",
  "system_prompt": "…",
  "voice": { "voice_id": "ashu", "language": "hi-IN" },
  "language": "hi-IN"
}
```

| Field      | Type   | Description                                                                                                                  |
| :--------- | :----- | :--------------------------------------------------------------------------------------------------------------------------- |
| `voice_id` | string | A voice from the picker, e.g. `ashu`. Required. Unknown ⇒ `400`.                                                             |
| `language` | string | Rendering language. Omit to inherit the agent's top-level `language`. **Accepted and stored, not yet honoured** — see below. |

Change it later with `PATCH /v2/agents/{id}`:

```bash theme={null}
curl -X PATCH https://api.voice.miraiminds.co/v2/agents/agt_… \
  -H "Authorization: Bearer sk_live_…" \
  -H "Content-Type: application/json" \
  -d '{ "voice": { "voice_id": "siya", "language": "hi-IN" } }'
```

See the [Agents reference](/v2/agents#voice) for the full agent shape.

## The language caveat

<Warning>
  **`voice.language` is recorded, not yet applied**

  It is validated, stored, echoed back and carried with the call payload — but
  the voice renders in the agent's **top-level** `language`. Set both to the same
  value and you get what you expect; set them differently and the top-level one
  wins.
</Warning>

Keep `voice.language` and the agent's `language` identical.

## Premium voices

A wider set, with automatic fallback, is a `t3` feature. See
[Billing & tiers](/general/tiers#coming-soon).
