List Available Models - AudioShake Developers
Documentation Index
Fetch the complete documentation index at: /llms.txt
Use this file to discover all available pages before exploring further.
The GET /models endpoint returns every AudioShake model available to your account, along with its category, pricing, accepted input formats, and output formats. Use it to discover models programmatically instead of hardcoding a list — the id field is exactly the value you pass as model when creating a Task.
Request
Authenticate with your x-api-key header, the same as every other endpoint.
cURL
curl --location 'https://api.audioshake.ai/models' \
--header 'x-api-key: your_api_key'
Python
import requests
API_KEY = "your_api_key"
models = requests.get(
"https://api.audioshake.ai/models",
headers={"x-api-key": API_KEY}
).json()["models"]
for m in models:
price = m.get("creditsPerMinute", "—")
print(f"{m['id']}: {m['name']} ({price} credits/min)")
JavaScript
const API_KEY = "your_api_key";
const res = await fetch("https://api.audioshake.ai/models", {
headers: { "x-api-key": API_KEY }
});
const { models } = await res.json();
for (const m of models) {
console.log(`${m.id}: ${m.name} (${m.creditsPerMinute ?? "—"} credits/min)`);
}
Response
The response is a { "models": [...] } envelope. Each model looks like this:
{
"models": [
{
"id": "bass",
"name": "Bass",
"category": "instrumentStemSeparation",
"description": "Low-end bass sources (electric bass, double bass, bass synth).",
"access": "enabled",
"creditsPerMinute": 1,
"inputs": [
{
"id": "media",
"description": "Source audio or video file",
"required": true,
"taskFields": ["url", "assetId"],
"formats": {
"audio": ["wav", "aiff", "flac", "mp3", "aac", "m4a"],
"video": ["mp4", "mov"]
}
}
],
"outputFormats": ["aiff", "wav", "flac", "mp3", "mp4"]
}
]
}
Fields
| Field | Description |
|---|---|
id |
Stable identifier. Pass this as model in Create Task. |
name |
Human-readable label. |
category |
Grouping such as instrumentStemSeparation, speechSeparation, postProduction, copyrightCompliance, or lyricTranscription. |
description |
One-sentence summary of what the model does. |
access |
enabled if your account can use the model. Gated models are flagged request_access and omit pricing. |
creditsPerMinute |
Your account’s rate. Omitted for request_access models. |
inputs |
Accepted inputs. Each entry lists the taskFields you can set and the formats allowed. |
outputFormats |
Formats you can request in a Task’s formats array. |
limits |
Present only when a model has constraints, e.g. maxInputDurationSeconds. |
supportedLanguages |
ISO codes, present only on language-aware models (transcription, alignment). |
Null and empty values are omitted, so optional fields like limits, supportedLanguages, and (for gated models) creditsPerMinute won’t always be present. Check for a field before reading it.
Use a model in a Task
Take any id from the response and use it directly when creating a Task:
curl --location 'https://api.audioshake.ai/tasks' \
--header 'Content-Type: application/json' \
--header 'x-api-key: your_api_key' \
--data '{
"url": "https://your-file.com/song.mp3",
"targets": [
{ "model": "bass", "formats": ["mp3"] }
]
}'