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.
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
)
- Format: Input format (in this example
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>",
},
],
},
}