视频 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