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
    }
    
  • 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