API przesyłania dźwięku źródłowego

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

Opis punktu końcowego

Przesyłanie dźwięku źródłowego zamienia lokalny lub zdalny plik audio w clip źródłowy, którego mogą użyć kolejne funkcje: cover, przedłużanie, zamiana fragmentu, rozdzielanie i inne.

Punkt końcowy: POST /api/music/upload-source

Rozliczenie: Bezpłatne. Ten punkt końcowy tylko przesyła dźwięk źródłowy; nie rozpoczyna zadania generowania.

Zalecane użycie: to krok 1 «coveru dwuetapowego». Najpierw prześlij dźwięk tym punktem końcowym (bezpłatnie, a w razie niepowodzenia możesz ponawiać w dowolnym momencie) i zapisz zwrócony clip_id; po potwierdzeniu, że przesyłanie się powiodło (status w stanie ukończonym), wywołaj API coveru na podstawie clipu źródłowego, aby rozpocząć cover — ciało tego żądania ma tylko kilkaset bajtów, więc nie zostanie ucięte w tranzycie z powodu zbyt dużego pliku audio. W porównaniu z jednorazowym API „prześlij i zrób cover" taki podział jest stabilniejszy, gdy dźwięk jest duży, sieć niestabilna albo ten sam materiał ma być użyty wielokrotnie (przedłużanie / zamiana / rozdzielanie).

Wskazówki dla dużych plików

Sytuacja Zalecane podejście
Dźwięk jest już publiczny (ma bezpośredni link https) Użyj file_url: ciało żądania ma tylko kilkaset bajtów, najstabilniejsza opcja
Plik lokalny (Node / Python / komputer) Użyj przesyłania multipart (-F "file=@source.mp3") i nie ustawiaj ręcznie Content-Type
Możliwe tylko JSON + base64 Pamiętaj, że Content-Length musi być liczbą bajtów (Buffer.byteLength), inaczej ciało żądania może zostać ucięte

Po zakończeniu przesyłania zawsze potwierdź, że status w odpowiedzi jest już stanem ukończonym, i zapisz clip_id, zanim przejdziesz do kroku 2; nieudane przesyłanie nie jest rozliczane i nie tworzy zadania generowania — wystarczy ponowić.

Parametry żądania

Headers

Dla żądań JSON:

Parametr Typ Wymagany Uwagi
Authorization string tak Bearer YOUR_API_KEY
Content-Type string tak application/json

W żądaniach multipart nie ustawiaj Content-Type ręcznie; klient generuje go automatycznie.

Parametry body

Parametr Typ Wymagany Domyślnie Uwagi
model string nie suno-v6 Nazwa modelu dla klienta: suno-v6, suno-v6-wild lub suno-v6-mini
file_url string nie - URL zdalnego dźwięku
file_base64 string nie - Dźwięk w Base64
file_name string nie - Nazwa pliku
upload_type string nie file_upload Typ przesyłania

Przykład żądania JSON

curl -X POST https://www.suno-api.io/api/music/upload-source \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "suno-v6",
    "file_url": "https://example.com/source.mp3",
    "file_name": "source.mp3",
    "upload_type": "file_upload"
  }'

Przykład żądania multipart

curl -X POST https://www.suno-api.io/api/music/upload-source \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -F "file=@source.mp3" \
  -F "file_name=source.mp3" \
  -F "upload_type=file_upload" \
  -F "model=suno-v6"

Odpowiedź

{
  "clip_id": "uploaded_clip_id",
  "status": "complete",
  "title": "source.mp3",
  "image_url": "https://...",
  "audio_url": "https://...",
  "display_tags": "pop, vocal",
  "inferred_description": "uploaded source audio",
  "clip_metadata": {}
}
NastępnyAPI wzmocnionego wgrania

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