Skip to main content
音樂生成是異步的。 POST /v1/music/generations 創建一個公共的 TokenLab 任務並返回 id / task_idstatus,通常還有 poll_url。您的應用程序應該存儲該任務身份,顯示任務狀態,並輪詢直到達到終端狀態。

選擇工作流程

在發佈硬編碼模型列表之前查詢當前模型目錄:
當前的公共示例使用 suno_music 進行音樂生成,並在 mv 中傳入 chirp-v4 等官方 Suno 模型版本。對於僅歌詞的流程,發送 action: "LYRICS" 與模型詳情文件中包含歌詞生成的模型,並省略 mv。將模型 ID 視為公共 TokenLab ID,而不是保證供應商特定字段是支持说明字段。

創建音樂任務

保持提示、標題和標籤對用戶可見並安全存儲。不要在任何提示字段中放置 API 密鑰、私有 URL 或私有調試信息。

輪詢完成情況

首先使用 poll_url。如果您的客戶端需要固定路由,則使用返回的 idtask_id 調用 GET /v1/tasks/{id}

回應結構

建立接口返回的是可輪詢的任務記錄,不是最終音訊:
輪詢到完成後,回應可以包含最終媒體欄位:
最終媒體欄位只會在 statuscompleted 後出現。失敗任務會返回 status: "failed",並帶有 error 預期的公共狀態為 pendingprocessingcompletedfailed。完成的音樂任務可以包括 audio_urlvideo_urltitlelyrics 和標準化的元數據。將最終的 URL 存儲在您自己的數據庫中,以便用戶可以在不重新啟動生成的情況下重新打開結果。

UI 和狀態處理

  • 在任務創建後立即顯示待處理狀態。
  • 對於長任務每 5-10s 輪詢一次,然後在 completedfailed 時停止。
  • 在任務 completed 並且存在 audio_url 之前,不要顯示最終播放器。
  • 對於僅歌詞的任務,將文本輸出與音頻任務分開渲染,以便用戶理解他們所購買的內容。
  • 在刷新時,從存儲的 task_id 繼續,而不是創建新任務。

計費和對賬

音樂任務可以在創建時保留預估金額,並在知道終端狀態後結算。當 request_idtask_id、模型、端點和 billing_transaction_id 出現時進行存儲。使用管理 API 使用記錄進行對賬,而不是供應商任務 ID。

常見錯誤

API 參考