Przegląd dokumentacji Suno API

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

Wystarczy rejestracja e-mailem, aby utworzyć klucz API. Jedna generacja kosztuje 0,6 juana i zwraca 2 utwory, obejmując pobieranie MP3/WAV, covery, Extend, rozdzielanie ścieżek i klonowanie głosu. Bazowy adres URL: https://www.suno-api.io.

Ta strona opisuje dostępne modele, wszystkie interfejsy generowania i edycji, rozliczenia oraz zalecaną kolejność czytania. Przy pierwszej integracji czytaj od góry do dołu; znajdują się tu też punkty wyjścia do diagnozy 401/403/429.

Szybkie odpowiedzi

Jak zdobyć klucz API? Zarejestruj się e-mailem, otwórz konsolę, przejdź do zarządzania tokenami i utwórz token. Numer telefonu ani karta nie są potrzebne.

Ile kosztuje jedno wywołanie? Generacja kosztuje 0,6 juana i zwraca 2 utwory. Zapytania o status, WAV, tekst z znacznikami czasu i sugestie promptów są bezpłatne.

Jakie modele są obsługiwane? suno-v6 (domyślny), suno-v6-wild i suno-v6-mini. Standardowe modele generowania v5.5 i starsze zostały wycofane; istniejące prace nie są zagrożone.

Jaki jest bazowy adres URL? https://www.suno-api.io, z nagłówkiem Authorization: Bearer YOUR_API_KEY.

Modele dostępne obecnie

W zwykłym generowaniu utworu klient może wskazać wyłącznie suno-v6, suno-v6-wild i suno-v6-mini. Jeśli model nie zostanie podany, używany jest suno-v6.

Modele standardowe suno-v2, suno-v3, suno-v3-5, suno-v4, suno-v4-5, suno-v4-5-all, suno-v4-5-plus, suno-v5 i suno-v5-5 zostały wycofane. W zadaniach historycznych nazwy te mogą się jeszcze pojawiać, ale to dane historyczne, a nie dowód, że model działa w nowych żądaniach. Wyjątkiem jest rozdzielanie ścieżek — patrz API ścieżek (rozdzielanie wokalu i podkładu).

Uwierzytelnianie

Wszystkie publiczne interfejsy z kluczem API używają tych samych nagłówków:

Authorization: Bearer YOUR_API_KEY
Content-Type: application/json

Bazowy adres URL:

https://www.suno-api.io

Ogólne zasady dotyczące parametrów

Limity pól tekstowych

Przekroczenie limitu zwraca od razu HTTP 400: nic nie jest generowane, nic nie jest wstępnie pobierane i nie powstaje rekord zadania. Liczenie odbywa się w znakach Unicode (jeden znak ideograficzny liczy się jako 1), a spacje na początku i końcu też się liczą.

Pole (wraz z aliasami opisanymi na stronie interfejsu) Limit
prompt / lyrics / description / theme / gpt_description_prompt 3000 znaków
style_tags / tags / style / original_tags 1000 znaków
negative_tags 1000 znaków
song_title / title 100 znaków

W message błędu podano pole i zmierzoną długość — te dwie liczby wystarczą, aby skrócić tekst:

{
  "error": {
    "message": "style_tags must not exceed 1000 characters; received 2772",
    "type": "invalid_request_error"
  }
}

Dotyczy: /api/music/create, /api/music/create/custom, /api/music/extend, /api/music/upload-cover, /api/music/generate-from-source, /api/music/add-instrumental, /api/music/add-vocal, /api/music/add-stem, /api/music/mashup, /api/music/sample, /api/music/inspo, /api/music/crop, /api/music/remove-section, /api/music/fade, /api/music/reverse, /api/music/speed, /api/music/replace-section, /api/music/generate-with-voice.

Jeden wyjątek: pole description w POST /api/music/sounds ma limit 100 znaków, ponieważ ścieżka efektów dźwiękowych korzysta z krótszego limitu platformy.

Generowanie asynchroniczne i adresy audio

Interfejsy generowania muzyki domyślnie działają asynchronicznie. Gdy pierwsza odpowiedź zawiera status równy pending, submitted lub processing, puste audio_url, video_url i cover_url są normalne i nie oznaczają niepowodzenia. Zapisz prawdziwy song_id (lub zwrócony client_request_id) i odpytuj właściwy interfejs; adres audio czytaj i pobieraj dopiero po zakończeniu statusu.

⚠️ Adresy audio wygasają po 7 dniach — przenieś pliki na czas

