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.

3 min readSume
All posts

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).

Async flow (Alibaba page and Sume docs read 2026-10-09)
StepAlibaba Wan 3.0Sume wan-3.0
Opt in to asyncX-DashScope-Async: enablenone; always async
Poll targetGET /api/v1/tasks/{task_id}polling_url from the submit response
Poll cadenceabout every 15 seconds (page example)30 seconds in the docs sample
DoneSUCCEEDEDcompleted

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

All Developers posts

Written by Sume