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

# Get public voices

> Retrieve a paginated list of public voices available for use. Supports filtering by search, genres, languages, and styles.

Filter logic: Multiple values inside the same filter are OR'd (e.g., languages=[english, spanish] matches voices that support English OR Spanish). Different filters are combined with AND (e.g., languages AND genres AND styles must all match).



## OpenAPI

````yaml get /v1/voices
openapi: 3.1.0
info:
  title: VoiceDub API
  description: API for creating AI voice dubs and training custom voice models
  version: 1.0.0
  contact:
    name: VoiceDub Support
    email: help@voicedub.ai
    url: https://voicedub.ai
servers:
  - url: https://api.voicedub.ai
    description: Production server
security:
  - apiKeyAuth: []
tags:
  - name: Dubs
    description: Operations for creating and managing voice dubs
  - name: Voices
    description: Operations for creating and managing voice models
  - name: User
    description: Operations for managing user account and settings
paths:
  /v1/voices:
    get:
      tags:
        - Voices
      summary: Get public voices
      description: >-
        Retrieve a paginated list of public voices available for use. Supports
        filtering by search, genres, languages, and styles.


        Filter logic: Multiple values inside the same filter are OR'd (e.g.,
        languages=[english, spanish] matches voices that support English OR
        Spanish). Different filters are combined with AND (e.g., languages AND
        genres AND styles must all match).
      operationId: getPublicVoices
      parameters:
        - in: query
          name: search
          description: Search term to filter voices by name
          schema:
            type: string
            minLength: 1
            maxLength: 50
            description: Search term to filter voices by name
            example: plankton
        - in: query
          name: genres
          description: >-
            Filter by musical genres. Multiple values are OR'd within this
            filter and combined with other filters using AND.
          schema:
            type: array
            items:
              type: string
              enum:
                - pop
                - rap
                - rock
                - country
                - rnb
                - alternative
                - jazz
            description: >-
              Filter by musical genres. Multiple values are OR'd within this
              filter and combined with other filters using AND.
            example:
              - pop
              - country
        - in: query
          name: languages
          description: >-
            Filter by supported languages. Multiple values are OR'd within this
            filter and combined with other filters using AND.
          schema:
            type: array
            items:
              type: string
              enum:
                - english
                - spanish
                - korean
                - japanese
                - french
                - russian
                - thai
            description: >-
              Filter by supported languages. Multiple values are OR'd within
              this filter and combined with other filters using AND.
            example:
              - english
        - in: query
          name: styles
          description: >-
            Filter by voice styles. Multiple values are OR'd within this filter
            and combined with other filters using AND.
          schema:
            type: array
            items:
              type: string
              enum:
                - singing
                - rapping
                - speaking
                - character
                - other
            description: >-
              Filter by voice styles. Multiple values are OR'd within this
              filter and combined with other filters using AND.
            example:
              - singing
        - in: query
          name: limit
          description: Number of voices to return (8-50)
          schema:
            type: integer
            minimum: 8
            maximum: 50
            default: 50
            description: Number of voices to return (8-50)
            example: 20
        - in: query
          name: cursor
          description: Pagination cursor for next page
          schema:
            type: string
            description: Pagination cursor for next page
            example: 1_123e4567-e89b-12d3-a456-426614174000
      responses:
        '200':
          description: Voices retrieved successfully
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GetPublicVoicesResponse'
components:
  schemas:
    GetPublicVoicesResponse:
      type: object
      properties:
        voices:
          type: array
          items:
            $ref: '#/components/schemas/VoicePublic'
        nextCursor:
          type:
            - string
            - 'null'
          description: Cursor for next page, null if no more pages
          example: 2_123e4567-e89b-12d3-a456-426614174001
      required:
        - voices
        - nextCursor
    VoicePublic:
      type: object
      properties:
        id:
          type: string
          format: uuid
          description: Unique identifier for the voice
          example: 123e4567-e89b-12d3-a456-426614174000
        name:
          type: string
          description: Display name of the voice
          example: Plankton
        languages:
          type: array
          items:
            type: string
            enum:
              - english
              - spanish
              - korean
              - japanese
              - french
              - russian
              - thai
          description: Languages this voice supports
          example:
            - english
            - spanish
        genres:
          type: array
          items:
            type: string
            enum:
              - pop
              - rap
              - rock
              - country
              - rnb
              - alternative
              - jazz
          description: Musical genres this voice is suitable for
          example:
            - pop
            - country
        styles:
          type: array
          items:
            type: string
            enum:
              - singing
              - rapping
              - speaking
              - character
              - other
          description: Voice styles and use cases
          example:
            - singing
            - speaking
        avatarFormat:
          type: string
          enum:
            - webp
            - gif
          description: Format of the voice avatar image
          example: webp
        createdAt:
          type: string
          description: Timestamp when voice was created
          example: '2024-01-15T10:00:00.000Z'
        updatedAt:
          type: string
          description: Timestamp when voice was last updated
          example: '2024-01-15T10:30:00.000Z'
        avatarUrl:
          type: string
          description: Download URL for the voice avatar
          example: https://example.com/voices/123e4567-e89b-12d3-a456-426614174000.webp
      required:
        - id
        - name
        - languages
        - genres
        - styles
        - avatarFormat
        - createdAt
        - updatedAt
        - avatarUrl
  securitySchemes:
    apiKeyAuth:
      type: apiKey
      in: header
      name: Authorization
      description: 'API key in the format: "Api-Key <your-api-key>"'

````