audio_url, wav_url, video_url oraz adresy zwracane przez interfejsy pobierania pochodzą z pamięci obiektowej platformy i domyślnie wygasają po 7 dniach (pliki są usuwane, stary adres zwraca 404 / nie pobiera się).

  • W ciągu tych 7 dni przenieś pliki do własnej pamięci (własna pamięć obiektowa, CDN lub dysk serwera). Nie traktuj naszych adresów jako długoterminowych linków.
  • Wygasły adres nie wymaga ponownego generowania utworu i nic nie kosztuje: wywołaj ponownie API zapytań o utwory (lub API pobierania multimediów), aby uzyskać nowy ważny adres.

Czasy oczekiwania i ustawienia limitu czasu

Interfejsy generowania są synchroniczne: zamówienie zostaje przyjęte i przekazane platformie dopiero w momencie odpowiedzi. Wcześniej usługa musi przydzielić konto i przejść wymaganą kontrolę bezpieczeństwa, a odpowiedzi pośredniej nie ma — żaden inny interfejs tego zamówienia nie widzi. Jedynym wiarygodnym dowodem, że „coś zostało wygenerowane", jest więc sama odpowiedź, a nie to, co widać podczas oczekiwania.

Zmierzony czas oczekiwania (produkcja, rodzina /api/music/create, 18–20 września 2026)

Percentyl Oczekiwanie
p50 około 1,2–1,6 s
p75 około 2–6 s
p90 około 42–49 s
p95 około 48–76 s
p99 około 109–160 s
maksimum około 230 s

Wymagania integracji

  1. Ustaw limit czasu klienta na 300 sekund lub więcej. Klienci z 30, 60 lub 120 sekundami rozłączą się w trakcie oczekiwania.
  2. Brak odpowiedzi nie oznacza, że nic nie zostało wygenerowane. Przy przekroczeniu czasu lub zerwaniu połączenia zamówienie może być już przyjęte i generowane.
  3. Nie ponawiaj od razu po przekroczeniu czasu: duplikat tworzy drugie zamówienie i pobiera opłatę ponownie.
  4. Jeśli połączenie zostało zerwane, po chwili wypisz utwory przez GET /api/music/songs (od najnowszych) — przyjęte zamówienia pojawią się normalnie. Ponów wysyłkę dopiero po potwierdzeniu, że zamówienia naprawdę nie ma.
  5. Zgłaszając problem, dołącz nagłówek odpowiedzi X-Oneapi-Request-Id, aby można było znaleźć dokładnie to żądanie.

Nie chcesz trzymać długiego połączenia? Użyj trybu potwierdzenia przyjęcia. POST /api/music/create i POST /api/music/create/custom obsługują opcjonalne potwierdzenie: dodaj "accept_mode": "async" w treści (lub nagłówek X-Accept-Mode: async), a interfejs od razu zwróci 202 z numerem potwierdzenia, a generowanie będzie kontynuowane w tle; postęp sprawdzisz przez GET /api/music/requests/{request_id}. Klient z limitem kilkudziesięciu sekund nie pomyli już „braku odpowiedzi" z „nic nie wygenerowano" i nie zapłaci dwa razy przez ponowienia. Patrz „Tryb potwierdzenia przyjęcia" w API generowania w trybie prostym.

Dla odniesienia: python requests używa timeout=300, urllib — urlopen(..., timeout=300), Node — req.setTimeout(300000), curl — --max-time 300.

Lista zalecanych interfejsów

