Skip to main content

Getting Started with Tasks API

The AudioShake Tasks API lets you submit a single request that runs one or more AI models—such as instrument stem separation, music removal, dialogue isolation, or lyric transcription—on the same piece of media.

A Task groups these operations into a unified workflow, making it easy to process audio or video and retrieve all results from one place.


1. Setup your account

  1. Visit the AudioShake Dashboard.
  2. Create an account and navigate to Settings → API Keys.
  3. Generate an API Key—be sure to save it.
  4. Purchase credits to begin using the API.

Upload a file (Optional)

To create a Task, you need an input media asset. You can either provide an https url or upload a file directly and reference it by assetId.

Uploading files is useful for testing or local workflows and does not require third‑party hosting. Uploaded assets automatically expire after 72 hours.

  1. Upload a file using the Assets API
  2. Use the returned assetId when creating a Task

Request:

curl -X POST "https://api.audioshake.ai/assets" \
-H "accept: application/json" \
-H "x-api-key: $AUDIOSHAKE_API_KEY" \
-H "Content-Type: multipart/form-data" \
-F 'file=@"test.mp3";type=audio/mp3'

Response:

{
"id": "<asset-id>", // assetId
"format": "mp3",
"link": "<url-to-file>",
"name": "test.mp3"
}

Learn more in the Assets documentation.

2. Create your first Task

This Task will target Vocal and Instrumental separation, returning stems for both.

Request:

curl -X POST "https://api.audioshake.ai/tasks" \
-H "Content-Type: application/json" \
-H "x-api-key: $AUDIOSHAKE_API_KEY" \
-d '{
"url": "https://demos.audioshake.ai/demo-assets/shakeitup.mp3",
"targets": [
{ "model": "vocals", "formats": ["wav"] },
{ "model": "instrumental", "formats": ["wav"] }
]
}'

3. Check Task status

Tasks are processed asynchronously. Register a webhook to receive notifications, or, simply poll the Task to check it's status.

curl -X GET "https://api.audioshake.ai/tasks/<task-id>" \
-H "x-api-key: $AUDIOSHAKE_API_KEY"

4. Retrieve Results

Completed Tasks return statuses and download URLs for each target.

{
...
"targets": [
{
"model": "vocals",
"output": [
{
"model": "vocals",
"status": "completed", // processing if not completed
"link": "https://cdn.audioshake.ai/.../vocals.wav",
...
}
],
...
},
{
"model": "instrumental",
"output": [
{
"name": "instrumental",
"status": "completed",
"link": "https://cdn.audioshake.ai/.../instrumental.wav",
...
}
],
...
}
]
}

Need help? Contact support@audioshake.ai