Retrieve speech voices

August 18, 2025 (October 18, 2026)

Table of contents

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

This endpoint lists the voices for speech generation: Mureka’s built-in voices by default, or with cloned=true your custom cloned voices created via POST /speech/voice. One call returns one of the two lists. 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. Set to true for your cloned voices. Omitted or false lists Mureka’s built-in 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
    }
    
  • 596 Account Error

    Returned when the account has an error state preventing API calls.

    {
        "error": "Session refresh failed 2026-01-19T14:31:15.000Z, manual update required",
        "code": "REFRESH_FAILED"
    }
    

    Possible error codes:

    • ACCOUNT_ERROR - Account has a blocking error
    • REFRESH_FAILED - Automatic token refresh failed
    • REFRESH_IN_PROGRESS - Token refresh already in progress, retry shortly
    • SESSION_EXPIRED - Session expired and no auto-refresh available
    • COOKIE_EXPIRED - Google cookie has expired

    To resolve, update your account configuration via POST /accounts.

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