---
title: "Media · Generate · List available TTS voices"
method: GET
path: "/api/v1/voices"
tags: ["aiGeneration"]
---

# Media · Generate · List available TTS voices

`GET /api/v1/voices`

## Request

- Base URL: `https://api.simplified.com`
- URL: `https://api.simplified.com/api/v1/voices`
- Auth: API key in header `Authorization`

List voices available to the current workspace, filtered by language.

`language_code` is the ONLY required parameter — use an exact BCP-47 locale
(`en-US`, `en-GB`, `fr-FR`, `hi-IN`, `ja-JP`). Combine with `is_premium=true`
for a short, high-quality shortlist.

The optional filters (`gender`, `provider`, `engine`, `is_premium`,
`language_name`, `search`) all default to an empty string `""`, which
means "no filter — return everything". Leave them at `""` unless the user
explicitly asked to filter. Do NOT substitute `0`/`false` for "no filter":
`0` is a REAL value (gender 0 = Male, provider 0 = Google, engine 0 =
Neural), so sending it silently narrows the list. The empty-string default
is the ONLY correct "unset" value.

Response:
  - `voices[]`: `id` (uuid), `voice_name`, `language_code`, `avatar`,
    `voice_sample`, `gender` (0=Male, 1=Female, 3=Neutral), `is_premium`,
    `description`, `supports_instructions` (bool — `true` if the voice honors
    the `instructions` style/pace hint on generateAudio). Use `id` as
    `voice_id` in generateAudio. To re-resolve a single known `voice_id`
    (e.g. from a saved preference) without re-listing, use `getVoice`.
  - `languages[]`: distinct `{language_code, language_name}` pairs.

To resolve a known `voice_name` (e.g. from an avatar roster) to its `id`, pass
`voice_name` + `language_code` — that pair is unique, and the `id` differs per
locale, so the name must be re-resolved whenever the language changes. Always
check the entry you use actually has that `voice_name` rather than trusting
`voices[0]` — see the `voice_name` parameter.

## Query parameters

- `language_code` string, required
- `language_name` string
- `voice_name` string
- `search` string
- `is_premium` union
  - boolean
  - ''
- `provider` union
  - '0' | '2' | '3' | '4' | '5' | '6'
  - ''
- `gender` union
  - '0' | '1' | '3'
  - ''
- `engine` union
  - '0' | '1'
  - ''

## Response `200`

Voices and distinct languages available to the workspace

- unknown

## Other responses

- `401`: Unauthorized

---

[API](https://skmtc.dev/simplified/apis/platform.md) - [All operations](https://skmtc.dev/simplified/apis/platform/llms.txt) - [OpenAPI document](https://skmtc.dev/simplified/apis/platform/revisions/0815a1ba1e4e?raw)
