Download raw mp3 audio

June 3, 2026

Table of contents

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

Download a generated clip as raw mp3 audio β€” the response body is the audio bytes.

The full-quality m4a and wav are public URLs already on every clip, so they aren’t re-served here: read audio_url / wav_url from GET /music (or the job record) and download those directly.

https://api.useapi.net/v1/flowmusic/music/download

Request Headers

Authorization: Bearer {API token}
Content-Type: application/json

Query Parameters

  • id is required, an encoded clip asset ID (user:<id>-<email>-clip:<uuid>) or a completed jobid (resolves to the job’s first clip).
  • format is optional, mp3 (the default and only value).

Stems are separate clips. When you separate a song’s stems in Flow Music it creates one clip per track β€” they show up in GET /music as "<title> - drums", "- bass", "- vocals", "- other". Download each one here with its own id (or grab its audio_url/wav_url).

Responses

  • 200 OK β€” the raw audio/mpeg bytes, with a Content-Disposition filename (<clip>.mp3).

  • 400 β€” id is not a valid clip ID or jobid, or format is unsupported.

    { "error": "Parameter id not a valid clip ID or jobid", "code": 400 }
    
  • 401 Unauthorized β€” invalid API token.

  • 409 β€” a jobid was given but the job is not completed yet.

  • 596 Account Error

    The account that owns the requested clip is in an error state and can’t be used β€” re-add it via POST /accounts. The error field returns whatever reason was recorded for the account.

    {
      "error": "Account [email protected] in error state: refresh token rejected",
      "code": 596
    }
    

Model

This endpoint streams raw audio/mpeg bytes (not JSON), with a Content-Disposition filename. Only the error responses (400 / 409) return JSON { error, code }.

Examples

  • # Any clip β€” including a separated stem clip β€” downloads as mp3 by its id
    curl -H "Authorization: Bearer YOUR_API_TOKEN" \
         "https://api.useapi.net/v1/flowmusic/music/download?id=user:[email protected]:12ab34cd-...&format=mp3" \
         --output song.mp3
    
  • import requests, urllib.parse
    clip = 'user:[email protected]:12ab34cd-...'
    url = 'https://api.useapi.net/v1/flowmusic/music/download?id=' + urllib.parse.quote(clip) + '&format=mp3'
    r = requests.get(url, headers={'Authorization': 'Bearer YOUR_API_TOKEN'})
    open('song.mp3', 'wb').write(r.content)
    

Try It

This endpoint returns raw audio bytes (not JSON), so the form below fetches the file with your token and plays it inline.