Wan 3.0 workspace-id region hosts vs Sume's one API base URL
Alibaba's Wan 3.0 URLs carry a workspace id and a region host, in six regions. Sume's video API is one base URL; what to change when you port the call.

Alibaba's Wan 3.0 endpoints put your workspace id and a region in the host name, and the page lists six regions. A Sume call has neither: it goes to https://api.sume.com/v1/videos and the key identifies the workspace. The Sume docs show no region field, so do not plan around choosing where a job runs.
What do the Alibaba URLs look like?
Compare the create and query URLs with the single Sume path.
| Item | Alibaba, Singapore | Sume |
|---|---|---|
| Create task | POST https://{WorkspaceId}.ap-southeast-1.maas.aliyuncs.com/api/v1/services/aigc/video-generation/video-synthesis | POST https://api.sume.com/v1/videos |
| Query task | GET https://{WorkspaceId}.ap-southeast-1.maas.aliyuncs.com/api/v1/tasks/{task_id} | GET the polling_url from the submit response |
| Regions on the page | Singapore, Beijing, US (Virginia), Tokyo, Frankfurt, Hong Kong | none documented |
What does that change in your code?
Three edits cover the port.
- Drop the workspace id and region from config. A Sume workspace is tied to the API key.
- Stop building the task URL from a task id. Store the
polling_urlSume returns. - Do not copy a region choice over. If a data-location rule applies to you, ask before you send production traffic.
How do you check the base URL in a script?
A one-line guard saves a long debugging session when an old Alibaba URL is still in an environment file.
from urllib.parse import urlparse
def check_base(url: str) -> str:
host = urlparse(url).hostname or ""
if host != "api.sume.com":
raise ValueError(f"expected api.sume.com, got {host}")
return url.rstrip("/") + "/v1/videos"
print(check_base("https://api.sume.com"))
try:
check_base("https://abc.ap-southeast-1.maas.aliyuncs.com")
except ValueError as e:
print(e)Which model id replaces the Alibaba one?
Use wan-3.0. Sume lists one Wan 3.0 id, 2 to 30 seconds at 480p, 720p and 1080p. Confirm the live values with GET /v1/videos/models before a batch, and see what Sume documents for the Wan row.
Sources
Related posts
More in Developers
- Failed AI video jobs: Google bills successes, Sume refunds the hold
Google says Veo videos are charged only when generated. Sume holds the price at submit, captures it on success and refunds it on failure or early cancel.
- Audio detach retry: what idempotency_hit true means for the $0.01
Retrying an audio detach with the same Idempotency-Key and body returns the first job (idempotency_hit true): $0.01 once. A changed body returns 409.
- Audio job failed: read /events and /status before you retry
A failed TTS, STT or music job is terminal. Read GET /v1/jobs/{id}/events and status, fix the cause, then resubmit under a new key. A new TTS job bills again.
- Avatar video image URLs: product_image, scene photo and backgrounds
Sume avatar video takes three kinds of image URL: product_image, scene.image_url and scene-background images. All must be public HTTPS. Checks to run first.
Written by Sume