Replace Section(구간 교체) API

2026-09-18 업데이트 · Suno-API 팀

인터페이스 설명

구간 교체는 기존 곡의 지정한 시간 구간을 부분적으로 다시 생성합니다. 한 줄 가사를 고치거나 특정 구간을 바꾸는 데 적합합니다.

엔드포인트: POST /api/music/replace-section

과금: 유료, 현재 기본 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
startSeconds number 예 - 교체 시작 초. 소수점 가능. 구간 길이는 2초 이상이어야 합니다
endSeconds number 예 - 교체 종료 초. 소수점 가능. startSeconds보다 커야 하며, 구간은 원곡 길이 안에 있어야 합니다
contextLyrics string 예 - 곡 전체의 완전한 가사. 생성 컨텍스트로 사용합니다(호환 표기 prompt). 보내지 않으면 400
contextWindowLyrics string 아니오 contextLyrics와 동일 교체할 구간 주변의 가사(앞뒤 한두 줄이면 충분). 연결에 사용합니다. 보내지 않으면 contextLyrics 사용
infillLyrics string 아니오 contextLyrics와 동일 교체 후의 새 가사. 보내지 않으면 contextLyrics 사용(원래 가사로 그 구간을 다시 부르는 것과 같음)
style string 아니오 - 스타일 태그
title string 아니오 - 제목
negativeTags string 아니오 - 제외 스타일
requestedAt number 아니오 - 요청 타임스탬프

startSeconds, endSeconds의 단위는 초이며 소수점을 쓸 수 있습니다. startSeconds는 endSeconds보다 작아야 하고 구간은 원곡 길이 안에 있어야 합니다. requestedAt은 요청 시각을 전달해야 할 때만 쓰며, 단위는 Unix 초 단위 타임스탬프(밀리초 아님)이고 보통 생략할 수 있습니다.

교체도 비동기 작업입니다. 반환된 clip의 초기 상태는 pending일 수 있고, 그때 오디오 주소가 비어 있는 것은 정상입니다. 반환된 실제 song_id로 최종 결과를 조회하세요.

구간 길이: 최소 2초(중요)

교체할 구간은 2초보다 짧을 수 없습니다. 실측: 1.0 / 1.2 / 1.5초 구간은 모두 실패했고 2.0초 이상은 정상이었습니다.

구간이 너무 짧으면 플랫폼은 "파라미터 오류"가 아니라 오해하기 쉬운 메시지를 돌려줍니다:

{"error":{"message":"You don't have access to this model. Upgrade your plan to use it.",
          "type":"bad_response_status_code","code":"bad_response_status_code"}}

이 문장은 계정이나 요금제 문제가 아닙니다. 구간이 너무 짧은 것입니다. 구간을 2초 이상으로 늘려 다시 보내세요.

요청 예시

curl -X POST https://www.suno-api.io/api/music/replace-section \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "suno-v6",
    "audioId": "clip_id",
    "startSeconds": 30,
    "endSeconds": 45,
    "contextLyrics": "전체 컨텍스트 가사",
    "contextWindowLyrics": "주변 컨텍스트 가사",
    "infillLyrics": "교체 후 가사",
    "style": "Mandopop, acoustic",
    "title": "교체 버전",
    "negativeTags": "noise"
  }'

응답 결과

{
  "code": 200,
  "message": "success",
  "data": {
    "clips": [
      {
        "song_id": "replace_clip_id",
        "song_title": "교체 버전",
        "status": "pending"
      }
    ],
    "replaceTask": "infill",
    "clipId": "clip_id",
    "source_update": {}
  }
}

호환 필드

다음반주 추가 API

API 키 발급

가입 후 콘솔에서 API 키를 만들 수 있습니다. 1회 0.6위안으로 2곡이 생성되고, 다운로드는 횟수 제한이 없으며 휴대폰 번호는 필요하지 않습니다.

API 키 받기 개요로 돌아가기