Skip to content
RU

Wan 3.0

Wan 3.0 (alibaba/wan-3.0) is a video generation model from Alibaba for text-to-video, image-to-video, and reference-guided video generation. It produces 480p, 720p, or 1080p video with durations from 2 to 30 seconds. The fast mode with the same geometry is Wan 3.0 Prime (alibaba/wan-3.0-prime): text-to-video and first-frame image-to-video. Generation is asynchronous: POST /v1/videos returns a job, then you poll the status and download the mp4.

Field Description
model alibaba/wan-3.0 (or the short wan-3.0) or alibaba/wan-3.0-prime
prompt Scene description, required
seconds Any integer from 2 to 30; defaults to 2
size A WxH size from the table below; defaults to 1280x720
input_reference Image-to-video: one image as the starting frame, {"image_url": "data:image/...;base64,..."}
input_references Reference-to-video: 2 to 9 images as an array, also data: URLs only
seed Reproducibility seed: an integer in 0…2147483647. The same prompt with the same seed yields the same clip; without it the upstream picks a random one

Fifteen allowed sizes — five aspect ratios at three resolutions:

Aspect 480p 720p 1080p
16:9 852x480 1280x720 1920x1080
9:16 480x852 720x1280 1080x1920
1:1 480x480 720x720 1080x1080
4:3 640x480 960x720 1440x1080
3:4 480x640 720x960 1080x1440

A value outside the list returns 400 with the allowed options listed — check the sizes field in the catalog when in doubt.

import requests
job = requests.post(
"https://api.mixen.ai/v1/videos",
headers={"Authorization": f"Bearer {API_KEY}"},
json={
"model": "alibaba/wan-3.0",
"prompt": "A metro train emerges from a tunnel onto a bridge, the city waking up, a long tracking shot",
"seconds": "12",
"size": "1280x720",
},
).json()
print(job["id"], job["status"])

The image goes in as a single data: URL — external links are not accepted:

import base64
import requests
with open("street.jpg", "rb") as f:
img = "data:image/jpeg;base64," + base64.b64encode(f.read()).decode()
job = requests.post(
"https://api.mixen.ai/v1/videos",
headers={"Authorization": f"Bearer {API_KEY}"},
json={
"model": "alibaba/wan-3.0",
"prompt": "The camera drifts along the street as passers-by start moving, soft morning light",
"seconds": "8",
"size": "1280x720",
"input_reference": {"image_url": img},
},
).json()
print(job["id"], job["status"])

Two to nine references — the model assembles the scene while keeping the characters and style of the inputs:

{
"model": "alibaba/wan-3.0",
"prompt": "The hero from the first frame walks down the alley from the second, neon signs",
"seconds": "6",
"size": "1280x720",
"input_references": [
"data:image/png;base64,iVBORw0...",
"data:image/png;base64,iVBORw0..."
]
}

From there it is the usual loop: GET /v1/videos/{id} every 5–10 seconds until completed, then GET /v1/videos/{id}/content for the mp4. Full cycle — video guide.

Billing is per second and depends on the resolution. Wan 3.0: 480p — 6.6846 ₽ ($0.075) per second, 720p — 13.3693 ₽ ($0.15), 1080p — 26.7386 ₽ ($0.3). Wan 3.0 Prime: 480p — 9.0911 ₽ ($0.102), 720p — 18.717 ₽ ($0.21), 1080p — 37.434 ₽ ($0.42). You are charged actual duration × the size’s rate. Current prices — catalog.

  • Durations from 2 to 30 seconds — a continuous range: both short inserts and long takes from one model.
  • Five frame formats at three resolutions up to 1080p.
  • Three inputs: text, a starting frame, and 2–9 references; Prime’s primary scenario is text and the first frame.
  • Prime is the fast mode: the same geometry and durations at a higher rate, for when the clip is needed sooner.
  • The first-to-last frame transition is not supported — only the starting frame can be passed.
  • The tiers differ only in price and speed — parameters, sizes, and references are shared.

All models — in the catalog. The general video workflow — video guide.