Developer documentation
Suno API Documentation
Everything you need to ship AI music generation: quickstart, authentication, the full endpoint catalog (create, extend, cover, stems, MIDI, personas), and signed webhooks.
Quickstart
Your first song in three steps
- 1Create an API key. Sign up (30 free credits included) and generate a key from the dashboard.
- 2Create a generation task.
curl -X POST https://api.aimusicapi.ai/api/v1/suno/create \ -H "Authorization: Bearer $AIMUSICAPI_KEY" \ -H "Content-Type: application/json" \ -d '{ "task_type": "create_music", "custom_mode": false, "gpt_description_prompt": "an upbeat synthwave track about night driving", "mv": "chirp-v5", "webhook_url": "https://yourapp.com/api/music-callback" }' - 3Receive the result. Poll
GET /api/v1/suno/task/:idor let the webhook deliver the final audio URLs to your endpoint (typical generation: 1–3 minutes).
Endpoint catalog
Every endpoint, one page
Each entry links to the full reference with request and response schemas, parameters, and copy-paste examples.
Music generation
Create music
POST /api/v1/suno/createGenerate full songs with vocals or instrumentals. Custom mode (your lyrics + style) or description mode (one prompt). Models v3.5 → V5.
Full referenceGenerate lyrics
POST /api/v1/suno/lyricsStandalone lyric generation from a theme, style, and mood.
Full referenceTask status
GET /api/v1/suno/task/:idPoll a generation task. Or skip polling entirely with webhooks.
Full referenceTransform existing audio
Extend song
POST /api/v1/suno/upload-extendLengthen a track while keeping style and vocal continuity.
Full referenceCover / restyle
POST /api/v1/suno/upload-coverRe-render a song in a different style or with different vocals.
Full referenceReplace section
POST /api/v1/suno/replace-sectionRegenerate a specific time range inside an existing song.
Full referenceSwap sound / vocals
POST /api/v1/suno/…Keep the vocals and replace the instrumental, or the reverse.
Full referenceUpload audio
POST /api/v1/suno/uploadBring your own audio in for any transform workflow.
Full referenceAudio processing
Stem separation
POST /api/v1/suno/stems/basic | /stems/full4-track split, or full 12-track instrument isolation.
Full referenceAudio to MIDI
POST /api/v1/suno/audio-to-midiExtract multi-instrument MIDI from any generated song.
Full referenceWAV export
POST /api/v1/suno/wavLossless WAV render of any clip for production masters.
Full referenceVoices & personas
Create persona
POST /api/v1/suno/personaBuild a reusable AI voice from a reference clip and generate with it.
Full referenceOther model families (same API key)
Producer AI (Lyria-class)
POST /api/v1/producer/createFast, high-fidelity generation — full songs in ~30 seconds.
Full referenceRiffusion
POST /api/v1/riffusion/createFlexible remix-oriented generation and editing endpoints.
Full referenceAuthentication
Bearer token on every request:
Authorization: Bearer <your key>. Keys are created, rotated, and revoked from the dashboard; store them server-side only.Webhooks (recommended over polling)
Pass
webhook_url at task creation. Deliveries fire on succeeded, streaming, and failed, and are signed with HMAC-SHA256 (X-Webhook-Timestamp + X-Webhook-Signature headers):// Verify webhook signatures (HMAC-SHA256 over "timestamp.rawBody")
const message = `${req.headers["x-webhook-timestamp"]}.${rawBody}`
const expected = crypto
.createHmac("sha256", process.env.WEBHOOK_SECRET)
.update(message)
.digest("hex")
// compare with req.headers["x-webhook-signature"] ("sha256=<hex>")ВОПРОСЫ