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

# List Voices

> Get all available voices (ElevenLabs library + custom cloned voices)

## Overview

This endpoint returns all voices available for text-to-speech, including ElevenLabs library voices and custom cloned voices.

### Query Parameters

<ParamField query="type" type="string" default="all">
  * `library`: Only ElevenLabs library voices
  * `custom`: Only custom cloned voices
  * `all`: Both library and custom voices (default)
</ParamField>

<ParamField query="language" type="string">
  Filter by language (e.g., "English", "Spanish", "French")
</ParamField>

<ParamField query="gender" type="string">
  Filter by gender ("Male", "Female")
</ParamField>

<RequestExample>
  ```bash cURL theme={null}
  curl -X GET "https://api.hooked.so/v1/voice/list?language=English&gender=Female" \
    -H "x-api-key: your_api_key_here"
  ```

  ```javascript Node.js theme={null}
  const response = await fetch('https://api.hooked.so/v1/voice/list?language=English&gender=Female', {
    headers: { 'x-api-key': 'your_api_key_here' }
  });
  const { voices } = await response.json().data;
  ```
</RequestExample>

<ResponseExample>
  ```json Response theme={null}
  {
    "success": true,
    "data": {
      "voices": [
        {
          "id": "1004",
          "voiceId": "tzX5paJ07p5hyWFcU3uG",
          "name": "Jude",
          "gender": "Male",
          "language": "English",
          "accent": "British",
          "country": "GB",
          "templateUrl": "https://cdn.hooked.so/voices/jude.mp3",
          "thumbnail": "/images/voice-default.png",
          "isCustom": false,
          "source": "library"
        }
      ],
      "total": 150
    }
  }
  ```
</ResponseExample>


## OpenAPI

````yaml GET /v1/voice/list
openapi: 3.0.0
info:
  title: Hooked API
  version: 1.0.0
  description: AI Video Generation API
servers:
  - url: https://api.hooked.so
security:
  - ApiKeyAuth: []
paths:
  /v1/voice/list:
    get:
      tags: []
      summary: List Voices
      description: Get all available voices (ElevenLabs library + custom cloned voices)
      operationId: listVoices
      parameters:
        - name: type
          in: query
          description: Filter by voice type
          required: false
          schema:
            type: string
            enum:
              - library
              - custom
              - all
        - name: language
          in: query
          description: Filter by language
          required: false
          schema:
            type: string
        - name: gender
          in: query
          description: Filter by gender
          required: false
          schema:
            type: string
            enum:
              - Male
              - Female
      responses:
        '200':
          description: Success
      security:
        - ApiKeyAuth: []
components:
  securitySchemes:
    ApiKeyAuth:
      type: apiKey
      in: header
      name: x-api-key

````