TokenLab

음악

음악 생성

Suno를 사용하여 음악 생성 작업을 생성합니다.

POST
/v1/music/generations

AI를 사용하여 음악과 가사를 생성합니다. 이 API는 비동기 방식으로 동작합니다. 생성 응답은 작업 ID를 반환하며, 사용 가능할 때는 우선 사용해야 하는 poll_url 도 함께 반환할 수 있습니다.

요청 본문

modelstring기본값: suno_music

음악 모델 ID입니다. 예: suno-music. 가사만 생성하려면 현재 공개 작업에 lyrics가 포함된 모델을 선택하세요.

promptstring

음악 설명 또는 교체할 텍스트입니다. 음악, 가사, upload-cover, upload-extend, replace-section에 필수이며 add-instrumental과 음원 분리에서는 생략할 수 있습니다.

titlestring

생성된 곡의 제목입니다.

tagsstring

스타일 태그 (예: "pop, upbeat, electronic").

negative_tagsstring

피할 스타일입니다. audio_operation 이 add-instrumental 인 경우 필수입니다.

actionstring

선택 값은 MUSIC 또는 LYRICS입니다. 해당 공개 작업을 지원하는 모델을 선택하세요. 이 필드가 음악 전용 모델에 가사 생성 기능을 추가하지는 않습니다.

mvstring

Suno 버전 선택 값입니다. 생성, upload-cover, upload-extend, add-instrumental 및 audio_url 기반 교체에 필수입니다. 가사, task_id + audio_id 기반 교체 및 음원 분리에서는 생략하세요. 지원 값: chirp-v3-5, chirp-v4, chirp-v4-5, chirp-v4.5, chirp-v4-5plus, chirp-v4.5plus, chirp-v4-5all, chirp-v4.5all, chirp-v5, chirp-v5-5, chirp-v5.5.

make_instrumentalboolean

true 로 설정하면 보컬 없는 연주곡을 생성합니다.

audio_urlstring

공개적으로 접근 가능한 참조 또는 업로드 오디오 URL입니다. audio_operation 없이 제공하면 upload-cover 흐름을 사용합니다.

audio_operationstring

오디오 작업: upload-cover, upload-extend, add-instrumental, replace-section, vocal-separate, multi-stem-separation, advanced-split.

vocal-separate, multi-stem-separation, advanced-split에는 task_id + audio_id가 필요하며 advanced-split에는 stem_name도 필요합니다. upload-extend에는 0보다 큰 continue_at이 필요합니다. add-instrumental에는 audio_url, title, tags, negative_tags가 필요합니다.

replace-section에는 prompt, tags, title, infill_start_s, infill_end_s, full_lyrics가 필요합니다. 소스는 task_id + audio_id 또는 audio_url + mv 중 하나만 지정하세요. 교체 구간은 6~60초여야 합니다.

task_idstring

생성 오디오 교체 또는 음원 분리에 사용할 조직 소유의 소스 작업 ID입니다.

audio_idstring

소스 작업 결과에 반환된 오디오 ID입니다. 생성 오디오 교체와 음원 분리 시 task_id와 함께 필요합니다.

infill_start_snumber

교체 시작 시간(초)이며 0 이상이어야 합니다. replace-section에 필수입니다.

infill_end_snumber

교체 종료 시간(초)입니다. replace-section에 필수이며 infill_start_s보다 6~60초 뒤여야 합니다.

full_lyricsstring

완성될 곡의 전체 가사입니다. replace-section에 필수입니다.

stem_namestring

분리할 트랙 이름입니다. advanced-split에 필수입니다.

continue_clip_idstring

이어 나갈 이전 클립의 ID입니다.

continue_atnumber

이어 만들기를 시작할 시간(초)입니다. upload-extend에 필수이며 0보다 커야 합니다.

prompt는 최대 5000자, tags와 negative_tags는 각각 최대 1000자입니다. 지원 작업과 매개변수는 선택한 모델의 현재 세부정보를 따릅니다.

응답

idstring

상태 폴링을 위한 작업 ID입니다.

task_idstring

동일한 비동기 작업 ID의 별칭이며 반환되는 경우에만 존재합니다.

poll_urlstring

사용 가능할 때 반환되는 우선 폴링 URL입니다.

statusstring

작업 상태: pending, processing, completed 또는 failed입니다.

createdinteger

반환되는 경우의 작업 생성 Unix 타임스탬프입니다.

요청

curl -X POST "https://api.tokenlab.sh/v1/music/generations" \
  -H "Authorization: Bearer sk-your-api-key" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "suno-music",
    "mv": "chirp-v4",
    "prompt": "An upbeat electronic dance track with heavy bass",
    "title": "Night Drive",
    "tags": "electronic, EDM, energetic"
  }'

응답

Response
{
  "id": "ldtask_aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
  "task_id": "ldtask_aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
  "poll_url": "/v1/tasks/ldtask_aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
  "status": "pending",
  "model": "suno-music"
}

인증

BearerAuth
AuthorizationBearer <token>

API 키 인증입니다. Dashboard > API > API Keys에서 API 키를 생성하거나 관리하십시오.

위치: header

헤더

X-TokenLab-Delivery-Policy?string

요청별 전송 정책입니다. API 키 및 Workspace 기본값을 재정의합니다. 자동으로 TokenLab Verified를 먼저 시도하며, 출력, 요청 수락 또는 영구 리소스 생성 전에 Official 전용으로 한 번 전환될 수 있습니다.

허용 값

  • "auto"
  • "verified"
  • "official"

요청 본문

application/json

응답

application/json

application/json