REST · Webhooks · MCP

The music generation API
Suno never shipped.

Generate full songs from a prompt with a single API call. Clean REST, async jobs, webhooks, idempotent retries, auto-generated docs — and a one-line MCP server so your users can make music right inside Claude or Cursor.

Generate a song in one call

curl -X POST ${API}/v1/songs \
  -H "Authorization: Bearer sk_live_..." \
  -H "Content-Type: application/json" \
  -d '{
    "prompt": "an upbeat synthwave anthem about shipping at 2am",
    "style": "synthwave, driving, 120bpm"
  }'

Or plug it into Claude (MCP)

{
  "mcpServers": {
    "suno": {
      "command": "npx",
      "args": ["-y", "suno-mcp"],
      "env": { "SUNO_API_KEY": "sk_live_..." }
    }
  }
}

🎵 Real songs, async

POST a prompt, get a job. Poll or receive a webhook when two finished clip variations are ready.

🔌 Pluggable engine

One interface between the API and the model. Swap the engine without touching a single route.

🔑 API key or MCP

Use plain HTTP, or drop the MCP server into Claude/Cursor and let agents make music directly.

📈 Usage-based credits

Per-key metering, rate limits, idempotency keys, and structured errors out of the box.

📚 Docs that never drift

OpenAPI 3.1 generated from the code, with an interactive reference at /docs.

🪝 Signed webhooks

HMAC-signed delivery with retries, so completions reach your backend reliably.