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

# List voices

> List premade and developer-owned voices.



## OpenAPI

````yaml /openapi.json get /v1/voices
openapi: 3.1.0
info:
  title: Breeze Developer API
  description: >-
    Breeze Developer API for models, voices, text-to-speech, history, balance,
    usage, and browser-managed API keys.
  version: 1.0.0
servers:
  - url: https://api.breeze.blue
security: []
tags:
  - name: Models
    description: Supported TTS models.
  - name: Text to Speech
    description: Text-to-speech synthesis and instruction rewriting.
  - name: Voices
    description: Saved voices and voice settings.
  - name: Voice Previews
    description: Create, audition, and save temporary voice previews.
  - name: Account
    description: Balance, usage, and API keys.
  - name: History
    description: Generated audio history.
paths:
  /v1/voices:
    get:
      tags:
        - Voices
      summary: List voices
      description: List premade and developer-owned voices.
      operationId: voices_list
      parameters:
        - name: search
          in: query
          required: false
          schema:
            anyOf:
              - type: string
              - type: 'null'
            title: Search
          description: Filter voices by name or description.
        - name: category
          in: query
          required: false
          schema:
            anyOf:
              - type: string
              - type: 'null'
            title: Category
          description: >-
            Optional category filter. Accepted values: premade, generated,
            cloned.
        - name: voice_type
          in: query
          required: false
          schema:
            type: string
            default: all
            title: Voice Type
          description: 'Voice source filter. Accepted values: all, default, personal.'
        - name: sort
          in: query
          required: false
          schema:
            type: string
            default: created_at_unix
            title: Sort
          description: 'Sort field. Accepted values: created_at_unix, name.'
        - name: sort_direction
          in: query
          required: false
          schema:
            type: string
            default: desc
            title: Sort Direction
          description: 'Sort direction. Accepted values: asc, desc.'
        - name: next_page_token
          in: query
          required: false
          schema:
            anyOf:
              - type: string
              - type: 'null'
            title: Next Page Token
          description: Cursor token returned by a previous response.
        - name: page
          in: query
          required: false
          schema:
            type: integer
            minimum: 1
            default: 1
            title: Page
          description: Page number for offset-based navigation.
        - name: page_size
          in: query
          required: false
          schema:
            type: integer
            maximum: 100
            minimum: 1
            default: 50
            title: Page Size
          description: Number of records to return per page.
      responses:
        '200':
          description: Paginated voice list.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/VoiceListResponse'
          headers:
            x-breeze-api-key-id:
              description: >-
                Public API key identifier used to authenticate the request, when
                an API key was used.
              schema:
                type: string
        '400':
          description: HTTP 400 error response.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '401':
          description: HTTP 401 error response.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '422':
          description: HTTP 422 error response.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ValidationErrorResponse'
      security:
        - ApiKeyAuth: []
      x-codeSamples:
        - lang: cURL
          label: cURL
          source: |-
            curl \
              --request GET \
              --url "https://api.breeze.blue/v1/voices" \
              --header "xi-api-key: $BREEZE_API_KEY"
        - lang: Python
          label: Python SDK
          source: |-
            import os

            from breeze_blue import BreezeBlue

            client = BreezeBlue(api_key=os.environ["BREEZE_API_KEY"])

            voices = client.voices.search()
            for voice in voices["voices"]:
                print(voice["voice_id"], voice["name"])
        - lang: TypeScript
          label: TypeScript SDK
          source: |-
            import { BreezeBlueClient } from "@breeze.blue/sdk";

            const client = new BreezeBlueClient({
              apiKey: process.env.BREEZE_API_KEY!,
            });

            const voices = await client.voices.search();
            for (const voice of voices.voices) {
              console.log(voice.voiceId, voice.name);
            }
components:
  schemas:
    VoiceListResponse:
      properties:
        voices:
          items:
            $ref: '#/components/schemas/VoiceResponse'
          title: Voices
          type: array
        has_more:
          title: Has More
          type: boolean
        next_page_token:
          anyOf:
            - type: string
            - type: 'null'
          default: null
          title: Next Page Token
        total:
          title: Total
          type: integer
        page:
          title: Page
          type: integer
        page_size:
          title: Page Size
          type: integer
      required:
        - voices
        - has_more
        - total
        - page
        - page_size
      title: VoiceListResponse
      type: object
    ErrorResponse:
      properties:
        ok:
          default: false
          title: Ok
          type: boolean
        code:
          title: Code
          type: string
        detail:
          title: Detail
          type: string
        error:
          title: Error
          type: string
        meta:
          anyOf:
            - additionalProperties: true
              type: object
            - type: 'null'
          default: null
          title: Meta
      required:
        - code
        - detail
        - error
      title: ErrorResponse
      type: object
    ValidationErrorResponse:
      properties:
        ok:
          default: false
          title: Ok
          type: boolean
        code:
          title: Code
          type: string
        detail:
          title: Detail
          type: string
        error:
          title: Error
          type: string
        meta:
          anyOf:
            - additionalProperties: true
              type: object
            - type: 'null'
          title: Meta
      required:
        - code
        - detail
        - error
      title: ValidationErrorResponse
      type: object
    VoiceResponse:
      additionalProperties: true
      properties:
        voice_id:
          title: Voice Id
          type: string
        name:
          title: Name
          type: string
        category:
          title: Category
          type: string
        voice_type:
          title: Voice Type
          type: string
        labels:
          additionalProperties:
            type: string
          title: Labels
          type: object
        preview_url:
          anyOf:
            - type: string
            - type: 'null'
          default: null
          title: Preview Url
        settings:
          $ref: '#/components/schemas/VoiceSettingsResponse'
        description:
          anyOf:
            - type: string
            - type: 'null'
          default: null
          title: Description
        created_at_unix:
          anyOf:
            - type: integer
            - type: 'null'
          default: null
          title: Created At Unix
      required:
        - voice_id
        - name
        - category
        - voice_type
        - settings
      title: VoiceResponse
      type: object
    VoiceSettingsResponse:
      properties:
        guidance_scale:
          default: 1
          title: Guidance Scale
          type: number
      title: VoiceSettingsResponse
      type: object
  securitySchemes:
    ApiKeyAuth:
      type: apiKey
      in: header
      name: xi-api-key
      description: Breeze Developer API key.

````