Wan 3.0 X-DashScope-Async header and polling vs Sume
Alibaba needs an X-DashScope-Async: enable header and suggests polling about every 15 seconds. Sume is async by default and hands you a polling_url.

Alibaba's Wan 3.0 create call needs the header X-DashScope-Async: enable, then you poll the task about every 15 seconds. Sume's /v1/videos needs no such header: video is asynchronous, the submit response returns pending with a polling_url, and the docs sample sleeps 30 seconds between polls. When you port, delete the header and poll the URL you were given.
What is the same and what is different?
Details follow (read 2026-10-09).
| Step | Alibaba Wan 3.0 | Sume wan-3.0 |
|---|---|---|
| Opt in to async | X-DashScope-Async: enable | none; always async |
| Poll target | GET /api/v1/tasks/{task_id} | polling_url from the submit response |
| Poll cadence | about every 15 seconds (page example) | 30 seconds in the docs sample |
| Done | SUCCEEDED | completed |
What does the request look like after the port?
Build both to see the difference. Nothing is sent here.
import json, urllib.request as u
body = json.dumps({"model": "wan-3.0", "prompt": "A barista pours latte art", "duration": 5}).encode()
req = u.Request(
"https://api.sume.com/v1/videos",
data=body,
headers={"Authorization": "Bearer demo", "Content-Type": "application/json"},
method="POST",
)
print(req.get_method(), req.full_url)
print(sorted(k.lower() for k in req.headers))How often should you poll?
Follow the Sume docs sample and wait 30 seconds, or use a callback_url and a slow fallback poll. Faster polling on a long job spends your read budget for nothing; see rate limits for the per-plan budgets.
If you also keep an Alibaba path, give each client its own loop and its own state table, because the status words differ.
Sources
Related posts
More in Developers
- aiohttp 3.14.4 fixes truncated retried file bodies: Sume submits
aiohttp 3.14.4 fixed an internal retry that sent a cut-off body from a file object. Send a Sume JSON submit from bytes and keep one Idempotency-Key.
- A sensor for a Sume Format run: poll, back off, time out
Poll a Sume Format run with a doubling backoff up to 60 seconds and a hard deadline. Here is the loop, the terminal states, and a 45 minute limit.
- Arazzo 1.1 workflow for Sume: submit, poll, retry until terminal
Arazzo 1.1.0 can describe Sume's submit then poll sequence over its operationIds, with a 2 s retry action. The YAML, and what I could and could not check.
- Assert the Sume usage ledger in CI: canceled job debits zero
After canceling a queued Sume job, read GET /v1/usage?job_id= and assert summary.final is true and debited_usd_micros is 0. A short Python CI check.
Written by Sume