API de piesă completă (Get Full Song)

Actualizat pe 2026-09-18 · echipa Suno-API

Descrierea endpoint-ului

Unirea într-o piesă completă alătură «piesa originală + fragmentul nou generat» într-o singură piesă completă: după Extend adaugă secțiunea următoare, iar după Replace Section coase noul fragment înapoi în original. Interfața web oficială numește această funcție Get Full Song.

Endpoint: POST /api/music/concat

Facturare: Cu plată, 0,05 CNY fix per apel. Unirea este decuplată de prețul generării și nu participă la Max Mode sau la multiplicatorii profilului vocal; suma efectiv debitată urmează configurația de prețuri din back-office.

Timpii de așteptare și timeout-urile (important): este un endpoint sincron — comanda este acceptată și transmisă spre unire doar când sosește răspunsul. Setează timeout-ul clientului la 300 de secunde sau mai mult; lipsa unui răspuns nu înseamnă că nu s-a unit nimic, iar reîncercarea imediat după un timeout dublează comanda și debitează din nou. Dacă conexiunea s-a întrerupt, verifică mai târziu cu GET /api/music/songs.

Autentificare

Parametru Tip Obligatoriu Observații
Authorization string da Bearer YOUR_API_KEY
Content-Type string da application/json

Parametrii cererii

Parametru Tip Obligatoriu Implicit Observații
song_id string da - song_id-ul fragmentului de unit (rezultat Extend sau Replace Section); trebuie să fie finalizat
is_infill boolean nu false false = unire pentru prelungire; true = unire pentru înlocuire (infill)
source_audio_url string nu - Adresa audio-ului sursă, când fragmentul provine dintr-un cont extern
source_file_name string nu - Numele fișierului sursă, când fragmentul provine dintr-un cont extern
source_title string nu - Titlul sursei, când fragmentul provine dintr-un cont extern

audio_id, source_clip_id și sourceClipId sunt scrieri echivalente ale song_id; folosește una dintre ele.

Exemplu de cerere

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

Pentru a uni după înlocuirea unei secțiuni, setează is_infill la true:

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

Răspuns

{
  "code": 200,
  "message": "success",
  "data": {
    "clips": [
      {
        "song_id": "concat_clip_id",
        "song_title": "Titlul piesei sursă",
        "status": "queued"
      }
    ]
  }
}

Unirea returnează doar 1 rezultat (nu produce 2 piese deodată). Salvează clips[].song_id și interoghează API de interogare a pieselor și de istoric până la complete înainte de a prelua audio-ul.

De unde vine durata rezultatului

Unirea nu lipește pur și simplu două fișiere unul după altul; decupează piesa sursă după punctele de timp consemnate în istoricul fragmentului:

Mod Compoziția rezultatului
is_infill: false piesa sursă [0 .. continue_at] + întreaga lungime a fragmentului de prelungire
is_infill: true piesa sursă [0 .. început] + noul fragment înlocuit + piesa sursă [sfârșit .. finalul piesei]

Astfel, audio-ul original de după punctul de continuare este eliminat, iar o secțiune nu se dublează niciodată în întregime.

Note

UrmătorulAPI de remasterizare (Remaster)

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