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

# List voices

> List all available voices based on the provided filter.

> **⚠️ Deprecation Notice**: This endpoint is deprecated. Use the [Voices API's List Voices](../../../api-reference/voiceAPI/voiceservice/list-voices) instead for new features and better performance. This API is scheduled to be removed on July 1, 2026.



## OpenAPI

````yaml get /tts/v1/voices
openapi: 3.0.0
info:
  title: Inworld Text-to-Speech API
  version: v1
  contact:
    name: Inworld AI
    url: https://inworld.ai
    email: support@inworld.ai
servers:
  - url: https://api.inworld.ai
security:
  - inworld_basic: []
tags:
  - name: TextToSpeech
  - name: AudioPromptPreparationService
  - name: SpeechToPhonemesService
paths:
  /tts/v1/voices:
    get:
      tags:
        - TextToSpeech
      summary: List voices
      description: >-
        List all available voices based on the provided filter.


        > **⚠️ Deprecation Notice**: This endpoint is deprecated. Use the
        [Voices API's List
        Voices](../../../api-reference/voiceAPI/voiceservice/list-voices)
        instead for new features and better performance. This API is scheduled
        to be removed on July 1, 2026.
      operationId: TextToSpeech_ListVoices
      parameters:
        - name: filter
          description: >-
            A filter expression to filter the voices. Currently, only the
            following filter is supported:

            - `language`: Expects an ISO 639-1 language code. For example,
            `language=en`.
          in: query
          required: false
          example: language=en
          schema:
            type: string
            example: language=en
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ttsv1ListVoicesResponse'
              examples:
                successful_response:
                  summary: List of available voices
                  description: >-
                    Shows the complete list of available voices with their
                    properties
                  value:
                    voices:
                      - languages:
                          - en
                        voiceId: Alex
                        displayName: Alex
                        isCustom: false
                        description: >-
                          Energetic and expressive mid-range male voice, with a
                          mildly nasal quality
                        tags:
                          - male
                          - energetic
                          - expressive
                          - mid-range
                      - languages:
                          - en
                        voiceId: Ashley
                        displayName: Ashley
                        isCustom: false
                        description: A warm, natural female voice
                        tags:
                          - female
                          - warm
                          - natural
                      - languages:
                          - en
                        voiceId: Dennis
                        displayName: Dennis
                        isCustom: false
                        description: Middle-aged man with a smooth, calm and friendly voice
                        tags:
                          - male
                          - middle-aged
                          - smooth
                          - calm
                          - friendly
        4XX:
          description: An error response.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/rpcStatusListVoices'
      x-codeSamples:
        - lang: bash
          label: cURL
          source: >-
            curl --location
            'https://api.inworld.ai/tts/v1/voices?filter=language%3Den' \

            --header "Authorization: Basic $INWORLD_API_KEY"
        - lang: python
          label: Python
          source: |-
            import requests

            url = "https://api.inworld.ai/tts/v1/voices"
            headers = {
                "Authorization": "Basic <api-key>"
            }
            params = {
                "filter": "language=en"
            }

            response = requests.get(url, headers=headers, params=params)
            print(response.json())
        - lang: javascript
          label: JavaScript
          source: >-
            const url =
            'https://api.inworld.ai/tts/v1/voices?filter=language%3Den';


            const response = await fetch(url, {
              headers: {
                'Authorization': 'Basic <api-key>',
              },
            });


            const data = await response.json();

            console.log(data);
components:
  schemas:
    ttsv1ListVoicesResponse:
      type: object
      properties:
        voices:
          type: array
          items:
            $ref: '#/components/schemas/ttsv1Voice'
          description: The list of voices.
    rpcStatusListVoices:
      type: object
      properties:
        code:
          type: integer
          format: int32
          description: >-
            The error code, as specified by [gRPC status
            codes](https://grpc.io/docs/guides/status-codes/).
          example: 3
        message:
          type: string
          description: A short description of the error.
          example: >-
            Invalid language code: 'English'. Must be a 2-letter ISO 639-1 code
            (e.g., 'en', 'es', 'fr')
        details:
          type: array
          items:
            $ref: '#/components/schemas/protobufAny'
          example: []
    ttsv1Voice:
      type: object
      properties:
        languages:
          type: array
          items:
            type: string
          description: >-
            The language of the original voice audio. 


            Speech synthesis will work best when the text matches the language
            of the original voice audio.
        voiceId:
          type: string
          description: The ID of the voice.
        displayName:
          type: string
          description: The display name of the voice.
        description:
          type: string
          description: The description of the voice.
        tags:
          type: array
          items:
            type: string
          description: Tags associated with the voice.
        isCustom:
          type: boolean
          description: >-
            Whether this voice is a custom voice created in your workspace (for
            example, a cloned voice).
    protobufAny:
      type: object
      properties:
        '@type':
          type: string
      additionalProperties: {}
  securitySchemes:
    inworld_basic:
      type: apiKey
      in: header
      name: Authorization
      description: >-
        Your [authentication](../../../api-reference/introduction) credentials.
        For Basic authentication, please populate `Basic $INWORLD_API_KEY`

````