Retrieve speech voices

August 18, 2025

Table of contents

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

This endpoint retrieves available voices for speech generation, including both built-in voices and your custom cloned voices. Use the cloned parameter to filter for only cloned voices created via POST /speech/voice. Use pagination with the last_id parameter and more field to browse through all available voices. Voices include preview audio for testing before use.

https://api.useapi.net/v1/mureka/speech/voices/?…

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

  • last_id is optional. Use it to retrieve the next page of data.
    Set its value to the last_id returned in the previous response.

  • cloned is optional. Filter voices by type.
    Set to true for only cloned voices, false for built-in voices, or omit for all voices.
    Supported values: true, false.

Responses
  • 200 OK

    {
        "list": [
            {
                "id": 12345678901234,
                "user_id": 23456789012345,
                "title": "Sarah",
                "cover": "https://static-cos.mureka.ai/cos-prod/res/cover/….png",
                "mp3_url": "https://static-cos.mureka.ai/cos-prod/tts-v2/….mp3",
                "language": "en",
                "created_at": 1755483687,
                "description": "Professional female voice",
                "duration_milliseconds": 12520,
                "source_type": 2,
                "machine_audit_state": 1
            },
            {
                "id": 34567890123456,
                "user_id": 23456789012345,
                "title": "Michael",
                "cover": "https://static-cos.mureka.ai/cos-prod/res/cover/….png",
                "mp3_url": "https://static-cos.mureka.ai/cos-prod/tts-v2/….mp3",
                "language": "en",
                "created_at": 1755483619,
                "description": "Deep male narrator",
                "duration_milliseconds": 13680,
                "source_type": 2,
                "machine_audit_state": 1
            }
        ],
        "last_id": 1755483619964    
    }
    
  • 400 Bad Request

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

    {
      "error": "Unauthorized",
      "code": 401
    }
    
Model
{ // TypeScript, all fields are optional
    list: {
        id: number
        user_id: number
        title: string
        cover: string
        mp3_url: string
        language: string
        created_at: number
        description: string
        duration_milliseconds: number
        source_type?: number
        machine_audit_state: number
    }[]
    last_id: number
    more?: boolean
}
Examples
  • curl "https://api.useapi.net/v1/mureka/speech/voices/?cloned=true" \
       -H "Accept: application/json" \
       -H "Authorization: Bearer …" 
    
  • const token = "API token";
    const apiUrl = "https://api.useapi.net/v1/mureka/speech/voices/?cloned=true"; 
    const response = await fetch(apiUrl, {
      headers: {
        "Authorization": `Bearer ${token}`,
      },
    });
    const result = await response.json();
    console.log("response", {response, result});
    
  • import requests
    token = "API token"
    apiUrl = "https://api.useapi.net/v1/mureka/speech/voices/?cloned=true"
    headers = {
        "Content-Type": "application/json", 
        "Authorization" : f"Bearer {token}"
    }
    response = requests.get(apiUrl, headers=headers)
    print(response, response.json())
    
Try It