Ghid rapid
Acest ghid te duce în circa cinci minute de la crearea cheii API la prima piesă generată, la verificarea progresului și la descărcarea audio-ului. Exemplele pot fi copiate și rulate ca atare.
Modelul implicit actual este
suno-v6. Modelele de generare de lasuno-v2lasuno-v5-5au fost dezactivate: pot apărea în sarcini vechi, dar nu mai acceptă cereri noi.
Pasul 1: obține o cheie API
- Deschide https://www.suno-api.io.
- Apasă Obține cheia API și înregistrează-te. Este nevoie doar de un e-mail, fără număr de telefon.
- În consolă deschide gestionarea tokenurilor și creează o cheie.
- Copiaz-o imediat — cheia este afișată o singură dată. Încarcă soldul cu un cod de activare înainte de primul apel plătit.
Pasul 2: configurează cererea
Toate apelurile folosesc aceeași adresă de bază și aceleași antete:
POST https://www.suno-api.io
Authorization: Bearer YOUR_API_KEY
Content-Type: application/json
Pasul 3: trimite prima cerere
Exemplul 1 — generare dintr-o descriere
Descrie muzica, iar API-ul scrie versurile, melodia și aranjamentul:
curl -X POST https://www.suno-api.io/api/music/create \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"description": "o piesă folk veselă despre prima zi de primăvară",
"model": "suno-v6"
}'
Răspuns:
[
{
"song_id": "abc123",
"status": "pending",
"song_title": "Poveste de primăvară",
"description": "o piesă folk veselă despre prima zi de primăvară",
"created_at": "2026-04-22T10:30:00Z"
},
{
"song_id": "def456",
"status": "pending",
"song_title": "Pași de primăvară",
"description": "o piesă folk veselă despre prima zi de primăvară",
"created_at": "2026-04-22T10:30:00Z"
}
]
Fiecare rulare returnează două versiuni diferite din care poți alege. O generare costă 0,6 ¥.
Exemplul 2 — verificarea progresului
Trimite valorile song_id primite către endpointul de interogare:
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"
}'
Cât timp sarcina rulează:
[
{
"song_id": "abc123",
"status": "processing",
"song_title": "Poveste de primăvară",
"progress": "60%"
}
]
Când s-a terminat:
[
{
"song_id": "abc123",
"status": "completed",
"song_title": "Poveste de primăvară",
"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 trece prin pending, submitted, processing și ajunge la completed. Adresele pot
rămâne goale cât timp rulează sarcina: evaluează după status, nu după prezența audio_url.
Pasul 4: descarcă fișierul
Când status este completed, cere pur și simplu audio_url. Descărcările în MP3 și WAV sunt
nelimitate și nu costă suplimentar. Dacă ai nevoie de audio fără pierderi pentru montaj,
folosește endpointul WAV.
Scenarii frecvente
Muzică de fundal pentru video
{
"description": "fundal lo-fi calm pentru un videoclip de produs, fără voce, dinamică stabilă",
"instrumental": true,
"model": "suno-v6"
}
Când instrumental este true, rezultatul nu conține voce.
Versuri și stil proprii
{
"lyrics": "[Verse 1]\nLuminile orașului se sting încet\n\n[Chorus]\nMergem mai departe",
"style": "acoustic pop, voce feminină caldă, 92 BPM",
"model": "suno-v6"
}
Interogare până la finalizare
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": "o piesă folk veselă despre primăvară", "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
Tratarea erorilor
Coduri principale
| Cod | Semnificație | Ce să faci |
|---|---|---|
| 200 | Succes | Citește corpul răspunsului |
| 400 | Cerere invalidă — parametru lipsă sau greșit | Compară cu documentația |
| 401 | Cheie lipsă sau invalidă | Verifică antetul Authorization |
| 403 | Fără permisiune, de obicei sold insuficient | Încarcă contul |
| 429 | Limită de cereri | Reîncearcă cu backoff exponențial |
| 500 | Eroare de server | Reîncearcă; dacă persistă, contactează suportul |
Formatul erorii
{
"error": {
"message": "Invalid API key provided",
"type": "invalid_request_error",
"code": "invalid_api_key"
}
}
Bune practici
- Ține cheia pe server, niciodată în browser sau în aplicații distribuite.
- Interogează la 10–15 secunde, nu într-o buclă strânsă.
- Păstrează
song_id: este singurul identificator pentru a regăsi audio-ul mai târziu. - Reîncearcă la
429și500; remediază cauza înainte de a reîncerca la400și401. - Generările eșuate sunt rambursate automat, deci o sarcină nereușită nu costă nimic.
Pașii următori
- Autentificare — chei, erori și limite
- Modele acceptate — nume de modele, stemuri și modele dezactivate
Obține o cheie API
Creează o cheie API în consolă după înregistrare. Fiecare generare costă 0,6 ¥ și returnează 2 piese, descărcările sunt nelimitate și nu este nevoie de număr de telefon.
Obține cheia API Înapoi la prezentare