Skip to main content

Quick Start

If you are ready to begin using our API, this tutorial will show you how you can get started. In this example, we will use our stem separation model to isolate the vocals from a multitrack file abc123. If you have questions on how to use the API for other services or models, you can refer to the API documentation. or email us at support@audioshake.ai.

We also have widget and FTP features which can be run through our API. More details are available on the widget documentation and FTP documentation pages.

Getting started with SDK

Our SDK does not call our API and requires different instructions to get started. For more info, please refer to the SDK documentation.

File Upload

To create a job, you must upload a file. The response contains the ID of the uploaded file, which you can use to create a job request to generate a stem. Further documentation on uploading files can be found here.

Create Job

Once you have the asset ID, you can create a job request to generate a stem using the /jobs endpoint. The endpoint accepts a JSON request with the file ID and the stem type you want to generate. You can choose from a variety of stem types, including vocals, bass, dialogue, music removal, etc. In this example:

  • Authorization Header: your unique JWT token
  • Content-Type: JSON (indicates that the request payload is in JSON format)
  • Request Payload:
    • Format: Input format (in this example wav)
    • Name: Stem name (in this example vocals)
    • assetID: Name of your file (in this example abc123)
curl -L -X POST 'https://groovy.audioshake.ai/job/' \
-H 'Content-Type: application/json' \
-H 'Authorization: Bearer <TOKEN>' \
--data-raw '{
"metadata": {
"format": "wav",
"name": "vocals"
},
"callbackUrl": "https://example.com/webhook/vocals",
"assetId": "abc123"
}'

Upon successful initiation, the server will reply with an HTTP status code of 200, indicating that everything is OK!

Get Job

You can retrieve a job's results by making a GET request to the /jobs/\{job_id\} endpoint, here job_id is the ID of the job that you created.

curl -L -X GET 'https://groovy.audioshake.ai/job_id' \
-H 'Authorization: Bearer <TOKEN>'

Here's an example of what the response looks like:

{
job: {
id: "clmgndrvo001neumu6nr7gt9i",
clientId: "<YOUR CLIENT ID>",
createdAt: "2023-09-12T18:29:50.072Z",
startedAt: "2023-09-12T18:29:50.135Z",
updatedAt: "2023-09-12T18:30:28.155Z",
requestId: "clmgndrvo001neumu6nr7gt9i",
licenseId: "<YOUR LICENSE ID>",
metadata: {
format: "mp3",
name: "vocals",
},
callbackUrl: "<YOUR CALLBACK URL>",
status: "completed",
statusInfo: {},
sourceAsset: {
name: "<Your-File.mp3>",
id: "clmgn7nkg50527f0mulbhwi6z8",
fileType: "audio/mpeg",
format: "mp3",
link: "<LINK TO FILE>",
},
outputAssets: [
{
name: "vocals.mp3",
id: "clmgnel9q50619f0mud8lhjlwq",
fileType: "audio/mpeg",
format: "mp3",
link: "<LINK TO GENERATED FILE>",
},
],
},
}