Snabbstart
Den här guiden tar dig på cirka fem minuter från att skapa en API-nyckel till din första genererade låt, till att följa upp statusen och ladda ner ljudet. Exemplen kan kopieras och köras som de är.
Aktuell standardmodell är
suno-v6. Genereringsmodellerna frånsuno-v2tillsuno-v5-5är avstängda: de kan förekomma i gamla uppgifter men tar inte emot nya anrop.
Steg 1: skaffa en API-nyckel
- Öppna https://www.suno-api.io.
- Klicka på Hämta API-nyckel och registrera dig. Det räcker med e-post, inget telefonnummer.
- Öppna tokenhanteringen i konsolen och skapa en nyckel.
- Kopiera den direkt — nyckeln visas bara en gång. Fyll på saldot med en inlösenkod innan första betalda anropet.
Steg 2: ställ in anropet
Alla anrop använder samma bas-URL och samma rubriker:
POST https://www.suno-api.io
Authorization: Bearer YOUR_API_KEY
Content-Type: application/json
Steg 3: skicka ditt första anrop
Exempel 1 — generera från en beskrivning
Beskriv musiken och API:et skriver text, melodi och arrangemang:
curl -X POST https://www.suno-api.io/api/music/create \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"description": "en glad folklåt om vårens första dag",
"model": "suno-v6"
}'
Svar:
[
{
"song_id": "abc123",
"status": "pending",
"song_title": "Vårberättelse",
"description": "en glad folklåt om vårens första dag",
"created_at": "2026-04-22T10:30:00Z"
},
{
"song_id": "def456",
"status": "pending",
"song_title": "Vårsteg",
"description": "en glad folklåt om vårens första dag",
"created_at": "2026-04-22T10:30:00Z"
}
]
Varje körning ger två olika versioner att välja mellan. En generering kostar 0,6 ¥.
Exempel 2 — följ upp statusen
Skicka song_id-värdena till statusändpunkten:
curl -X POST https://www.suno-api.io/api/music/query \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"song_ids": ["abc123", "def456"],
"model": "suno-v6"
}'
Medan uppgiften körs:
[
{
"song_id": "abc123",
"status": "processing",
"song_title": "Vårberättelse",
"progress": "60%"
}
]
När den är klar:
[
{
"song_id": "abc123",
"status": "completed",
"song_title": "Vårberättelse",
"audio_url": "https://media.code-go.com/assets/abc123-mp3.mp3",
"video_url": "https://media.code-go.com/assets/abc123-mp4.mp4",
"cover_url": "https://media.code-go.com/assets/abc123-cover.jpg",
"duration": 168
}
]
status går genom pending, submitted, processing och når completed. Adresserna kan vara
tomma medan uppgiften körs: bedöm efter status, inte efter om audio_url finns.
Steg 4: ladda ner filen
När status är completed begär du bara audio_url. Nedladdning i MP3 och WAV är obegränsad
och kostar inget extra. Behöver du förlustfritt ljud för redigering använder du WAV-ändpunkten.
Vanliga scenarier
Bakgrundsmusik till video
{
"description": "lugn lo-fi-bakgrund till en produktvideo, utan sång, stabil dynamik",
"instrumental": true,
"model": "suno-v6"
}
Med instrumental satt till true innehåller resultatet ingen sång.
Egen text och stil
{
"lyrics": "[Verse 1]\nStadens ljus slocknar långsamt\n\n[Chorus]\nVi går bara vidare",
"style": "acoustic pop, varm kvinnlig sång, 92 BPM",
"model": "suno-v6"
}
Följ upp tills det är klart
import time
import requests
API_KEY = "sk-your-key-here"
BASE = "https://www.suno-api.io"
HEADERS = {"Authorization": f"Bearer {API_KEY}", "Content-Type": "application/json"}
created = requests.post(
f"{BASE}/api/music/create",
headers=HEADERS,
json={"description": "en glad folklåt om våren", "model": "suno-v6"},
).json()
song_ids = [track["song_id"] for track in created]
for _ in range(60):
time.sleep(10)
tracks = requests.post(
f"{BASE}/api/music/query",
headers=HEADERS,
json={"song_ids": song_ids, "model": "suno-v6"},
).json()
if all(track.get("status") == "completed" for track in tracks):
for track in tracks:
print(track["song_title"], track["audio_url"])
break
Felhantering
Viktigaste statuskoder
| Kod | Betydelse | Vad du gör |
|---|---|---|
| 200 | Lyckat | Läs svarskroppen |
| 400 | Ogiltig begäran — parameter saknas eller är felaktig | Jämför med referensen |
| 401 | Nyckeln saknas eller är ogiltig | Kontrollera rubriken Authorization |
| 403 | Ingen behörighet, oftast för lågt saldo | Fyll på kontot |
| 429 | Anropsgräns | Skicka igen med exponentiell backoff |
| 500 | Serverfel | Skicka igen; kvarstår det, kontakta supporten |
Felformat
{
"error": {
"message": "Invalid API key provided",
"type": "invalid_request_error",
"code": "invalid_api_key"
}
}
Bästa praxis
- Förvara nyckeln på servern, aldrig i webbläsaren eller i distribuerade appar.
- Fråga var 10–15 sekund i stället för i en tät loop.
- Spara
song_id: det är den enda identifieraren för att hitta ljudet senare. - Skicka igen vid
429och500; åtgärda orsaken innan du skickar igen vid400och401. - Misslyckade genereringar återbetalas automatiskt, så en misslyckad uppgift kostar inget.
Nästa steg
- Autentisering — nycklar, fel och gränser
- Modeller som stöds — modellnamn, stems och avstängda modeller
Skaffa en API-nyckel
Skapa en API-nyckel i konsolen efter registreringen. Varje generering kostar 0,6 ¥ och returnerar 2 spår, nedladdningar är obegränsade och inget telefonnummer krävs.
Hämta API-nyckel Tillbaka till översikten