Skip to main content
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 --location 'https://api.audioshake.ai/models' \
--header 'x-api-key: your_api_key'

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

FieldDescription
idStable identifier. Pass this as model in Create Task.
nameHuman-readable label.
categoryGrouping such as instrumentStemSeparation, speechSeparation, postProduction, copyrightCompliance, or lyricTranscription.
descriptionOne-sentence summary of what the model does.
accessenabled if your account can use the model. Gated models are flagged request_access and omit pricing.
creditsPerMinuteYour account’s rate. Omitted for request_access models.
inputsAccepted inputs. Each entry lists the taskFields you can set and the formats allowed.
outputFormatsFormats you can request in a Task’s formats array.
limitsPresent only when a model has constraints, e.g. maxInputDurationSeconds.
supportedLanguagesISO 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"] }
    ]
}'