전곡 결합 API(Get Full Song)
인터페이스 설명
전곡 결합은 "원곡 + 새로 생성한 조각"을 한 곡의 완성된 곡으로 결합합니다. 연장(Extend) 뒤에는 이어지는 구간을 붙이고, 구간 교체(Replace Section) 뒤에는 새 조각을 원곡에 다시 꿰매 넣습니다. 공식 웹 화면에서는 이 기능을 Get Full Song이라고 부릅니다.
엔드포인트: POST /api/music/concat
과금: 유료, 호출당 고정 0.05 위안. 결합은 생성 가격과 분리되어 있으며 Max Mode나 음색 배율이 적용되지 않습니다. 실제 청구 금액은 백오피스 가격 설정을 따릅니다.
대기 시간과 타임아웃(중요): 이 엔드포인트는 동기 방식이며, 응답이 돌아온 시점에야 주문이 접수되어 결합에 넘겨집니다. 클라이언트 타임아웃을 300초 이상으로 설정하세요. 응답이 없다고 해서 결합되지 않은 것이 아니며, 타임아웃 직후 재시도하면 주문이 중복되고 요금이 두 번 청구됩니다. 연결이 끊겼다면 잠시 후
GET /api/music/songs로 확인할 수 있습니다.
인증
| 파라미터 | 타입 | 필수 | 설명 |
|---|---|---|---|
| Authorization | string | 예 | Bearer YOUR_API_KEY |
| Content-Type | string | 예 | application/json |
요청 파라미터
| 파라미터 | 타입 | 필수 | 기본값 | 설명 |
|---|---|---|---|---|
| song_id | string | 예 | - | 결합할 조각(연장 결과 또는 구간 교체 결과)의 song_id. 완료 상태여야 합니다 |
| is_infill | boolean | 아니오 | false | false = 연장 결합, true = 교체(infill) 결합 |
| source_audio_url | string | 아니오 | - | 조각이 외부 계정에서 온 경우의 소스 오디오 주소 |
| source_file_name | string | 아니오 | - | 조각이 외부 계정에서 온 경우의 소스 파일 이름 |
| source_title | string | 아니오 | - | 조각이 외부 계정에서 온 경우의 소스 제목 |
audio_id, source_clip_id, sourceClipId는 song_id와 같은 의미이며 하나만 쓰면 됩니다.
요청 예시
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
}'
구간 교체 후에 결합하려면 is_infill을 true로 바꿉니다:
{ "song_id": "infilled_clip_id", "is_infill": true }
응답 결과
{
"code": 200,
"message": "success",
"data": {
"clips": [
{
"song_id": "concat_clip_id",
"song_title": "원곡 제목",
"status": "queued"
}
]
}
}
결합은 1건만 반환합니다(한 번에 2곡이 나오지 않습니다). clips[].song_id를 저장하고 곡 조회 API로 complete가 될 때까지 폴링한 뒤 오디오를 받으세요.
결과 길이는 어떻게 정해지는가
결합은 두 파일을 그대로 앞뒤로 붙이는 것이 아니라, 조각 이력에 기록된 시점에 따라 원곡을 잘라 씁니다:
| 모드 | 결과 구성 |
|---|---|
is_infill: false |
원곡 [0 .. continue_at] + 연장 조각 전체 길이 |
is_infill: true |
원곡 [0 .. 시작점] + 교체된 새 조각 + 원곡 [종료점 .. 끝] |
따라서 "연장 지점 이후"의 원본 오디오는 버려지고, 같은 구간이 통째로 중복되지 않습니다.
주의 사항
- 완료된 조각만 결합할 수 있습니다. 생성 중인 조각은 먼저 완료를 기다리세요.
- 결과는 새로운 레코드이며, 원래 조각은 그대로 남아 계속 사용할 수 있습니다.
- 서로 다른 두 곡을 한 곡으로 합치려면 매시업 API를, 일부 구간만 남기려면 자르기 API를 사용하세요.