API pełnego utworu (Get Full Song)

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

Opis punktu końcowego

Łączenie w pełny utwór zestawia «utwór źródłowy + nowo wygenerowany fragment» w jeden kompletny utwór: po Extend dołącza kolejną część, a po Replace Section wszywa nowy fragment z powrotem w oryginał. Oficjalny interfejs webowy nazywa tę możliwość Get Full Song.

Punkt końcowy: POST /api/music/concat

Rozliczenie: Płatne, stała opłata 0,05 CNY za wywołanie. Łączenie jest niezależne od ceny generowania i nie uczestniczy w Max Mode ani w mnożnikach profilu głosu; faktycznie pobrana kwota zależy od konfiguracji cen w panelu administracyjnym.

Czasy oczekiwania i limity czasu (ważne): to punkt końcowy synchroniczny — zamówienie zostaje przyjęte i przekazane do łączenia dopiero, gdy przyjdzie odpowiedź. Ustaw limit czasu klienta na 300 sekund lub więcej; brak odpowiedzi nie oznacza, że nic nie zostało połączone, a ponawianie od razu po limicie czasu duplikuje zamówienie i pobiera opłatę ponownie. Jeśli połączenie się zerwało, sprawdź później przez GET /api/music/songs.

Uwierzytelnianie

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

Parametry żądania

Parametr Typ Wymagany Domyślnie Uwagi
song_id string tak - Identyfikator song_id fragmentu do połączenia (wynik Extend lub Replace Section); musi być ukończony
is_infill boolean nie false false = łączenie przedłużenia; true = łączenie zamiany (infill)
source_audio_url string nie - Adres dźwięku źródłowego, gdy fragment pochodzi z zewnętrznego konta
source_file_name string nie - Nazwa pliku źródłowego, gdy fragment pochodzi z zewnętrznego konta
source_title string nie - Tytuł źródłowy, gdy fragment pochodzi z zewnętrznego konta

audio_id, source_clip_id i sourceClipId to równoważne zapisy song_id; użyj jednego z nich.

Przykład żądania

curl -X POST https://www.suno-api.io/api/music/concat \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "song_id": "extended_or_replaced_clip_id",
    "is_infill": false
  }'

Aby połączyć po zamianie fragmentu, ustaw is_infill na true:

{ "song_id": "infilled_clip_id", "is_infill": true }

Odpowiedź

{
  "code": 200,
  "message": "success",
  "data": {
    "clips": [
      {
        "song_id": "concat_clip_id",
        "song_title": "Tytuł utworu źródłowego",
        "status": "queued"
      }
    ]
  }
}

Łączenie zwraca tylko 1 wynik (nie tworzy od razu 2 utworów). Zapisz clips[].song_id i odpytuj API zapytań o utwory i historii aż do stanu complete, zanim pobierzesz dźwięk.

Skąd bierze się długość wyniku

Łączenie nie skleja po prostu dwóch plików jeden za drugim; przycina utwór źródłowy według punktów czasu zapisanych w historii fragmentu:

Tryb Skład wyniku
is_infill: false utwór źródłowy [0 .. continue_at] + pełna długość fragmentu przedłużenia
is_infill: true utwór źródłowy [0 .. początek] + nowy zamieniony fragment + utwór źródłowy [koniec .. koniec ścieżki]

Dźwięk oryginalny po punkcie kontynuacji jest więc odrzucany, dzięki czemu żadna część nie powtarza się w całości.

Uwagi

NastępnyAPI remasteringu (Remaster)

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