Snelstartgids

Bijgewerkt op 2026-09-18 · Suno-API-team

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 van suno-v2 tot en met suno-v5-5 zijn uitgeschakeld: ze kunnen nog in oude taken voorkomen, maar accepteren geen nieuwe aanvragen meer.

Stap 1: een API-sleutel aanmaken

  1. Open https://www.suno-api.io.
  2. Klik op API-sleutel ophalen en registreer je. Alleen een e-mailadres is nodig, geen telefoonnummer.
  3. Open in de console het tokenbeheer en maak een sleutel aan.
  4. 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" \
  -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
403 Geen toestemming, meestal te weinig saldo Waardeer je account op
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"
  }
}

Beste praktijken

Volgende stappen

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