Retrieve a generated music track

June 24, 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 music track. Attempting to retrieve a track that is still generating will return the current status. Poll until audio_status_final is true.

To create music, use POST music/create.

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

Request Headers
Authorization: Bearer {API token}
Content-Type: application/json
Path parameter
Responses
  • 200 OK

    {
        "audio_id": "user:<userid>-pixverse:<email>-music:<number>",
        "asset_id": 11223344,
        "audio_status": 1,
        "status": "finish",
        "create_mode": "music",
        "provider": "minimax",
        "model": "music-2.6",
        "prompt": "<prompt>",
        "auto_lyrics": true,
        "url": "https://media.pixverse.ai/pixverse/audio/music/11223344.mp3",
        "name": "PixVerse_Music_11223344.mp3",
        "duration": 202,
        "credits": 40,
        "created_at": "2026-06-23T12:34:56Z",
        "updated_at": "2026-06-23T12:38:18Z",
        "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 track was deleted or not found.

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

When a track fails (audio_status 8) the response also carries fail_code (music_generation_failed) 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
    prompt: string
    auto_lyrics: boolean
    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/music/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/music/${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/music/{audio_id}"
    headers = {
        "Content-Type": "application/json",
        "Authorization" : f"Bearer {token}"
    }
    response = requests.get(apiUrl, headers=headers)
    print(response, response.json())
    
Try It