POST /v1/music/generations 創建一個公共的 TokenLab 任務並返回 id / task_id、status,通常還有 poll_url。您的應用程序應該存儲該任務身份,顯示任務狀態,並輪詢直到達到終端狀態。
選擇工作流程
在發佈硬編碼模型列表之前查詢當前模型目錄:
suno_music 進行音樂生成,並在 mv 中傳入 chirp-v4 等官方 Suno 模型版本。對於僅歌詞的流程,發送 action: "LYRICS" 與模型詳情文件中包含歌詞生成的模型,並省略 mv。將模型 ID 視為公共 TokenLab ID,而不是保證供應商特定字段是支持说明字段。
創建音樂任務
輪詢完成情況
首先使用poll_url。如果您的客戶端需要固定路由,則使用返回的 id 或 task_id 調用 GET /v1/tasks/{id}。
回應結構
建立接口返回的是可輪詢的任務記錄,不是最終音訊:status 為 completed 後出現。失敗任務會返回 status: "failed",並帶有 error。
預期的公共狀態為 pending、processing、completed 和 failed。完成的音樂任務可以包括 audio_url、video_url、title、lyrics 和標準化的元數據。將最終的 URL 存儲在您自己的數據庫中,以便用戶可以在不重新啟動生成的情況下重新打開結果。
UI 和狀態處理
- 在任務創建後立即顯示待處理狀態。
- 對於長任務每
5-10s輪詢一次,然後在completed或failed時停止。 - 在任務
completed並且存在audio_url之前,不要顯示最終播放器。 - 對於僅歌詞的任務,將文本輸出與音頻任務分開渲染,以便用戶理解他們所購買的內容。
- 在刷新時,從存儲的
task_id繼續,而不是創建新任務。
計費和對賬
音樂任務可以在創建時保留預估金額,並在知道終端狀態後結算。當request_id、task_id、模型、端點和 billing_transaction_id 出現時進行存儲。使用管理 API 使用記錄進行對賬,而不是供應商任務 ID。