샘플 API
인터페이스 설명
샘플링은 기존 곡에서 일부 소재를 잘라내어 새로운 곡을 만듭니다. 현재 고객에게 열려 있는 모드는 chop 샘플 모드입니다.
엔드포인트: POST /api/music/sample
과금: 유료. 요청한 모델에 따라 과금되며, 실제 청구 금액은 백오피스 가격 설정을 따릅니다.
Max Mode / Variety: 이 엔드포인트는 선택 파라미터 max_mode와 variety(0-4)를 지원합니다. max_mode를
켜면 이번 호출은 2배 가격으로 과금되고, variety는 추가 요금이 없습니다. 두 파라미터의 의미와 사용법은
새 API 개요의 "고급 파라미터"를 참고하세요.
권장 모델: suno-v6. suno-v6, suno-v6-wild, suno-v6-mini를 사용할 수 있습니다.
대기 시간과 타임아웃(중요): 이 엔드포인트는 동기 방식이며, 응답이 돌아온 시점에야 주문이 접수되어 생성에 넘겨집니다. 실측 기준 대부분의 요청은 1~3초에 반환되고, 약 10%는 30초를 넘기며, 최장 약 230초가 걸립니다. 클라이언트 타임아웃을 300초 이상으로 설정하세요. 응답이 없다고 해서 생성되지 않은 것이 아니며, 타임아웃 직후 재시도하면 주문이 중복되고 요금이 두 번 청구됩니다. 연결이 끊겼다면 잠시 후
GET /api/music/songs로 확인할 수 있습니다. 자세한 내용은 새 API 개요의 "대기 시간과 타임아웃 설정"을 참고하세요.
인증
| 파라미터 | 타입 | 필수 | 설명 |
|---|---|---|---|
| Authorization | string | 예 | Bearer YOUR_API_KEY |
| Content-Type | string | 예 | application/json |
요청 파라미터
| 파라미터 | 타입 | 필수 | 기본값 | 설명 |
|---|---|---|---|---|
| model | string | 예 | - | 대고객 모델명: suno-v6, suno-v6-wild, suno-v6-mini |
| source_clip_id | string | 예 | - | 소스 곡의 실제 song_id. 완료 상태여야 하고 현재 API Key로 접근할 수 있어야 합니다 |
| mode | string | 예 | - | 현재는 chop만 지원 |
| start_seconds | number | 예 | - | 샘플 시작 초. 0 이상이어야 합니다 |
| end_seconds | number | 예 | - | 샘플 종료 초. start_seconds보다 커야 합니다 |
| lyrics | string | 아니오 | - | 가사 또는 창작 방향 |
| style_tags | string | 아니오 | - | 스타일 태그 |
| song_title | string | 아니오 | - | 결과 제목 |
| wait_completion | boolean | 아니오 | false | 길게 기다렸다가 반환할지 여부 |
요청 예시
curl -X POST https://www.suno-api.io/api/music/sample \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "suno-v6",
"source_clip_id": "source_song_id",
"mode": "chop",
"start_seconds": 0,
"end_seconds": 30,
"style_tags": "funky pop, chopped sample",
"song_title": "샘플 버전",
"wait_completion": false
}'
응답 결과
{
"code": 200,
"message": "success",
"data": {
"clips": [
{
"song_id": "result_song_id",
"song_title": "샘플 버전",
"status": "pending"
},
{
"song_id": "result_song_id_2",
"song_title": "샘플 버전",
"status": "pending"
}
]
}
}
한 번 호출에 2건의 결과가 반환됩니다(2곡으로 과금). 예시도 2건으로 표시했습니다. clips 배열의 길이를 기준으로 하고, 고정 개수로 반복문을 작성하지 마세요. clips[].song_id를 저장하고 곡 조회 API로 completed가 될 때까지 폴링하세요.
주의 사항
- 현재 열려 있는 모드는
chop뿐입니다. as-is,as_is,asis,blend는 현재 HTTP 400을 반환하며 생성 작업을 제출하지 않습니다.start_seconds는 0 이상이어야 하고end_seconds보다 작아야 합니다.