Retrieve the list of system and cloned audio voices

December 23, 2024 (January 12, 2024)

Table of contents

  1. Request Headers
  2. Query Parameters
  3. Responses
  4. Model
  5. Examples
  6. Try It

Please configure at least one www.hailuo.ai account for this endpoint, see Setup MiniMax for details.

Over 300 pre-built voices provided supporting the following:

  • Languages: English, Chinese (Mandarin), Spanish, French, Russian, Portuguese, Indonesian, German, Japanese, Korean, Italian, Cantonese
  • Emotions: happy, sad, angry, fearful, disgusted, surprised, neutral
  • Accents: US (General), English, Indian
  • Ages: Young Adult, Adult, Middle-Aged, Senior
  • Genders: Male, Female

https://api.useapi.net/v1/minimax/audio/voices/?…

Request Headers
Authorization: Bearer {API token}
Content-Type: application/json
Query Parameters
  • account is optional when only one www.hailuo.ai account configured. However, if you have multiple accounts configured, this parameter becomes required.

  • tag_list is optional. Specify a comma-separated list of tags using those returned by GET audio/config to narrow down the returned results.
    Example: Italian,Female,Adult,Calm

  • page and page_size are optional. Use them to retrieve the next page of data when the returned has_more field is true.
    Default page_size is 500.

  • is_system is optional. Set to false if you want to retrieve a list of custom voices cloned via POST audio/clone-voice. The entire list of custom voices will be returned at once, the page and page_size parameters will not be used.
    Default is true (return system voices).

Responses
  • 200 OK

    GET https://api.useapi.net/v1/minimax/audio/voices/?tag_list=Italian,Female,Adult,Calm

    {
        "voice_list": [
            {
                "voice_id": "209544421245048",
                "parent_voice_id": "0",
                "voice_name": "Diligent Leader",
                "tag_list": [
                    "Italian",
                    "Female",
                    "Adult",
                    "Calm",
                    "Standard"
                ],
                "file_id": "",
                "cover_url": "https://cdn.hailuoai.video/moss/staging/2024-11-21-14/moss-audio/voice_cover//1732171514479796864-207331589841022.png?x-oss-process=image/resize,p_50/format,webp",
                "create_time": 1732711650948,
                "update_time": 1732711650948,
                "collected": false,
                "voice_status": 2,
                "sample_audio": "https://cdn.hailuoai.video/moss/staging/2024-11-25-20/moss-audio/voice_sample_audio/1732537441602153587-official_sample_audio/4_it05.mp3",
                "uniq_id": "Italian_DiligentLeader",
                "group_id": "0"
            }
        ],
        "total": 1,
        "has_more": false
    }
    
  • 400 Bad Request

    {
        "error": "<Error message>",
        "code": 400
    }
    
  • 401 Unauthorized

    {
      "error": "Unauthorized",
      "code": 401
    }
    
Model
{   // TypeScript, all fields are optional
    voice_list: {
        voice_id: string
        parent_voice_id: string
        voice_name: string
        tag_list: string[]
        file_id: string
        cover_url: string
        create_time: number
        update_time: number
        collected: boolean
        voice_status: number
        sample_audio: string
        uniq_id: string
        group_id: string
        managed_by_api: boolean
        is_expired: boolean
        refresh_count: number
        cloned_id: string
        clone: {
            voice_name: string
            language_tag: string
            need_noise_reduction: boolean
            files: {
                file_id: string
                file_name: string
            }[]
        }
    }[]
    total: number
    has_more: boolean
}
Examples
  • curl "https://api.useapi.net/v1/minimax/audio/voices/?account=account" \
       -H "Accept: application/json" \
       -H "Authorization: Bearer …" 
    
  • const token = "API token";
    const account = "Previously configured account"; 
    const apiUrl = `https://api.useapi.net/v1/minimax/audio/voices/?account=${account}`; 
    const response = await fetch(apiUrl, {
      headers: {
        "Authorization": `Bearer ${token}`,
      },
    });
    const result = await response.json();
    console.log("response", {response, result});
    
  • import requests
    token = "API token"
    account = "Previously configured account"
    apiUrl = f"https://api.useapi.net/v1/minimax/audio/voices/?account={account}"
    headers = {
        "Content-Type": "application/json", 
        "Authorization" : f"Bearer {token}"
    }
    response = requests.get(apiUrl, headers=headers)
    print(response, response.json())
    
Try It