메인 콘텐츠로 건너뛰기
POST
소스 트랙 참조: 소스 트랙은 반드시 uploadTask로 업로드한 자신의 오디오여야 하며, 해당 업로드 작업의 task_id + audio_index(결과 music[]에서 몇 번째 곡인지, 1부터 시작, 기본값 1)를 전달합니다. 생성된 음원을 소스로 사용하면 실패합니다 — 자신이 업로드한 음원만 참조할 수 있습니다.
custom이 어떤 필드가 적용될지를 결정합니다: 잘못된 모드에서 지정된 필드는 업스트림에서 오류 없이 조용히 무시됩니다. custom=true이면 prompt(가사), title, tags, negative_tags, style_weight, weirdness_constraint, audio_weight가 적용되고 gpt_description은 무시됩니다; custom=false이면 gpt_description만 읽습니다(이 경우 필수 — 없으면 제출 시점에 400 반환). vocal_gender는 두 모드 모두에서 동작합니다. custom을 생략하면 백엔드가 다음 순서로 추론합니다: prompt가 있으면 → true; prompt가 없고 gpt_description이 있으면 → false; 그 외 tags/title이 있으면 → true.

Authorizations

Authorization
string
필수
모든 API는 Bearer Token을 사용한 인증이 필요합니다API Key 발급:API Key 관리 페이지에 접속하여 API Key를 발급받으세요사용 시 요청 헤더에 추가하세요:

Body

model
string
기본값:"suno"
오디오 모델. 현재는 suno를 전달합니다(전달하지 않으면 기본값 suno).
task_id
string
필수
소스 트랙이 있는 uploadTask 업로드 작업의 task_id(반드시 자신이 업로드한 음원이어야 하며, 생성 작업의 음원을 소스로 사용하면 실패합니다). 누락되었거나 소스를 해석할 수 없으면 제출 시점에 400을 직접 반환합니다.
audio_index
integer
기본값:"1"
소스 작업 결과 data.music[] 중 몇 번째 곡인지(1-based; 기본값 1; 한 번 생성 시 보통 2곡: 인덱스 1과 2).
version
string
기본값:"v5.5"
생성 버전: v5 / v5.5 전용; 전달하지 않으면 기본값 v5.5. 다른 값을 전달하면 제출 시점에 400을 직접 반환합니다.
custom
boolean
true=커스텀 모드(prompt를 가사로 사용); false=영감 모드(gpt_description 사용); 생략하면 콘텐츠로부터 추론됩니다(위의 Warning 참조).
prompt
string
가사. custom=true일 때 적용됩니다(영감 모드에서는 무시됨).
gpt_description
string
영감 프롬프트. custom=false일 때 필수 — 없으면 제출 시점에 400으로 실패합니다(업스트림은 호출되지 않고, 과금도 되지 않음).
title
string
제목. custom=true일 때만 적용됩니다.
tags
string
스타일 태그. custom=true일 때만 적용됩니다.
negative_tags
string
제외할 스타일 태그. custom=true일 때만 적용됩니다.
style_weight
number
스타일 가중치, 0.001.00(범위를 벗어나면 제출 시점에 400을 직접 반환). custom=true일 때만 적용됩니다.
weirdness_constraint
number
창의성 가중치, 0.001.00(별칭 weirdness). custom=true일 때만 적용됩니다.
audio_weight
number
오디오 가중치, 0.001.00. custom=true일 때만 적용됩니다.
vocal_gender
string
보컬 성별: Male / Female. 두 모드 모두에서 동작합니다.
결과 가져오기: 본 API는 비동기 작업입니다. 제출 후 task_id를 받아 35초 간격으로 GET /v1/music/tasks/{task_id}를 폴링하며, statuscompleted 또는 failed가 될 때까지 대기합니다(음악 생성은 보통 30120초; 생성 중에는 statuspending이고 progress는 대기열 10 → 준비 50 → 완료 100으로 진행). 완료되면 data.result.music[]에서 audio_url을 가져옵니다. 실패 시 data.error.message가 원인을 제공하며, 선차감된 크레딧이 자동으로 환불됩니다.

Response

code
integer
응답 상태 코드
data
array
반환 데이터 배열