Możliwość Metoda Ścieżka Rozliczenie Dokumentacja
Saldo konta GET /api/user/balance Bezpłatnie Zobacz
Generowanie w trybie prostym POST /api/music/create Płatne, obecnie domyślnie 0,6 juana za wywołanie Zobacz
Generowanie w trybie własnym POST /api/music/create/custom Płatne; obsługuje płeć wokalu, wpływ stylu i losowość Zobacz
Generowanie mowy (Speech) POST /api/music/speech Płatne, obecnie 0,6 juana za wywołanie; muzyka w tle opcjonalnie Zobacz
Postęp potwierdzenia przyjęcia GET /api/music/requests/{request_id} Bezpłatnie; razem z accept_mode=async Zobacz
Efekty dźwiękowe POST /api/music/sounds Płatne, obecnie 0,6 juana za wywołanie Zobacz
Generowanie tekstu POST /api/lyrics/generate Bezpłatnie w limicie (10/min, 300/dzień), potem 0,1 juana za wywołanie Zobacz
Tworzenie profilu głosu (zalecane) POST /api/music/voice-profile/create Bezpłatnie (enhanced=true w cenie wzmocnionego klonu) Zobacz
Cover własnym głosem (zalecane) POST /api/music/voice-profile/cover 1,2 juana za wywołanie; 2,4 juana z Max Mode Zobacz
Lista / szczegóły / usuwanie głosów (zalecane) GET/POST /api/music/voice-profile/list, /{voice_id}, /delete Bezpłatnie Zobacz
Klonowanie głosu (stary łańcuch, niezalecane) POST /api/voice/clone/validate Bezpłatnie Zobacz
Zapytanie o zadanie klonowania GET /api/voice/clone/tasks/:voice_task_id Bezpłatnie Zobacz
Ponowne wygenerowanie tekstu weryfikacji POST /api/voice/clone/tasks/:voice_task_id/regenerate Bezpłatnie Zobacz
Wysłanie nagrania weryfikacyjnego i utworzenie głosu POST /api/voice/clone/tasks/:voice_task_id/generate Według zasad klonowania głosu Zobacz
Sprawdzenie, czy klonowany głos jest dostępny POST /api/voice/clone/tasks/:voice_task_id/check Bezpłatnie Zobacz
Usunięcie klonowanego głosu DELETE /api/voice/clone/voices/:voice_task_id Bezpłatnie Zobacz
Generowanie wybranym głosem POST /api/music/generate-with-voice Płatne, 1,2 juana za wywołanie; 2,4 juana z Max Mode Zobacz
Wyniki generowania wybranym głosem GET /api/music/generate-with-voice/results Bezpłatnie Zobacz
Wzmocnienie stylu POST /api/music/boost-style Bezpłatnie w limicie (10/min, 300/dzień), potem 0,1 juana za wywołanie Zobacz
Sugestie promptów POST /api/prompts/suggestions Bezpłatnie w limicie (10/min, 300/dzień), potem 0,1 juana za wywołanie Zobacz
Wgranie źródłowego audio POST /api/music/upload-source Bezpłatnie Zobacz
Wysłanie wzmocnionego wgrania POST /api/music/enhanced-upload Płatne, 10 juanów za wywołanie Zobacz
Lista zadań wzmocnionego wgrania GET /api/music/enhanced-upload Bezpłatnie Zobacz
Zapytanie o jedno zadanie wzmocnionego wgrania GET /api/music/enhanced-upload/:id Bezpłatnie Zobacz
Anulowanie zadania wzmocnionego wgrania POST /api/music/enhanced-upload/:id/cancel Bezpłatnie; zwrot tylko na etapach możliwych do anulowania Zobacz
Wgraj i zrób cover POST /api/music/upload-cover Płatne, obecnie 0,6 juana za wywołanie; przy dużym audio lepiej upload-source + generate-from-source w dwóch krokach Zobacz
Cover ze źródłowego klipu POST /api/music/generate-from-source Płatne, obecnie 0,6 juana za wywołanie Zobacz
Extend POST /api/music/extend Płatne, obecnie 0,6 juana za wywołanie Zobacz
Zamiana fragmentu POST /api/music/replace-section Płatne, obecnie 0,6 juana za wywołanie Zobacz
Get Full Song POST /api/music/concat Płatne, stałe 0,05 juana za wywołanie Zobacz
Remaster POST /api/music/remaster Płatne, obecnie 0,6 juana za wywołanie Zobacz
Dodanie instrumentalu POST /api/music/add-instrumental Płatne, według żądanego modelu Zobacz
Dodanie wokalu POST /api/music/add-vocal Płatne, według żądanego modelu Zobacz
Dodanie ścieżki POST /api/music/add-stem Płatne, według żądanego modelu Zobacz
Mashup POST /api/music/mashup Płatne, według żądanego modelu Zobacz
Sample POST /api/music/sample Płatne, według żądanego modelu Zobacz
Inspo POST /api/music/inspo Płatne, według żądanego modelu Zobacz
Przycinanie POST /api/music/crop Płatne, według żądanego modelu Zobacz
Usuwanie fragmentu POST /api/music/remove-section Płatne, według żądanego modelu Zobacz
Fade POST /api/music/fade Płatne, według żądanego modelu Zobacz
Odtwarzanie wstecz POST /api/music/reverse Płatne, według żądanego modelu Zobacz
Prędkość POST /api/music/speed Płatne, według żądanego modelu Zobacz
Ścieżki (rozdzielanie wokalu i podkładu) POST /api/music/separate Płatne; two 0,6 juana, twelve 3,0 juana za wywołanie Zobacz
Usuwanie wokalu POST /api/music/vocal-removal Bezpłatnie Zobacz
Usuwanie ścieżek POST /api/music/stem-delete Bezpłatnie Zobacz
Generowanie/pobieranie WAV POST /api/music/wav Bezpłatnie Zobacz
Pobieranie MIDI POST /api/music/download-file (kind=midi) Bezpłatnie Zobacz
Adres multimediów / strumień podglądu POST /api/music/download-url, /api/music/generation-stream-url Bezpłatnie Zobacz
Pobieranie pliku utworu POST /api/music/download-file Bezpłatnie Zobacz
Pobieranie pakietu utworu POST /api/music/download-all Bezpłatnie Zobacz
Stały adres pobierania GET /api/music/download Bezpłatnie Zobacz
Pobieranie Free2 POST /api/music/free2 Płatne, 0,2 juana za udany utwór Zobacz
Status konkretnego utworu POST /api/music/query Bezpłatnie Zobacz
Historia utworów konta GET /api/music/songs Bezpłatnie Zobacz
Parametry generowania utworu GET /api/music/songs/:song_id Bezpłatnie Zobacz
Tekst ze znacznikami czasu POST /api/lyrics/timeline Bezpłatnie Zobacz
Uprawnienie i tożsamość licencyjna GET /api/music/authorization/context Bezpłatnie Zobacz
Powiązanie tożsamości licencyjnej POST /api/music/authorization/identity Bezpłatnie; po potwierdzeniu nie można zmienić Zobacz
Lista utworów do licencji GET /api/music/authorization/songs Bezpłatnie; wymaga powiązanej tożsamości Zobacz
Wystawienie licencji komercyjnej POST /api/music/authorization/certificates Bezpłatnie; wymaga uprawnienia Zobacz
Historia licencji GET /api/music/authorization/certificates Bezpłatnie Zobacz
Szczegóły licencji GET /api/music/authorization/certificates/:id Bezpłatnie Zobacz
Pobieranie PDF licencji GET /api/music/authorization/certificates/:id/download Bezpłatnie Zobacz

