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

# voices and languages

> what an agent's ttsConfig and language may be set to.

`GET /v1/voices` returns the voice engines, the named voices and style presets
each offers, and the languages an agent on it can hold a conversation in —
the menus the dashboard's voice picker renders.

```bash curl theme={null}
curl https://silk-api.rumik.ai/v1/voices \
  -H "Authorization: Bearer rk_live_•••••••••"
```

```json theme={null}
{
  "defaultModel": "muga",
  "models": [
    {
      "id": "muga",
      "label": "silk muga 1",
      "disabled": false,
      "badge": null,
      "voices": [],
      "languages": [
        { "id": "hinglish", "label": "Hinglish", "disabled": false },
        { "id": "english", "label": "English", "disabled": false }
      ],
      "defaultLanguage": "hinglish",
      "descriptions": [],
      "phoneCalls": true
    },
    {
      "id": "mulberry",
      "label": "silk mulberry 1.5",
      "disabled": false,
      "badge": null,
      "voices": ["Emma", "Mia", "Sophia", "Ava", "speaker_1", "speaker_2", "speaker_3", "speaker_4", "Lucas", "Noah", "Theo", "Adam"],
      "languages": [
        { "id": "english", "label": "English (US)", "disabled": false },
        { "id": "hinglish", "label": "Hinglish", "disabled": false },
        { "id": "hindi", "label": "Hindi (IN)", "disabled": false }
      ],
      "defaultLanguage": "english",
      "descriptions": [
        {
          "id": "warm-support-us",
          "label": "Warm Support",
          "subtitle": "American · 30s · conversational",
          "description": "a female 30s american voice, normal pitch, warm timbre, conversational pacing, calm and reassuring, professional register, like a customer support agent."
        }
      ],
      "phoneCalls": true
    }
  ]
}
```

<ResponseField name="models[].id" type="string">
  the value for `ttsConfig.model`.
</ResponseField>

<ResponseField name="models[].voices" type="string[]">
  values for `ttsConfig.voice`. only mulberry has named voices.
</ResponseField>

<ResponseField name="models[].languages" type="object[]">
  values for the agent's `language`; `disabled` ones are listed but not yet
  selectable. `defaultLanguage` is used when `language` is unset.
</ResponseField>

<ResponseField name="models[].descriptions" type="object[]">
  curated voice styles for `ttsConfig.description` (mulberry). you may also
  write your own one-sentence description.
</ResponseField>

<ResponseField name="models[].phoneCalls" type="boolean">
  whether agents on this engine can take phone calls. the speech-to-speech
  engine cannot.
</ResponseField>

## setting a voice

`ttsConfig` on an agent (or a version) is:

<ParamField body="model" type="string">
  `muga` — our more expressive engine, Hinglish-first. `mulberry` — our faster
  engine with named voices and a styleable description. `spider` — speech to
  speech; browser and realtime calls only.
</ParamField>

<ParamField body="voice" type="string">
  mulberry only. one of `voices`; defaults to the first.
</ParamField>

<ParamField body="description" type="string">
  mulberry only. a preset's `description`, or your own sentence following the
  [mulberry prompting guide](/prompting-mulberry).
</ParamField>

<ParamField body="temperature, top_p, top_k, repetition_penalty, max_new_tokens">
  sampling knobs, all optional. leave them alone unless you know why.
</ParamField>

```json theme={null}
{ "model": "mulberry", "voice": "Emma", "description": "a female 30s american voice, normal pitch, warm timbre, conversational pacing, calm and reassuring, professional register, like a customer support agent." }
```

a muga agent needs only `{ "model": "muga" }`. the voice and language are
checked when a call starts: a voice name outside the roster is refused with
`400 agent_speaker_not_supported`, a language the engine does not offer with
`400 agent_language_not_supported`.

## language

`language` is a property of the agent, not of the voice: it selects the
script and register the agent speaks in and how speech is recognised.
`hinglish` is Hindi in Roman script mixed with English, `hindi` is Devanagari.

next: [variables and tools](/variables-and-tools).
