Szybki start

Zaktualizowano 2026-09-18 · zespół Suno-API

Ten przewodnik w około pięć minut przeprowadzi Cię od utworzenia klucza API do pierwszej wygenerowanej piosenki, sprawdzenia postępu i pobrania audio. Przykłady można skopiować i uruchomić bez zmian.

Obecny model domyślny to suno-v6. Modele generacji od suno-v2 do suno-v5-5 zostały wyłączone: mogą pojawiać się w starych zadaniach, ale nie przyjmują nowych żądań.

Krok 1: zdobądź klucz API

  1. Otwórz https://www.suno-api.io.
  2. Kliknij Pobierz klucz API i zarejestruj się. Potrzebny jest tylko adres e-mail, bez numeru telefonu.
  3. W konsoli otwórz zarządzanie tokenami i utwórz klucz.
  4. Skopiuj go od razu — klucz jest pokazywany tylko raz. Przed pierwszym płatnym wywołaniem doładuj saldo kodem aktywacyjnym.

Krok 2: skonfiguruj żądanie

Wszystkie wywołania używają tego samego adresu bazowego i tych samych nagłówków:

POST https://www.suno-api.io
Authorization: Bearer YOUR_API_KEY
Content-Type: application/json

Krok 3: wyślij pierwsze żądanie

Przykład 1 — generowanie z opisu

Opisz muzykę, a API napisze tekst, melodię i aranżację:

curl -X POST https://www.suno-api.io/api/music/create \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "description": "wesoła piosenka folkowa o pierwszym dniu wiosny",
    "model": "suno-v6"
  }'

Odpowiedź:

[
  {
    "song_id": "abc123",
    "status": "pending",
    "song_title": "Wiosenna historia",
    "description": "wesoła piosenka folkowa o pierwszym dniu wiosny",
    "created_at": "2026-04-22T10:30:00Z"
  },
  {
    "song_id": "def456",
    "status": "pending",
    "song_title": "Wiosenne kroki",
    "description": "wesoła piosenka folkowa o pierwszym dniu wiosny",
    "created_at": "2026-04-22T10:30:00Z"
  }
]

Każde uruchomienie zwraca dwie różne wersje do wyboru. Jedna generacja kosztuje 0,6 ¥.

Przykład 2 — sprawdzanie postępu

Przekaż otrzymane song_id do endpointu sprawdzającego status:

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"
  }'

Gdy zadanie trwa:

[
  {
    "song_id": "abc123",
    "status": "processing",
    "song_title": "Wiosenna historia",
    "progress": "60%"
  }
]

Gdy jest gotowe:

[
  {
    "song_id": "abc123",
    "status": "completed",
    "song_title": "Wiosenna historia",
    "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
  }
]

Pole status przechodzi przez pending, submitted, processing i dochodzi do completed. Adresy mogą pozostać puste w trakcie wykonywania zadania: oceniaj po status, a nie po obecności audio_url.

Krok 4: pobierz plik

Gdy status to completed, po prostu pobierz audio_url. Pobieranie w MP3 i WAV jest nieograniczone i nie kosztuje dodatkowo. Jeśli potrzebujesz dźwięku bezstratnego do montażu, użyj endpointu WAV.

Typowe scenariusze

Muzyka tła do wideo

{
  "description": "spokojne tło lo-fi do filmu o produkcie, bez wokalu, stabilna dynamika",
  "instrumental": true,
  "model": "suno-v6"
}

Gdy instrumental ma wartość true, wynik nie zawiera wokalu.

Własny tekst i styl

{
  "lyrics": "[Verse 1]\nŚwiatła miasta gasną powoli\n\n[Chorus]\nIdziemy dalej",
  "style": "acoustic pop, ciepły żeński wokal, 92 BPM",
  "model": "suno-v6"
}

Odpytywanie do zakończenia

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": "wesoła piosenka folkowa o wiośnie", "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

Obsługa błędów

Najważniejsze kody

Kod Znaczenie Co zrobić
200 Sukces Odczytaj treść odpowiedzi
400 Nieprawidłowe żądanie — brakuje parametru lub jest błędny Porównaj z dokumentacją
401 Brak klucza lub klucz nieprawidłowy Sprawdź nagłówek Authorization
403 Brak dostępu, zwykle za mało środków Doładuj konto
429 Limit żądań Ponów z wykładniczym opóźnieniem
500 Błąd serwera Ponów; jeśli się powtarza, skontaktuj się z pomocą

Format błędu

{
  "error": {
    "message": "Invalid API key provided",
    "type": "invalid_request_error",
    "code": "invalid_api_key"
  }
}

Dobre praktyki

Następne kroki

Uzyskaj klucz API

Po rejestracji utwórz klucz API w konsoli. Każde generowanie kosztuje 0,6 ¥ i zwraca 2 utwory, pobierania są nieograniczone, a numer telefonu nie jest wymagany.

Pobierz klucz API Powrót do przeglądu