Authenticatie
Alle verzoeken aan Suno-API worden geauthenticeerd met een API-sleutel. Deze pagina behandelt het aanmaken van de sleutel, het meesturen ervan, de betekenis van fouten en hoe je de sleutel veilig houdt.
Wat is een API-sleutel
De sleutel is een bearer-token dat aan je account gekoppeld is. Hij draagt je saldo, dus wie de sleutel heeft kan het uitgeven. De sleutel wordt bij het aanmaken maar één keer getoond: kopieer hem en bewaar hem op een veilige plek.
Een sleutel aanmaken
- Registreer je op https://www.suno-api.io — alleen een e-mailadres, geen telefoonnummer.
- Open het tokenbeheer in de console.
- Maak een nieuwe sleutel aan en kopieer hem.
Sleutels hebben de vorm sk-…. Een verloren sleutel is niet te herstellen: maak een nieuwe aan
en verwijder de oude.
De sleutel gebruiken
Formaat van de header
Stuur de sleutel bij elk verzoek mee in de header Authorization:
Authorization: Bearer YOUR_API_KEY
Content-Type: application/json
Voorbeeld
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 rustig pianostuk voor een café"}'
Authenticatiefouten
401 Unauthorized
De header ontbreekt, is misvormd of de sleutel bestaat niet.
{
"error": {
"message": "Invalid API key provided",
"type": "invalid_request_error",
"code": "invalid_api_key"
}
}
Controleer of de header precies Bearer <sleutel> is (met een spatie na Bearer) en of er
geen regeleinde aan het einde van de sleutel is geslopen.
403 Forbidden
De sleutel bestaat, maar mag dit verzoek niet doen — meestal omdat de sleutel is uitgeschakeld of het account is opgeschort. Controleer de accountstatus in de console en neem contact op met support als de reden niet duidelijk is.
Beste praktijken voor beveiliging
Zet de sleutel nooit in clientcode
Embed de sleutel niet in webpagina's, mobiele apps of desktopbinaries. Iedereen die de browserinspecteur kan openen, kan hem lezen en je saldo uitgeven. Roep de API aan vanaf je eigen server en stel je eigen endpoint beschikbaar aan je gebruikers.
Gebruik omgevingsvariabelen
Linux / macOS
# ~/.bashrc of ~/.zshrc
export SUNO_API_KEY="sk-your-key-here"
# Python
import os
api_key = os.environ["SUNO_API_KEY"]
.env
# .env-bestand — zet dit in je .gitignore
SUNO_API_KEY=sk-your-key-here
Windows
setx SUNO_API_KEY "sk-your-key-here"
Node.js
require('dotenv').config();
const apiKey = process.env.SUNO_API_KEY;
Roteer de sleutel wanneer dat nodig is
Roteer sleutels elke 3-6 maanden en direct bij vermoeden van een lek. Verwijder sleutels die je niet meer gebruikt: een ongebruikte sleutel is alleen een ongebruikt risico.
Limiet op verzoeken
Verzoeken zijn per sleutel beperkt:
| Limiet | Waarde | Opmerkingen |
|---|---|---|
| Verzoeken per seconde | 10 | Per API-sleutel |
| Verzoeken per minuut | 100 | Per API-sleutel |
| Gelijktijdige generaties | 5 | Maximaal vijf tegelijk |
429 Too Many Requests
Bij overschrijding antwoordt de API met 429 en kan het antwoord een retry_after-waarde in seconden bevatten. Wacht die tijd voor de volgende poging; verlaag het tempo, zet het werk in een wachtrij of herhaal met exponentiële backoff in plaats van in een strakke lus.
Beleid voor opnieuw proberen
Probeer alleen opnieuw bij expliciete fouten. Probeer niet opnieuw na een lees- of verbindingstimeout: generatie-endpoints zijn synchroon, dus een timeout kan betekenen dat de opdracht al is geaccepteerd en genereert — opnieuw proberen maakt een dubbele opdracht en rekent dubbel af. Zet de client-timeout op 300 seconden of meer en controleer na een verbindingsverbreking met GET /api/music/songs of de opdracht is geaccepteerd voordat je opnieuw verstuurt. Zie "Wachttijden en timeout-instellingen" in het Overzicht van de nieuwe API.
Stuur opnieuw met exponentiële backoff in plaats van in een strakke lus:
import time
delay = 1.0
for attempt in range(5):
response = call_api()
if response.status_code != 429:
break
time.sleep(delay)
delay *= 2
Veelgestelde vragen
Wat is het formaat van de sleutel?
Hij begint met sk- gevolgd door letters en cijfers, in totaal ongeveer 50-60 tekens.
Kan ik de API rechtstreeks vanuit de browser aanroepen?
Technisch wel, maar doe dat niet in productie: de sleutel is dan voor alle bezoekers zichtbaar. Gebruik je backend als proxy.
Hoe weet ik of de sleutel nog geldig is?
Stuur een willekeurig geauthenticeerd verzoek. 200 betekent dat hij werkt; 401 betekent een
ongeldige of verwijderde sleutel.
Ik ben de sleutel kwijt. En nu?
Sleutels zijn niet te herstellen. Maak een nieuwe aan in de console en verwijder de oude.
Hoeveel sleutels kan één account hebben?
Er is geen vaste limiet. Gebruik één sleutel per applicatie of omgeving zodat je ze apart kunt intrekken, en verwijder de sleutels die je niet meer gebruikt.
Verlopen sleutels?
Ze blijven geldig tot je ze verwijdert of je account opzegt. Periodiek roteren is goede praktijk.
Hoe volg ik het gebruik?
Log in op de console: daar staat het gebruik per sleutel, met aantallen verzoeken, uitgaven en recente taken.
Gerelateerde pagina's
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