Wan 3.0 video URL purged after 24 hours: what Sume returns

Alibaba keeps Wan 3.0 task ids and video URLs for 24 hours. Sume returns media.sume.com artifacts instead. What to store and when to download.

5 min readSume
All posts

Alibaba says a Wan 3.0 task id is valid for 24 hours and the generated video is purged after the same window, so a direct integration has one day to download. Through Sume you do not hold Alibaba's URL at all: a completed job returns a Sume-hosted artifact on media.sume.com, and the job id is your durable handle. I still recommend downloading and keeping your own copy.

Alibaba's figures come from its Wan3.0 Video Generation API Reference, read on 2026-10-02. Sume's come from Video generation, Jobs and results and Sume basics.

What does Alibaba delete after 24 hours?

On Alibaba's page, two things carry a 24-hour validity: the task id you poll with, and the output video, which is automatically purged afterwards. The flow is asynchronous only, you create a task, then poll, with a recommended 15-second interval and PENDING, RUNNING, SUCCEEDED or FAILED states.

The practical consequence is a deadline. If your worker crashes, a webhook is missed, or a batch finishes overnight and nobody looks until the next day, a direct integration can lose both the status and the file.

What does Sume return instead?

Sume jobs are durable: the docs say to store the job id from the submit response so your integration can recover work after a process restart. A completed /v1/videos job lists unsigned_urls, and GET /v1/videos/{jobId}/content?index=0 streams the file. The Sume basics page describes media.sume.com as the public artifact contract for generated outputs.

What I could not find in the pages I read is a stated retention period for video artifacts. So the claim here is narrow: you are not racing a documented 24-hour upstream purge, and you should still treat artifact URLs as opaque and keep your own copy of anything you ship.

Task and file lifetime, Alibaba direct vs Sume (read 2026-10-02)
ItemWan 3.0 on AlibabaWan 3.0 on Sume
Handle you polltask id, valid 24 hoursjob id, durable, readable at /v1/jobs/{id}
Output filepurged after 24 hoursSume-hosted artifact on media.sume.com
Documented retention24 hoursnone stated in the pages read
Poll interval advice15 seconds30 seconds in the video guide

How should I download and keep the file?

Poll the job, then fetch the content endpoint with your API key and write it to your own storage. This sketch stops on terminal states and does not resubmit a paid request after a failure.

import os, time, requests

H = {"Authorization": f"Bearer {os.environ['SUME_API_KEY']}"}
job = requests.post("https://api.sume.com/v1/videos", headers={**H, "Idempotency-Key": "wan-keep-001"},
    json={"model": "wan-3.0", "prompt": "A paper boat crossing a puddle", "duration": 5}).json()

while True:
    s = requests.get(job["polling_url"], headers=H).json()
    if s["status"] in ("completed", "failed", "cancelled"):
        break
    time.sleep(30)

if s["status"] == "completed":
    data = requests.get(f"https://api.sume.com/v1/videos/{job['id']}/content?index=0", headers=H).content
    open("boat.mp4", "wb").write(data)
else:
    print(s.get("error"))

Should I still add a webhook?

Yes, with polling as the backup. Sume's webhook mode stores the callback and delivers terminal events only, and its docs tell you to keep polling alongside it. The Alibaba clock is the reason a direct integration needs both; on Sume the reason is simply that callbacks can fail like any HTTP delivery. See sweeping pending jobs when the webhook never arrives.

What about reading the cost?

The poll response carries usage.cost, the Sume billable amount, which is the provider list price times 1.25. Log it next to the saved file path so a month-end reconciliation can find each clip. Sume does not claim to mirror Alibaba's task id, so keep the Sume job id as your key.

Sources

Related posts

More in Developers

All Developers posts

Written by Sume