---
title: "List voices"
method: GET
path: "/api/voices"
tags: ["Models"]
---

# List voices

`GET /api/voices`

## Request

- Base URL: `https://makefx.app`
- URL: `https://makefx.app/api/voices`
- Auth: one of:
  - OAuth 2 (authorization code, authorization URL `https://makefx.app/api/oauth/authorize`, token URL `https://makefx.app/api/oauth/token`, scopes: `read`)
  - API key in cookie `auth_token`

Lists one page of the ElevenLabs voices that speech models accept as voice_id, from the platform library or, with space_id, the paying account library when it has its own key.

## Query parameters

- `space_id` string: Selects the authorized Space whose account pays for speech; omit for the platform voices.
- `query` string: Case-insensitive text matched against voice names, descriptions, and labels.
- `limit` integer
- `cursor` string: next_cursor from the previous page.

## Headers

- `API-Version` '2026-09-10'

## Response `200`

Success

- object
  - `voices` object[], required
    - `voice_id` string, required
    - `name` string, required
    - `description` string
    - `preview_url` string
  - `default_voice_id` string, nullable, required: The voice speech uses when voice_id is omitted; null when voice_id is required.
  - `next_cursor` string, nullable, required

## Other responses

- `400`: The request did not match the schema
- `401`: No valid credentials. WWW-Authenticate names the protected resource metadata to start from
- `403`: The credentials are valid but not enough: the token lacks the scope, or the action needs a browser session rather than an app token
- `404`: Not found
- `429`: Rate limited. RateLimit names the policy; Retry-After says when to try again
- `500`: Internal server error

---

[API](https://skmtc.dev/makefx/apis/makefx-app-api.md) · [All operations](https://skmtc.dev/makefx/apis/makefx-app-api/llms.txt) · [OpenAPI document](https://skmtc.dev/makefx/apis/makefx-app-api/revisions/a05584da31c6?raw)
