影片 API 非同步任務

一次 Wan2.2 取樣是分鐘級,不是幾百毫秒。嚴肅 API 都會返回任務 ID 再讓你輪詢或訂閱。把一條 HTTP 請求掛到 MP4 出來,一定會超時。

DashScopeGradiojob_id
本頁目錄 6
POST jobs、PENDING、GPU 工人 RUNNING、SUCCEEDED 或 FAILED
共同模式:入隊、輪詢、取 URL。DashScope、Gradio、Replicate、fal 都長這樣。

DashScope / 百鍊

阿里雲 Wan 任務在建立時帶非同步頭(X-DashScope-Async: enable),再 GET /api/v1/tasks/{task_id} 直到 SUCCEEDED、FAILED 或 CANCELED。影片 URL 在任務載荷上。提示詞擴寫的 Qwen 呼叫可以是普通同步聊天;DiT 任務不行。

Gradio Space(HF / ModelScope)

公開 Demo 走佇列:上傳 → hash → /queue/join → SSE 事件(預估、處理、完成)。官方 Wan-AI Space 和本站 /wan2.2-s2v Demo 都這樣跟 ZeroGPU 說話。超時、休眠、每日額度是佇列屬性,不是模型屬性。

Replicate / fal / 其他

  • Replicate:POST prediction,輪詢 GET /v1/predictions/{id},狀態 starting|processing|succeeded|failed|canceled。
  • fal:queue.submit + queue.result,或 webhook。
  • 一定要存供應商 ID;不要讓 Serverless Worker 卡完整段取樣。

避免幽靈任務的客戶端規則

  1. 建立任務,持久化 job_id + 使用者 id。
  2. 2–5 秒輪詢並退避;總等待設上限(繁忙 Space 上 S2V 可超過 10 分鐘)。
  3. 把 409 / 429 當排隊,而不是「模型壞了」。
  4. SUCCEEDED 後把檔案拷到自己的儲存——供應商 URL 會過期。
  5. FAILED 時展示供應商資訊(OOM、NSFW、空音訊),不要狂重試。

常見問題

能流式出幀嗎?
官方 generate.py 不能。你拿到的是成品影片。部分託管會用 S2V 的 --num_clip 預覽第一段。
Webhook 還是輪詢?
自己的 API 更適合 webhook。瀏覽器應輪詢或走你後端的 SSE,儘量別讓 GPU 供應商直接看到使用者套接字。

一手來源

已對照 Wan-Video/Wan2.2 README 核對 · 2026-08-28

© 2026 wan2.video