Interfejsy /api/voice/clone/* i /api/music/generate-with-voice należą do wczesnego łańcucha klonowania głosu i nie są zalecane w nowych integracjach; użyj 【Zalecane】 API profilu głosu.

Parametry zaawansowane: Max Mode i Variety

Interfejsy generowania obsługują te dwa opcjonalne parametry (pominięcie zachowuje dotychczasowe zachowanie i cenę):

Parametr Typ Zakres Opis
max_mode boolean true / false Więcej mocy obliczeniowej dla lepszej spójności całego utworu; to żądanie jest rozliczane podwójnie
variety integer 0-4 Stopień zmienności stylu: 0=Off, 1=Normal, 2=High, 3=Extra, 4=Max. Bez podania obowiązuje domyślny poziom modelu (rodzina v6 — 1); bez dodatkowej opłaty

Obsługują je: POST /api/music/create, POST /api/music/create/custom, POST /api/music/extend, POST /api/music/upload-cover, POST /api/music/generate-from-source, POST /api/music/add-instrumental, POST /api/music/add-vocal, POST /api/music/add-stem, POST /api/music/mashup, POST /api/music/sample, POST /api/music/inspo, POST /api/music/replace-section, POST /api/music/voice-profile/cover, POST /api/music/speech.

Wspólne pola odpowiedzi utworów

Interfejsy generowania, coveru, extend, rozdzielania i zapytań zwracają zwykle tablicę utworów z tymi polami:

Pole Typ Opis
song_id string Identyfikator utworu lub zadania
song_title string Tytuł utworu
status string Status, np. pending, completed, failed
audio_url string Adres audio, zwracany po zakończeniu generowania
video_url string Adres wideo, może być pusty
cover_url string Adres okładki
lyrics string Tekst utworu
style_tags string Tagi stylu
duration number Długość audio w sekundach
created_at string Czas utworzenia
model_version string Wersja modelu
generation_type string Typ generowania
error_message string Przyczyna niepowodzenia

Cztery kroki integracji (minimalny przykład)

Te cztery kroki wystarczą, aby uzyskać pierwszy utwór; pełne pola każdego kroku są na odpowiedniej stronie listy zalecanych interfejsów.

# 1) Wysłanie generowania: 0,6 juana, zwraca 2 utwory
curl -X POST https://www.suno-api.io/api/music/create \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"description": "bright Polish pop, piano intro, warm female vocal", "model": "suno-v6"}'

# 2) Odpytywanie, aż status będzie completed (3–5 sekund to dobry odstęp)
curl -X POST https://www.suno-api.io/api/music/query \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"song_id": "song_id zwrócony w kroku 1"}'

# 3) Pobranie adresu multimediów: interfejsy odczytu są bezpłatne; song / wav / video / cover / midi
curl -X POST https://www.suno-api.io/api/music/download-url \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"song_id": "ten sam song_id", "kind": "song"}'

Jeśli coś się nie uda: 401 / 402 / 403 / 429 — w liście błędów; limity czasu i podwójne opłaty — w sekcji „Czasy oczekiwania i ustawienia limitu czasu"; opis każdego interfejsu — na liście poniżej.

Zalecenia

O tej dokumentacji

Ta strona została uporządkowana według możliwości, które Create UI faktycznie udostępnia; nowe integracje powinny zacząć właśnie tutaj. Poprzednia dokumentacja API pozostała w sekcji „Poprzednia dokumentacja API (zgodność)" dla tych, którzy chcą zachować dotychczasowy sposób pracy.

NastępnyAPI zapytania o saldo konta

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