API 레퍼런스
음악
이 엔드포인트의 모델(1)
POST
/v1/music/generationsGET
/v1/music/tasks/{task_id}GET
/v1/music/tasks/{task_id}/content노래와 연주곡 워크플로를 위한 비동기 음악 생성입니다. 제출하면 바로 task_id가 반환되며, 작업을 폴링하거나 웹훅 콜백을 받은 뒤 /content에서 완성된 오디오를 읽으세요.
#요청 파라미터
modelstring필수모델 페이지의 음악 모델 ID(예: suno).
promptstring필수곡의 내용, 분위기, 악기 구성, 가사 방향을 설명하세요.
titlestring선택선택 사항인 트랙 제목. 지원하는 모델 계열에 전달됩니다.
tagsstring | array선택cinematic, pop, ambient 같은 선택적 장르·스타일 힌트.
versionstring선택제공업체가 여러 세대를 제공할 때 쓰는 모델 계열 버전 전환값.
mvstring선택제공업체별 음악 모드 선택값. 사용자가 직접 제어해야 하는 경우가 아니면 서버 측에 두세요.
instrumentalboolean선택모델이 지원하는 경우 보컬 없는 연주곡을 생성합니다.
make_instrumentalboolean선택연주곡 출력을 위한 또 다른 제공업체 플래그. 일부 제공업체는 instrumental 대신 이것을 사용합니다.
continue_clip_idstring선택새 트랙을 시작하지 않고 이전 클립을 이어 가거나 연장합니다.
continue_atnumber선택이어 가기 흐름에서 재개할 지점(초).
webhook_urlstring선택작업이 최종 상태에 도달하면 호출되는 HTTPS URL.
webhook_secretstring선택설정하면 전송에 X-Xiaoxiang-Signature: sha256=hex(HMAC-SHA256(body, secret))가 포함됩니다.
간단하게 시작하기
대부분의 제품은 첫 연동에서 prompt만으로 충분합니다. title, tags, version, 이어 가기 관련 필드는 고급 컨트롤이므로 제품에 분명한 필요가 있을 때만 추가하세요.
다른 미디어 작업과 같은 비동기 규약
음악도 이미지·동영상 작업과 같은 제출 → 폴링 또는 웹훅 → /content 패턴을 따르므로, 보통 백엔드 작업 실행기 하나로 세 가지를 모두 처리할 수 있습니다.
#관련 오류
- 404 not_found알 수 없는 경로나 모델 이름, 또는 만료되었거나 다른 계정의 task_id입니다.
- 422 unprocessable_entity게이트웨이가 전달한 파라미터 값을 제공업체가 거부했습니다(예: 지원하지 않는 크기나 길이).
- 401Bearer 토큰이 유효하지 않거나 없습니다. 이 경로에는 error.code가 없으므로 상태 코드로 판단하세요.
- 402 insufficient_user_quota지갑 잔액이 사전 차감 추정액보다 부족합니다.
- 429키별 속도 제한입니다. 본문은 비어 있으며 Retry-After만큼 기다리세요. insufficient_user_quota가 포함된 429는 속도 제한이 아니라 일일 지출 한도입니다.
- 503 model_not_found알 수 없는 모델이거나, 현재 이 모델을 제공하는 정상 채널이 없습니다.
#요청 예시
# submit
curl https://www.aisplice.store/v1/music/generations \
-H "Authorization: Bearer sk-YOUR_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "suno",
"prompt": "a warm cinematic piano theme",
"instrumental": true
}'
# poll every 5s
curl https://www.aisplice.store/v1/music/tasks/$TASK_ID -H "Authorization: Bearer sk-YOUR_KEY"
# fetch the finished track
curl -L https://www.aisplice.store/v1/music/tasks/$TASK_ID/content \
-H "Authorization: Bearer sk-YOUR_KEY" \
-o song.mp3#응답
response.json
// POST — submit accepted
{"task_id": "task_xxx", "status": "queued"}
// GET /v1/music/tasks/{task_id}
{
"task_id": "task_xxx",
"status": "in_progress",
"progress": "42%"
}
// GET /v1/music/tasks/{task_id}/content
{
"task_id": "task_xxx",
"status": "completed",
"metadata": {
"audio_url": "https://…",
"lyric": "…"
}
}아직 해결되지 않았나요?
요청 ID나 오류 메시지를 보내 주시면 확인해 드리겠습니다.