SoundBerry API · v1

Music generation API

Generate tracks from text, split audio into stems, split drums into percussion parts, generate an instrument stem that fits a reference mix, detect BPM and key. Same engine as the app and the VST — with your API key, every request runs on your account and credits.

How it works

Endpoints

MethodPathWhatCredits
POST/gen/text-to-musicGenerate a track from a text prompt (optionally with lyrics)yes
POST/gen/stem-separationSplit a mix into stems (vocals, drums, bass, other…)yes
POST/gen/drum-separationSplit drums into kick, snare, hi-hat, toms, cymbals…yes
POST/gen/stem-sampleContext-aware stem generation: an instrument part that fits a reference mixyes
POST/gen/beat-analysisBPM, key and scale detectionfree
POST/gen/mix-audioMix several stems into one filefree
POST/gen/beat-cutCut a time range out of a filefree
POST/gen/extend-beatLoop a file N timesfree
POST/gen/generate-lyricsWrite lyrics for a music promptfree
GET/gen/modelsModels available to you for a capability, with credit costfree
GET/gen/status/{generationId}Status and outputs of a previous generationfree
GET/user/infoAccount, credit balance, subscriptionfree

Full request/response schemas in the interactive reference.

Quickstart

curl -X POST https://soundberry.ai/api/gen/text-to-music \
  -H "x-api-key: sb_live_..." \
  -H "content-type: application/json" \
  -d '{"prompt": "lo-fi hip hop beat, dusty drums, warm Rhodes, 85 BPM", "model": "text-to-music-30s-v1"}'

# → { "success": true, "payload": { "audioUrl": "https://…", "audioPath": "generations/…/….wav",
#      "generationId": "…", "creditsBalance": 41.5 } }

MCP — use it from an AI agent

The same operations are exposed as MCP tools at https://soundberry.ai/api/mcp (Streamable HTTP; https://soundberry.ai/mcp works too). Authenticate with your API key as a bearer token. Works with Claude Code, Claude Desktop, Cursor and any MCP client that supports remote servers with custom headers.

Claude Code

claude mcp add --transport http soundberry https://soundberry.ai/api/mcp --header "Authorization: Bearer sb_live_..."

Codex CLI

export SOUNDBERRY_API_KEY="sb_live_..."

# ~/.codex/config.toml
[mcp_servers.soundberry]
url = "https://soundberry.ai/api/mcp"
bearer_token_env_var = "SOUNDBERRY_API_KEY"

Cursor

{
  "mcpServers": {
    "soundberry": {
      "url": "https://soundberry.ai/api/mcp",
      "headers": {
        "Authorization": "Bearer sb_live_..."
      }
    }
  }
}

VS Code

{
  "servers": {
    "soundberry": {
      "type": "http",
      "url": "https://soundberry.ai/api/mcp",
      "headers": {
        "Authorization": "Bearer sb_live_..."
      }
    }
  }
}

Gemini CLI

{
  "mcpServers": {
    "soundberry": {
      "httpUrl": "https://soundberry.ai/api/mcp",
      "headers": {
        "Authorization": "Bearer sb_live_..."
      }
    }
  }
}

Windsurf

{
  "mcpServers": {
    "soundberry": {
      "serverUrl": "https://soundberry.ai/api/mcp",
      "headers": {
        "Authorization": "Bearer sb_live_..."
      }
    }
  }
}

ChatGPT connectors accept only OAuth or no-auth servers, so a bearer key cannot be used there yet.

ToolDoes
generate_musictext → track
separate_stemsmix → stems
separate_drumsdrums → percussion parts
generate_stemreference mix + prompt → one instrument part
analyze_audioBPM / key / scale
list_modelsmodels and credit costs per capability
get_generationoutputs of a previous generation
get_accountcredits and subscription
mix_audiostems → one mixed file
cut_audiotime range → new file
extend_audioloop N times
generate_lyricsmusic prompt → lyrics