POST /v1/music/generations는 공개 TokenLab 작업을 생성하고 id / task_id, status, 그리고 일반적으로 poll_url을 반환합니다. 귀하의 애플리케이션은 해당 작업 식별자를 저장하고 진행 상황을 표시하며 최종 상태가 될 때까지 폴링해야 합니다.
워크플로우 선택
| 워크플로우 | 주요 필드 | 비고 |
|---|---|---|
| 전체 곡 또는 기악 | model, prompt, 선택적 title, tags, action: "MUSIC" | 사용자가 최종 오디오를 기대할 때 사용 |
| 가사만 | model, prompt, action: "LYRICS" | 가사 생성을 노출하는 모델에서만 사용 |
| 기존 클립 계속하기 | continue_clip_id, 선택적 continue_at | 계속하기 전에 이전 공개 클립/작업 식별자를 저장 |
suno_music을 사용합니다. 가사 전용 흐름의 경우, 가사 생성을 문서화한 모델과 함께 action: "LYRICS"를 전송하십시오. 모델 ID는 공개 TokenLab ID로 취급하며, 제공자 특정 필드가 공개 계약 필드라는 보장은 아닙니다.
음악 작업 생성
완료 폴링
먼저poll_url을 사용하십시오. 클라이언트가 고정 경로가 필요하면 반환된 id 또는 task_id로 GET /v1/tasks/{id}를 호출하십시오.
pending, processing, completed, 및 failed입니다. 완료된 음악 작업은 audio_url, video_url, title, lyrics, 및 정규화된 메타데이터를 포함할 수 있습니다. 최종 URL을 귀하의 데이터베이스에 저장하여 사용자가 결과를 다시 열 수 있도록 하십시오.
UI 및 상태 처리
- 작업 생성 직후에 대기 상태를 표시하십시오.
- 긴 작업의 경우 매
5-10초마다 폴링하고,completed또는failed상태에서 중지하십시오. - 작업이
completed되고audio_url이 존재할 때까지 최종 플레이어를 표시하지 마십시오. - 가사 전용 작업의 경우, 사용자가 구매하는 내용을 이해할 수 있도록 오디오 작업과 별도로 텍스트 출력을 렌더링하십시오.
- 새로 고침 시 새 작업을 생성하는 대신 저장된
task_id에서 계속하십시오.
청구 및 조정
음악 작업은 생성 시 예상 금액을 예약하고 최종 상태가 알려진 후에 정산할 수 있습니다.request_id, task_id, 모델, 엔드포인트, 및 billing_transaction_id가 나타날 때 저장하십시오. 제공자 작업 ID 대신 관리 API 사용 기록을 사용하여 조정하십시오.
일반 오류
| 증상 | 가능한 원인 | 수정 |
|---|---|---|
| 작업이 생성되었지만 플레이어 없음 | 작업이 여전히 대기 중이거나 audio_url 없이 완료됨 | 최종 상태까지 계속 폴링한 후, 누락된 출력을 실패한 사용자 작업으로 처리 |
| 새로 고침 후 중복 곡 | UI가 작업을 재생성하여 계속하지 않음 | task_id를 지속하고 재사용 |
| 가사 작업이 오디오를 반환하지 않음 | action: "LYRICS"는 텍스트 전용 | 가사와 음악 UI 경로를 분리 |
| 지원되지 않는 매개변수 | 필드가 모델 공개 계약에 없음 | 제공자 특정 필드를 제거하거나 이를 문서화한 모델을 선택 |
API 참조
| 주제 | 참조 |
|---|---|
| 음악 생성 | 음악 생성 |
| 음악 상태 가져오기 | 음악 상태 가져오기 |
| 작업 상태 가져오기 | 작업 상태 가져오기 |
| 모델 목록 | 모델 목록 |
| 청구 및 가격 책정 | 청구 및 가격 책정 |