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

# Get All Voices With Previews

> Get all available voices from all TTS providers with preview URLs stored in MinIO.

This endpoint:
1. Fetches all voices from provider APIs (when configured)
2. Generates preview audio for all voices (pre-generated at startup)
3. Stores all previews in MinIO object storage
4. Returns MinIO URLs for all previews

**Comprehensive Filtering:**
- Provider: Filter by TTS provider
- Gender: male, female, neutral
- Language: Single language code (e.g., 'en', 'ta', 'hi')
- Languages: Multiple languages (comma-separated, e.g., 'en,es,fr')
- Accent: american, british, spanish, french, german, indian, etc.
- Age: young, middle_aged, old
- Tone: warm, professional, friendly, authoritative, energetic, etc.
- Use Case: voice_agents, customer_service, narration, marketing, etc.
- Recommended: Filter for recommended voices only
- Multilingual: Filter for multilingual voices only
- Region: africa, asia, europe, middle_east, oceania, global
- Primary Language: Filter by voice's primary language

**All previews are stored in MinIO and pre-generated at startup for fast access.**



## OpenAPI

````yaml https://api.mrassistant.ai/openapi.json get /config/voices
openapi: 3.1.0
info:
  title: Backend - Multilingual Voice Agent System
  description: FastAPI backend for multilingual voice agents with tool use
  version: 1.0.0
servers: []
security: []
paths:
  /config/voices:
    get:
      tags:
        - agent-configuration
      summary: Get All Voices With Previews
      description: >-
        Get all available voices from all TTS providers with preview URLs stored
        in MinIO.


        This endpoint:

        1. Fetches all voices from provider APIs (when configured)

        2. Generates preview audio for all voices (pre-generated at startup)

        3. Stores all previews in MinIO object storage

        4. Returns MinIO URLs for all previews


        **Comprehensive Filtering:**

        - Provider: Filter by TTS provider

        - Gender: male, female, neutral

        - Language: Single language code (e.g., 'en', 'ta', 'hi')

        - Languages: Multiple languages (comma-separated, e.g., 'en,es,fr')

        - Accent: american, british, spanish, french, german, indian, etc.

        - Age: young, middle_aged, old

        - Tone: warm, professional, friendly, authoritative, energetic, etc.

        - Use Case: voice_agents, customer_service, narration, marketing, etc.

        - Recommended: Filter for recommended voices only

        - Multilingual: Filter for multilingual voices only

        - Region: africa, asia, europe, middle_east, oceania, global

        - Primary Language: Filter by voice's primary language


        **All previews are stored in MinIO and pre-generated at startup for fast
        access.**
      operationId: get_all_voices_with_previews_config_voices_get
      parameters:
        - name: provider
          in: query
          required: false
          schema:
            anyOf:
              - type: string
              - type: 'null'
            description: 'Filter by provider: elevenlabs, openai, cartesia, deepgram'
            title: Provider
          description: 'Filter by provider: elevenlabs, openai, cartesia, deepgram'
        - name: gender
          in: query
          required: false
          schema:
            anyOf:
              - type: string
              - type: 'null'
            description: 'Filter by gender: male, female, neutral'
            title: Gender
          description: 'Filter by gender: male, female, neutral'
        - name: language
          in: query
          required: false
          schema:
            anyOf:
              - type: string
              - type: 'null'
            description: Filter by language code (e.g., 'en', 'es', 'fr', 'ta', 'hi')
            title: Language
          description: Filter by language code (e.g., 'en', 'es', 'fr', 'ta', 'hi')
        - name: languages
          in: query
          required: false
          schema:
            anyOf:
              - type: string
              - type: 'null'
            description: Filter by multiple languages (comma-separated, e.g., 'en,es,fr')
            title: Languages
          description: Filter by multiple languages (comma-separated, e.g., 'en,es,fr')
        - name: accent
          in: query
          required: false
          schema:
            anyOf:
              - type: string
              - type: 'null'
            description: >-
              Filter by accent: american, british, australian, spanish, french,
              german, indian, etc.
            title: Accent
          description: >-
            Filter by accent: american, british, australian, spanish, french,
            german, indian, etc.
        - name: age
          in: query
          required: false
          schema:
            anyOf:
              - type: string
              - type: 'null'
            description: 'Filter by age: young, middle_aged, old'
            title: Age
          description: 'Filter by age: young, middle_aged, old'
        - name: tone
          in: query
          required: false
          schema:
            anyOf:
              - type: string
              - type: 'null'
            description: >-
              Filter by tone: warm, professional, friendly, authoritative,
              energetic, etc.
            title: Tone
          description: >-
            Filter by tone: warm, professional, friendly, authoritative,
            energetic, etc.
        - name: use_case
          in: query
          required: false
          schema:
            anyOf:
              - type: string
              - type: 'null'
            description: >-
              Filter by use case: voice_agents, customer_service, narration,
              marketing, etc.
            title: Use Case
          description: >-
            Filter by use case: voice_agents, customer_service, narration,
            marketing, etc.
        - name: recommended
          in: query
          required: false
          schema:
            anyOf:
              - type: boolean
              - type: 'null'
            description: Filter for recommended voices only
            title: Recommended
          description: Filter for recommended voices only
        - name: multilingual
          in: query
          required: false
          schema:
            anyOf:
              - type: boolean
              - type: 'null'
            description: Filter for multilingual voices only
            title: Multilingual
          description: Filter for multilingual voices only
        - name: region
          in: query
          required: false
          schema:
            anyOf:
              - type: string
              - type: 'null'
            description: >-
              Filter by region: africa, asia, europe, middle_east, oceania,
              global
            title: Region
          description: 'Filter by region: africa, asia, europe, middle_east, oceania, global'
        - name: primary_language
          in: query
          required: false
          schema:
            anyOf:
              - type: string
              - type: 'null'
            description: Filter by primary language of the voice
            title: Primary Language
          description: Filter by primary language of the voice
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema: {}
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
      security:
        - HTTPBearer: []
components:
  schemas:
    HTTPValidationError:
      properties:
        detail:
          items:
            $ref: '#/components/schemas/ValidationError'
          type: array
          title: Detail
      type: object
      title: HTTPValidationError
    ValidationError:
      properties:
        loc:
          items:
            anyOf:
              - type: string
              - type: integer
          type: array
          title: Location
        msg:
          type: string
          title: Message
        type:
          type: string
          title: Error Type
        input:
          title: Input
        ctx:
          type: object
          title: Context
      type: object
      required:
        - loc
        - msg
        - type
      title: ValidationError
  securitySchemes:
    HTTPBearer:
      type: http
      scheme: bearer

````