Snelstartgids
Deze gids brengt je in ongeveer vijf minuten van het aanmaken van een API-sleutel naar je eerste gegenereerde nummer, het opvragen van de voortgang en het downloaden van de audio. De voorbeelden kun je zo overnemen en uitvoeren.
Het huidige standaardmodel is
suno-v6. De generatiemodellen vansuno-v2tot en metsuno-v5-5zijn uitgeschakeld: ze kunnen nog in oude taken voorkomen, maar accepteren geen nieuwe aanvragen meer.
Open je AI-assistent en stuur de onderstaande zin. De assistent volgt de Agent Kit-onboarding en rondt de configuratie af.
Download, installeer en configureer suno-api agent kit vanaf dit adres https://www.suno-api.io/suno-agent-kit.zip
Aanbevolen: laat AI de integratie afronden
De AI leest 00_START_HERE.md en helpt bij registratie, het opslaan van de API Key, saldocontrole, uitleg van alle functies en de eerste generatie. Betaalde acties worden eerst bevestigd en time-outs worden niet automatisch opnieuw verzonden.
Stap 1: een API-sleutel aanmaken
- Open https://www.suno-api.io.
- Klik op API-sleutel ophalen en registreer je. Alleen een e-mailadres is nodig, geen telefoonnummer.
- Open in de console het tokenbeheer en maak een sleutel aan.
- Kopieer hem direct — de sleutel wordt maar één keer getoond. Waardeer je saldo met een inwisselcode op voordat je de eerste betaalde aanroep doet.
Stap 2: het verzoek instellen
Alle aanroepen gebruiken dezelfde basis-URL en dezelfde headers:
POST https://www.suno-api.io
Authorization: Bearer YOUR_API_KEY
Content-Type: application/json
Stap 3: het eerste verzoek versturen
Voorbeeld 1 — genereren vanuit een beschrijving
Beschrijf de muziek en de API schrijft tekst, melodie en arrangement:
curl -X POST https://www.suno-api.io/api/music/create \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
--max-time 300 \
-d '{
"description": "een vrolijk folknummer over de eerste dag van de lente",
"model": "suno-v6"
}'
Antwoord:
[
{
"song_id": "abc123",
"status": "pending",
"song_title": "Lenteverhaal",
"description": "een vrolijk folknummer over de eerste dag van de lente",
"created_at": "2026-04-22T10:30:00Z"
},
{
"song_id": "def456",
"status": "pending",
"song_title": "Lentestappen",
"description": "een vrolijk folknummer over de eerste dag van de lente",
"created_at": "2026-04-22T10:30:00Z"
}
]
Elke uitvoering levert twee verschillende versies op om uit te kiezen. Eén generatie kost ¥0,6.
Voorbeeld 2 — de voortgang opvragen
Stuur de ontvangen song_id-waarden naar het opvraag-endpoint:
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"
}'
Terwijl de taak loopt:
[
{
"song_id": "abc123",
"status": "processing",
"song_title": "Lenteverhaal",
"progress": "60%"
}
]
Als hij klaar is:
[
{
"song_id": "abc123",
"status": "completed",
"song_title": "Lenteverhaal",
"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
}
]
De status loopt van pending via submitted en processing naar completed. De
adressen kunnen tijdens de uitvoering leeg blijven: beoordeel op basis van de status, niet
op basis van de aanwezigheid van audio_url.
Stap 4: het bestand downloaden
Als de status completed is, vraag je gewoon de audio_url op. Downloads in MP3 en WAV
zijn onbeperkt en kosten niets extra. Heb je verliesvrije audio nodig voor montage, gebruik
dan het WAV-endpoint.
Veelvoorkomende scenario's
Achtergrondmuziek voor video
{
"description": "rustige lo-fi achtergrond voor een productvideo, zonder zang, stabiele dynamiek",
"instrumental": true,
"model": "suno-v6"
}
Met instrumental op true bevat de uitvoer geen zang.
Eigen tekst en stijl
{
"lyrics": "[Verse 1]\nDe stadslichten doven langzaam\n\n[Chorus]\nWij lopen gewoon door",
"style": "acoustic pop, warme vrouwenstem, 92 BPM",
"model": "suno-v6"
}
Opvragen tot het klaar is
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": "een vrolijk folknummer over de lente", "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
Foutafhandeling
Belangrijkste statuscodes
| Code | Betekenis | Wat te doen |
|---|---|---|
| 200 | Succes | Lees de inhoud van het antwoord |
| 400 | Ongeldig verzoek — parameter ontbreekt of is misvormd | Vergelijk met de referentie |
| 401 | Sleutel ontbreekt of is ongeldig | Controleer de header Authorization |
| 402 | Te weinig saldo | Waardeer op en probeer opnieuw |
| 403 | Sleutel uitgeschakeld of account opgeschort | Neem contact op met support |
| 429 | Limiet op verzoeken | Opnieuw sturen met exponentiële backoff |
| 500 | Serverfout | Opnieuw sturen; blijft het aanhouden, neem contact op met support |
Formaat van de fout
{
"error": {
"message": "Invalid API key provided",
"type": "invalid_request_error",
"code": "invalid_api_key"
}
}
Wachttijden en timeouts (belangrijk): generatie-endpoints zijn synchroon — de opdracht wordt pas geaccepteerd en aan generatie overgedragen wanneer het antwoord binnenkomt. Gemeten: de meeste verzoeken antwoorden in 1-3 seconden, ongeveer 10% duurt langer dan 30 seconden en de langste is ongeveer 230 seconden. Zet de client-timeout op 300 seconden of meer (de
--max-time 300in het voorbeeld); geen antwoord betekent niet dat er niets is gegenereerd, en probeer niet direct na een timeout opnieuw (dat dupliceert de opdracht en rekent opnieuw af). Als de verbinding wegviel, controleer later metGET /api/music/songs. Zie "Wachttijden en timeout-instellingen" in het Overzicht van de nieuwe API.
Beste praktijken
- Bewaar de sleutel op je server, nooit in de browser of in verspreide apps.
- Vraag elke 10–15 seconden op in plaats van in een strakke lus.
- Bewaar de
song_id-waarden: dat is de enige identifier om de audio later terug te vinden. - Stuur opnieuw bij
429en500; los eerst de oorzaak op voordat je bij400en401opnieuw stuurt. - Mislukte generaties worden automatisch terugbetaald, dus een mislukte taak kost niets.
- Client-timeout: een generatie-endpoint geldt pas als geaccepteerd wanneer het antwoordt; zet de timeout op 300 seconden of meer.
- Opnieuw proberen: alleen bij expliciete fouten (4xx/5xx). Controleer na een timeout of verbindingsverbreking eerst met
GET /api/music/songsof de opdracht al is geaccepteerd, om dubbele opdrachten en dubbele afschrijving te voorkomen.
Volgende stappen
- Authenticatie — sleutels, fouten en limieten
- Ondersteunde modellen — modelnamen, stems en uitgeschakelde modellen
Een API-sleutel aanvragen
Maak na je registratie een API-sleutel aan in de console. Elke generatie kost ¥0,6 en levert 2 nummers op, downloads zijn onbeperkt en een telefoonnummer is niet nodig.
API-sleutel ophalen Terug naar overzicht