Retrieve the list of speech

June 25, 2026

Table of contents

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

Retrieve the list of text-to-speech jobs, this will include those currently being generated or queued. Check the audio_status_name field for the status and the field audio_status_final to determine if the provided status is the final status.

The API internally uses the field audio_status to calculate values for audio_status_name and audio_status_final. See below for the known statuses map:

audio_status audio_status_name audio_status_final
1 COMPLETED true
5 QUEUED false
8 FAILED true
10 GENERATING false

https://api.useapi.net/v2/pixverse/speech/?…

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

  • limit is optional, specify the number of clips to return. Default 50.

  • offset is optional, specify the offset from where to start.

Responses
  • 200 OK

    This endpoint returns speech only (create_mode: voice). Music tracks are listed separately by GET music.

    {
        "data": [
            {
                "audio_id": "user:<userid>-pixverse:<email>-speech:11223344",
                "asset_id": 11223344,
                "audio_status": 1,
                "status": "finish",
                "create_mode": "voice",
                "provider": "minimax",
                "model": "speech-2.8-hd",
                "voice_id": "minimax_english_radiant_girl",
                "voice_name": "Radiant Girl",
                "language_code": "en",
                "prompt": "Use API dot net.",
                "url": "https://media.pixverse.ai/pixverse/audio/speech/11223344.mp3",
                "name": "PixVerse_Speech_11223344.mp3",
                "duration": 2,
                "credits": 1,
                "created_at": "2026-06-23T12:34:56Z",
                "updated_at": "2026-06-23T12:35:06Z",
                "audio_status_name": "COMPLETED",
                "audio_status_final": true
            }
        ],
        "next_offset": 50,
        "has_more": false
    }
    
  • 400 Bad Request

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

    {
      "error": "Unauthorized",
      "code": 401
    }
    
Model
{   // TypeScript, all fields are optional
  data: {
    audio_id: string
    asset_id: number
    audio_status: number
    status: string
    create_mode: string
    provider: string
    model: string
    voice_id: string
    voice_name: string
    language_code: string
    prompt: string
    url: string
    name: string
    duration: number
    credits: number
    created_at: string
    updated_at: string
    // added
    audio_status_name: string
    audio_status_final: boolean
  }[]
  next_offset: number
  has_more: boolean
}
Examples
  • curl "https://api.useapi.net/v2/pixverse/speech/?email=email" \
       -H "Accept: application/json" \
       -H "Authorization: Bearer …"
    
  • const token = "API token";
    const email= "Previously configured account email";
    const apiUrl = `https://api.useapi.net/v2/pixverse/speech/?email=${email}`;
    const response = await fetch(apiUrl, {
      headers: {
        "Authorization": `Bearer ${token}`,
      },
    });
    const result = await response.json();
    console.log("response", {response, result});
    
  • import requests
    token = "API token"
    email= "Previously configured account email"
    apiUrl = f"https://api.useapi.net/v2/pixverse/speech/?email={email}"
    headers = {
        "Content-Type": "application/json",
        "Authorization" : f"Bearer {token}"
    }
    response = requests.get(apiUrl, headers=headers)
    print(response, response.json())
    
Try It