Extend(연장) API
인터페이스 설명
연장은 기존 곡의 지정한 시점부터 이어지는 구간을 생성합니다.
엔드포인트: POST /api/music/extend
과금: 유료, 현재 기본 1회 0.6위안. 실제 청구 금액은 현재 백오피스 가격 설정을 따릅니다.
Max Mode / Variety: 이 엔드포인트는 선택 파라미터 max_mode와 variety(0-4)를 지원합니다.
max_mode를 켜면 이번 호출은 2배 가격으로 과금되며(0.6 → 1.2위안/회), variety는 추가 과금이 없습니다.
두 값의 의미와 사용법은 새 API 개요의 "고급 파라미터" 절을 참고하세요.
대기 시간과 타임아웃(중요): 이 엔드포인트는 동기 방식이며, 응답이 돌아온 시점에야 주문이 접수되어 생성에 넘겨집니다. 실측 기준 대부분의 요청은 1~3초에 반환되고, 약 10%는 30초를 넘기며, 최장 약 230초가 걸립니다. 클라이언트 타임아웃을 300초 이상으로 설정하세요. 응답이 없다고 해서 생성되지 않은 것이 아니며, 타임아웃 직후 재시도하면 주문이 중복되고 요금이 두 번 청구됩니다. 연결이 끊겼다면 잠시 후
GET /api/music/songs로 확인할 수 있습니다. 자세한 내용은 새 API 개요의 "대기 시간과 타임아웃 설정"을 참고하세요.
요청 파라미터
Headers
| 파라미터 | 타입 | 필수 | 설명 |
|---|---|---|---|
| Authorization | string | 예 | Bearer YOUR_API_KEY |
| Content-Type | string | 예 | application/json |
Body 파라미터
| 파라미터 | 타입 | 필수 | 기본값 | 설명 |
|---|---|---|---|---|
| model | string | 아니오 | suno-v6 | 대고객 모델명: suno-v6, suno-v6-wild, suno-v6-mini |
| audioId | string | 예 | - | 연장할 곡의 ID |
| prompt | string | 예 | - | 연장 설명 |
| continueAt | number | 예 | - | 연장 시작 지점(초). 0보다 크고 원곡 길이보다 작아야 하며, 시작 지점 뒤에 최소 10초를 남기세요. 그렇지 않으면 결과가 그 몇 초뿐입니다 |
| style | string | 아니오 | - | 스타일 태그 |
| negativeTags | string | 아니오 | - | 제외 스타일 |
| title | string | 아니오 | - | 제목 |
| sourceAudioUrl | string | 아니오 | - | 소스 오디오 URL |
| sourceFileName | string | 아니오 | - | 소스 파일 이름 |
| waitAudio | boolean | 아니오 | false | 오디오 완성을 기다릴지 여부 |
요청 예시
curl -X POST https://www.suno-api.io/api/music/extend \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "suno-v6",
"audioId": "clip_id",
"prompt": "후렴을 이어서, 감정을 더 강하게",
"continueAt": 60,
"style": "Mandopop, rock",
"negativeTags": "noise",
"title": "연장 버전",
"waitAudio": false
}'
응답 결과
{
"code": 200,
"message": "success",
"data": {
"clips": [
{
"song_id": "extended_clip_id",
"song_title": "연장 버전",
"status": "pending"
}
]
}
}
호환 필드
기존 필드도 계속 사용할 수 있습니다:
| 새 필드 | 호환되는 기존 필드 |
|---|---|
| audioId | song_id, audio_id |
| prompt | description |
| continueAt | start_time, continue_at |
| style | style_tags, tags |
| negativeTags | negative_tags |
| waitAudio | wait_audio |
주의 사항
- 시작 지점을 끝에 붙이지 마세요: 연장 결과 길이는 사실상 "시작 지점 뒤에 남은 부분"과 같습니다. 시작 지점이 끝에 너무 가까우면 결과가 몇 초뿐입니다. 실측에서 242초 곡을 240초 지점에서 연장했더니 2.7초만 나왔습니다(그래도 회당 요금은 청구됩니다). 시작 지점 뒤에 최소 10초를 남기세요.
- 연장에는 "소스가 너무 짧음" 기준이 없습니다: 실측에서 9.6초짜리 짧은 소재를 5초 지점에서 연장해도 정상적으로 곡이 나왔으며, 소스나 남은 구간이 짧다는 이유로 거부되지 않습니다.
- 시작 지점은 반드시 0보다 커야 합니다:
continueAt=0은 플랫폼이 접수한 뒤 무효 처리되고 실패 사유도 돌려주지 않습니다. 1초 이후부터 시작하세요. - 한 번 호출에 2건이 반환됩니다(2곡으로 과금).
clips배열 길이로 판단하세요. - 결과는 새로운 작품이며 원곡은 영향을 받지 않습니다.