Welcome to the Audionamix Source Separation API.

You can use this API to extract specific targets from an audio recording.

To access our API, you will need to request credentials from our team.

Credentials consist of two identifiers : A Client ID and a client Secret.


Body Sample:

  "client_id": YOUR_CLIENT_ID,
  "client_secret": YOUR_CLIENT_SECRET,
  "audience": "https://*",
  "grant_type": "client_credentials"

Response Sample:

    "access_token": "COMPLEX_JWT_TOKEN",
    "scope": "GRANTED_SCOPE_1 , GRANTED_SCOPE2",
    "expires_in": 604800,
    "token_type": "Bearer"


The authentication is based on Java Web Tokens. Also known as JWT, it consists of a token encoded to include information about the user. Tokens are valid for a limited period of time and should be renewed on a regular basis.

Making Authenticated Requests

To make calls to the API, send the Authorization token in the Authorization HTTP header using the Bearer authentication scheme.

You must replace ACCESS_TOKEN with the previously generated token.

Managing your files

Before starting, you need to grant the Audionamix API access to the file you want to work with. One of the best and most secure ways to do so is to upload your file to our storage system. Audionamix provides protected online storage to each of its customers so you can upload, download and delete the files you want to work with.

Finding your user ID

Your online storage is identified by your user ID. It is built using the provided Client ID. The format is:


Uploading a file

Response Sample:

    "upload_url": "PRESIGNED_UPLOAD_URL",
    "download_url": "PRESIGNED_DOWNLOAD_URL"

To upload a file, you first need to use the GET method to the URL where you want to put your file.


You will receive a presigned URL to upload your file.

To do so, just run the following request


The body should contain the file you want to send in binary data.

Downloading a file

To download a file, you must run the same request as for uploading a file.


Usually, you will download either a file you stored on the system yourself, or the result of an extraction. For the latter, the file URL will be given during the extraction process.

You will receive the same response than during the upload process. However, this time, you can make a GET request to the download_url to directly download your file.


Deleting a file

As we want to give you full control over your file, you can delete it from our servers.

To do so, just use the following request :


You can delete both the files you uploaded and the processed results.

The extraction service

Our API offers several sound separation options. We can separate Singing vocals, Dialogues, Drums and bass from an original recording.

Starting an extraction

Payload Sample:

    "source": "URL_TO_SOURCE_FILE",
    "extraction_type" : "ALGORITHM_TYPE"

To start an extraction, you should run the following request :


The request payload should contain the following parameters :

Parameter Description
source The URL to the source file. This is the url where you uploaded the file, not the presigned one.
extraction_type The extraction type. See the Extraction Types section for more details.

Available Extraction Types

Our API offers several extraction types. Here is the list :

Algorithm Description
DX_ISOLATION Dialogue isolation / removal for film/TV. Splits a file into speech and M&E background content.
DX_ISOLATION_V2 Latest algorithm for dialogue isolation and removal. Depending on the source file, V2 may provide a better separation result.
VOCALS_EXTRACTION Vocal Extraction from a musical mix. This can also be used to generate an instrumental backing track.
DRUMS_EXTRACTION Drums Extraction from a musical mix. This can also be used to generate a drumless backing track.
BASS_EXTRACTION Bass Extraction from a musical mix. This can also be used to generate a bassless backing track.
OTHER_EXTRACTION Other Extraction. This extraction is used in conjunction with the vocals, drums and bass stems to create a 4 stems extraction

Response Sample:

    "url": "[EXTRACTION_ID]",
    "source": URL_TO_SOURCE_FILE,
    "extraction_type": EXTRACTION_TYPE,
    "status": "Pending",
    "progress": Integer,
    "stem": "",
    "stemless": "",
    "error": ""

Once you post your extraction, you will get a response containing the following parameters.

Parameter Description
url The URL of the extraction itself. You can use this to follow the progress of your extraction.
source The URL of the source file on Audionamix Storage system.
extraction_type The extraction type. See the Extraction Types section for more details.
status The status of the extraction. There are several : Pending, Processing, Success, Failed
progress Integer between 1 and 100. 100 correspond to a finished extraction
stem URL of the extracted stem.
stemless URL of the stemless file.
error If the extraction failed, the error field will give you more information.

Getting the status of an extraction

Once the extraction has been posted, you can query its process using the url that has been provided to you.


You will get the same response format as when you made your first request, but the content of the fields progress and status will change, according to the progress of the extraction.

Once the extraction is finished, the fields stem and stemless will provide the url to download the stem file and its stemless equivalent, respectively (i.e. : For a vocal extraction, the stem file will be the isolated vocal track and the stemless one will be the backing track with the voice removed).

To download it, please refer to the Downloading a file section