Skip to main content

Wan (Alibaba DashScope API)

First-party Alibaba Cloud Model Studio Wan video API (async video-synthesis).

Wan 3.0 is a closed, hosted model (wan3.0-video). Alibaba has not published 3.0 open weights; the local twin remains Wan 2.2 (--model wan-2.2).

CLI modelDefault API model
wan-apiwan2.6-t2v (also wan2.7-t2v, wan2.2-t2v-plus, wan2.6-i2v, …)
wan-3.0wan3.0-video (preview; T2V, first/last frame, document or webpage)

Wan 3.0 uses input.media[] (first_frame, last_frame, file, link) rather than Wan 2.x img_url. Official API: Wan 3.0 video generation. Access may be invitation / preview.

Environment​

export DASHSCOPE_API_KEY=...
# export WAN_API_BASE_URL=https://dashscope-intl.aliyuncs.com/api/v1
# China: https://dashscope.aliyuncs.com/api/v1
# Workspace: https://{WorkspaceId}.ap-southeast-1.maas.aliyuncs.com/api/v1

Same key as Qwen3.8 / Qwen-Image. Match region between the key, WAN_API_BASE_URL, and the model.

CLI​

opentryon video-generate --model wan-api \
--prompt "A fashion model walking a runway, soft light" \
--model-version wan2.6-t2v --duration 5 --resolution 720P

opentryon video-generate --model wan-api \
--image look.jpg --prompt "Subject turns" --model-version wan2.6-i2v

opentryon video-generate --model wan-3.0 \
--prompt "A kitten running on a rooftop under moonlight" \
--duration 5 --resolution 720P

opentryon video-generate --model wan-3.0 \
--image look.jpg --last-frame look-end.jpg \
--prompt "Subject turns toward camera" --duration 8

opentryon video-generate --model wan-3.0 \
--prompt "Turn this deck into a product film" \
--file https://example.com/lookbook.pptx --duration 10

Python​

from tryon.api.wan import WanVideoAdapter

adapter = WanVideoAdapter()
video = adapter.generate_text_to_video(
prompt="A kitten runs on the grass",
model="wan2.6-t2v",
duration=5,
resolution="720P",
)
open("out.mp4", "wb").write(video)

wan3 = adapter.generate_text_to_video(
prompt="A kitten running on a rooftop under moonlight",
model="wan3.0-video",
duration=5,
resolution="720P",
)
open("wan3.mp4", "wb").write(wan3)