Skip to main content
許多媒體端點是非同步的。創建請求開始工作並返回公共 TokenLab 任務身份;您的應用程式將輪詢直到該任務達到終端狀態。請勿圍繞上游任務 URL、路由 ID 或供應商回調行為構建客戶工作流程。

公共任務合約

創建響應可以包括: /v1/tasks/{id} 是公共非同步媒體任務的標準固定狀態端點。可能存在媒體特定的狀態路由以保持兼容性,但新的集成應優先使用 poll_url/v1/tasks/{id}

推薦流程

  1. 驗證用戶請求並發送帶有明確 model 的創建調用。
  2. 在將控制權返回給 UI 之前,持久化 id / task_idpoll_url、端點、模型、用戶 ID 和您自己的任務 ID。
  3. 5-10s 輪詢長時間運行的媒體任務。
  4. 只有在任務為 completedfailed 時才停止。
  5. completed 時,讀取媒體特定的結果欄位並存儲最終 URL 或元數據。
  6. failed 時,存儲公共錯誤並僅作為新的用戶可見任務提供重試。

輪詢範例

預期的公共狀態為 pendingprocessingcompletedfailed。已取消的任務表示為 failed,並帶有 cancelled: truecancellation_status: "cancelled",以便舊的狀態處理繼續正常運作。

客戶端重試規則

網絡超時是重複任務的最常見來源。使用以下規則: 不要僅因為瀏覽器刷新或狀態輪詢失敗而發送第二個創建請求。

計費與結算

非同步任務在創建請求被接受時可以保留預估金額。最終結算在終端狀態之後進行。當可用時,任務狀態響應可以暴露 billing_transaction_idX-Billing-Transaction-ID 標頭。 為了調和,請在您的日誌中聯合這些標識符:
  • 創建請求中的 request_id
  • 任務中的 task_id / id
  • 當存在時的 billing_transaction_id
  • 您自己的用戶 ID、項目 ID 或任務 ID。

取消

DELETE /v1/tasks/{id} 的支援範圍有意保持較窄。目前在所選任務支援取消時,可用於排隊中的 Seedance 影片任務,例如 seedance-1.5-proseedance-2.0seedance-2.0-fast 不支持的任務返回 400 unsupported_task_cancel。已經運行或處於終端狀態的任務返回 409 task_not_cancellable。構建取消 UI 時應設為「請求取消」,而不是保證停止的按鈕。

疑難排解

支持包

聯繫支持時,請包括 request_idtask_idbilling_transaction_id(如果存在)、端點、模型、時間戳和經過清理的請求形狀。除非支持要求提供經過編輯的示例,否則請勿包括 API 密鑰、私人媒體、簽名 URL 或完整提示。

API 參考