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

# Get Voices

> Retrieve voices for the authenticated workspace, filtered by model tier

## Request

### Headers

<ParamField header="Authorization" type="string" required>
  Bearer token with your API key
</ParamField>

### Query Parameters

<ParamField query="model" type="string" default="quality">
  Voice model tier to return. Accepted values:

  * `"quality"` (default) — returns `60db Quality` professional voices
  * `"fast"` — returns `60db Fast` cloned voices

  Any other value falls back to `"quality"`.
</ParamField>

## Response

<ResponseField name="success" type="boolean">
  Indicates whether the request was successful
</ResponseField>

<ResponseField name="message" type="string">
  Response message describing the result
</ResponseField>

<ResponseField name="data" type="array">
  Array of voice objects matching the requested model tier
</ResponseField>

<ResponseField name="meta.model" type="string">
  Resolved model tier applied to the response: `"quality"` or `"fast"`
</ResponseField>

<ResponseField name="data[].voice_id" type="string">
  Unique voice identifier (UUID format)
</ResponseField>

<ResponseField name="data[].name" type="string">
  Display name of the voice
</ResponseField>

<ResponseField name="data[].model" type="string">
  TTS model used by the voice: `"60db Fast"` or `"60db Quality"`
</ResponseField>

<ResponseField name="data[].labels" type="object">
  Metadata labels describing the voice attributes
</ResponseField>

<ResponseField name="data[].labels.language" type="string">
  ISO language code (e.g., `"en"`, `"hi"`, `"ar"`, `"fr"`, `"de"`, `"es"`, `"it"`, `"nl"`, `"pl"`, `"pt"`, `"bn"`, `"gu"`, `"kn"`, `"ml"`, `"mr"`, `"pa"`, `"ta"`, `"te"`)
</ResponseField>

<ResponseField name="data[].labels.language_name" type="string">
  Full language name (e.g., `"English"`, `"Hindi"`, `"Arabic"`)
</ResponseField>

<ResponseField name="data[].labels.gender" type="string">
  Voice gender: `"male"` or `"female"`
</ResponseField>

<ResponseField name="data[].labels.accent" type="string">
  Voice accent: `"American"`, `"British"`, `"Indian"`, or `"Neutral"`
</ResponseField>

<ResponseField name="data[].description" type="string | null">
  Optional description of the voice. `null` if not provided.
</ResponseField>

<ResponseField name="data[].categories" type="array">
  Recommended use case categories for the voice. Possible values include: `"Entertainment/TV"`, `"IVR/Call Center"`, `"Finance/Banking"`, `"Conversational"`, `"Medical/Healthcare"`, `"Religious/Spiritual"`, `"Corporate/Business"`, `"Government/Public Sector"`, `"Social Media"`, `"Documentary"`, `"Travel/Tourism"`, `"Kids/Children"`, `"Legal"`, `"Audiobook"`, `"Gaming"`, `"Podcast"`, `"Advertisement"`, `"E-Learning"`, `"News/Journalism"`, `"Sports"`, `"Animation"`, `"Professional Cloning"`
</ResponseField>

<RequestExample>
  ```bash cURL theme={null}
  # Default (quality)
  curl https://api.60db.ai/voices \
    -H "Authorization: Bearer your-api-key"

  # Fast tier
  curl "https://api.60db.ai/voices?model=fast" \
    -H "Authorization: Bearer your-api-key"
  ```

  ```javascript JavaScript theme={null}
  import { SixtyDBClient } from "60db";

  const client = new SixtyDBClient("your-api-key");

  // Defaults to quality
  const quality = await client.getVoices();

  // Fast tier
  const fast = await client.getVoices({ model: "fast" });
  ```

  ```python Python theme={null}
  from sixtydb import SixtyDBClient

  client = SixtyDBClient('your-api-key')

  # Defaults to quality
  response = client.get_voices()

  # Fast tier
  response = client.get_voices(model='fast')

  for voice in response['data']:
      print(f"{voice['name']} - {voice['labels']['language_name']} ({voice['model']})")
  ```
</RequestExample>

<ResponseExample>
  ```json Quality (default) theme={null}
  {
    "success": true,
    "message": "Voices fetched successfully",
    "data": [
      {
        "voice_id": "84982e79-c596-4883-b6fa-9af334767aef",
        "name": "Simmi",
        "model": "60db Quality",
        "labels": {
          "language": "hi",
          "language_name": "Hindi",
          "gender": "female",
          "accent": "Indian"
        },
        "description": null,
        "categories": [
          "Entertainment/TV",
          "IVR/Call Center",
          "Documentary"
        ]
      }
    ],
    "meta": {
      "model": "quality"
    }
  }
  ```

  ```json Fast theme={null}
  {
    "success": true,
    "message": "Voices fetched successfully",
    "data": [
      {
        "voice_id": "fbb75ed2-975a-40c7-9e06-38e30524a9a1",
        "name": "Zara",
        "model": "60db Fast",
        "labels": {
          "language": "hi",
          "language_name": "Hindi",
          "gender": "female",
          "accent": "Indian"
        },
        "description": null,
        "categories": [
          "Entertainment/TV",
          "IVR/Call Center",
          "Finance/Banking",
          "Conversational"
        ]
      }
    ],
    "meta": {
      "model": "fast"
    }
  }
  ```
</ResponseExample>
