Retrieve generated speech

June 25, 2026

Table of contents

  1. Request Headers
  2. Path parameter
  3. Responses
  4. Audio Status Values
  5. Model
  6. Examples
  7. Try It

Use this endpoint to retrieve a generated speech clip. Attempting to retrieve a job that is still generating will return the current status. Poll until audio_status_final is true.

To generate speech, use POST speech/create.

https://api.useapi.net/v2/pixverse/speech/audio_id

Request Headers
Authorization: Bearer {API token}
Content-Type: application/json
Path parameter
  • audio_id is required. Specify the audio_id returned by POST speech/create. The account email is encoded in the id, so no separate email is needed.
Responses
  • 200 OK

    {
        "audio_id": "user:<userid>-pixverse:<email>-speech:<number>",
        "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": "May the Force be with you.",
        "url": "https://media.pixverse.ai/pixverse/audio/speech/11223344.mp3",
        "name": "PixVerse_Speech_11223344.mp3",
        "duration": 3,
        "credits": 1,
        "created_at": "2026-06-23T12:34:56Z",
        "updated_at": "2026-06-23T12:35:06Z",
        "audio_status_name": "COMPLETED",
        "audio_status_final": true
    }
    
  • 400 Bad Request

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

    {
      "error": "Unauthorized",
      "code": 401
    }
    
  • 404 Not Found

    The speech clip was deleted or not found.

    {
        "error": "Speech user:<userid>-pixverse:<email>-speech:<number> not found"
    }
    
Audio Status Values
audio_status audio_status_name audio_status_final Description
1 COMPLETED true Speech ready, check url
5 QUEUED false Accepted, waiting to start
8 FAILED true Generation failed, see fail_reason
10 GENERATING false Speech is being generated

When a job fails (audio_status 8) the response also carries fail_code and a human-readable fail_reason describing the underlying error. These are usually transient backend errors, so re-submitting the same request often succeeds.

Model
{   // TypeScript, all fields are optional
    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
    path: string
    url: string
    name: string
    duration: number
    file_size: number
    format: string
    sample_rate: number
    bitrate: number
    channel: number
    credits: number
    created_at: string
    updated_at: string
    // present only when audio_status is 8 (FAILED)
    fail_code: string
    fail_reason: string
    // added
    audio_status_name: string
    audio_status_final: boolean
    error: string
}
Examples
  • curl "https://api.useapi.net/v2/pixverse/speech/audio_id" \
       -H "Accept: application/json" \
       -H "Authorization: Bearer …"
    
  • const token = "API token";
    const audio_id = "audio_id to retrieve";
    const apiUrl = `https://api.useapi.net/v2/pixverse/speech/${audio_id}`;
    const response = await fetch(apiUrl, {
      headers: {
        "Authorization": `Bearer ${token}`,
      },
    });
    const result = await response.json();
    console.log("response", {response, result});
    
  • import requests
    token = "API token"
    audio_id = "audio_id to retrieve"
    apiUrl = f"https://api.useapi.net/v2/pixverse/speech/{audio_id}"
    headers = {
        "Content-Type": "application/json",
        "Authorization" : f"Bearer {token}"
    }
    response = requests.get(apiUrl, headers=headers)
    print(response, response.json())
    
Try It