---
title: "List TTS voices"
method: GET
path: "/v1/resources/tts-voices"
tags: ["Resources"]
---

# List TTS voices

`GET /v1/resources/tts-voices`

List available text-to-speech voices. Pass a `voiceId` or `displayName` from the response to the text-to-speech endpoint. Cursor-paginated; see the [Pagination](/pagination) guide. Pass `query` to filter by voice id, display name, language, accent, or description.

## Query parameters

- `limit` integer
- `cursor` string
- `includeDeprecatedVoices` boolean
- `query` string

## Response `200`

List of TTS voices. Pass a `voiceId` or `displayName` to `POST /v1/tools/text-to-speech`.

- TtsVoiceListResponse
  - `ttsVoices` TtsVoice[], required
    - `voiceId` string, required — Voice id (e.g. `vg_voic_...`). Pass this or `displayName` as `voiceId` to `POST /v1/tools/text-to-speech`.
    - `languageCode` string, required — Locale tag for the voice (e.g. `en-US`, `es-ES`).
    - `displayName` string, required — Human-readable voice name.
    - `displayGender` 'MALE' | 'FEMALE' | 'NEUTRAL', required — Voice gender.
    - `accent` string, nullable — Accent (e.g. `american`, `british`).
    - `description` string, nullable — Description of the voice.
    - `supportsDirectToolExecution` boolean, required — When false, this voice cannot be used directly with `POST /v1/tools/text-to-speech`. All voices, regardless of this field, can be used in full video generation workflows such as script-to-video.
    - `supportsAllLanguages` boolean, required — When true, this voice can synthesize text in any language regardless of its `languageCode`. When false, the voice only supports its listed language.
    - `isDeprecated` boolean, required — When true, this voice is deprecated and may be removed in a future API version. Prefer non-deprecated voices for new integrations.
  - `hasMore` boolean, required — When true, there are more voices available. Pass `nextCursor` as the `cursor` query param to fetch the next page.
  - `nextCursor` string, nullable, required — Opaque cursor to fetch the next page. `null` when `hasMore` is false.

## Other responses

- `default` — Error

---

[API](https://skmtc.dev/videogen/apis/videogen-api.md) · [All operations](https://skmtc.dev/videogen/apis/videogen-api/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/videogen/videogen-api/revisions/33dda0455d67/schema)
