Basic concepts

Input

The input is the file that you want to process. You will need to provide this file via an URL. Our services are able to work with public links and cloud storage services such as:
We recommend that you use signed URLs or similar techniques to protect your data. If you don't have access to a storage service, you can use our temporary upload server.

Operations

We provide many operation types that you can execute against your media. Here's some operations we currently support:
Operation typeDescription
Stems separationSeparates the stems of the audio file
Lyrics transcriptionTranscribes the lyrics of the audio file
MasteringMasters a song using a reference audio file
Pitch ShifterShifts the pitch of the audio file
Beats & ChordsDetects the beats and chords of the audio file
Music SegmentationSegments an audio file into musical sections

Operation status

Every operation has a status respresenting its current state:
StatusDescription
QUEUED
Awaiting to start
STARTED
Processing has started
COMPLETED
Everything has completed and the resulst are ready
FAILED
There was an error processing your media

Usage

The basic workflow needed in order to process your media is:
  1. Create new media - Your provide an inputUrl and specify which operations you want to execute on it. Once your execute this instruction, the server will return the id associated with your new media. If you dont have an inputUrl, you can use our temporary upload server to create one.
  2. Get existing media - At any time, you can check the results and status for your media by providing its id
Create new media

Let's start by isolating the vocals and accompaniment stems from our orginal media file hosted on https://your-server.com/audio.m4a. To accomplish this, we will be using the STEMS operation with the setting mode=vocals-accompaniment.

You can use the property isDemo to create a demo request that will only process up to 30 seconds and will not be charged.

Notice that the server response contains the media id. This is the unique identifier for the media you created!
Get existing media

Since we now have a media id, we can check its the results:

You should notice the server response is telling us that our STEMS operations has started, but not completed. Lets wait 10 seconds and then check the status again:

This time the STEMS operations has completed, and we can access our results!