Wan 2.1 API

Alibaba's Wan 2.1 video model with turbo and plus tiers for text-to-video, image-to-video, and first and last frame clips at 480p or 720p.

Alibaba CloudVideo GenerationReleased Feb 25, 2025SingaporeProprietary Endpoint

About Wan 2.1

Alibaba's Wan 2.1 video model with turbo and plus tiers for text-to-video, image-to-video, and first and last frame clips at 480p or 720p.

Also known as Alibaba Cloud Wan 2.1

text to videoimage to video

Wan 2.1 specs

Model ID
wan-2-1
Provider
Alibaba Cloud
Category
Video Generation
Released
Feb 25, 2025
Input
TextImage
Output
Video
Region
Singapore
Endpoints
POST/v1/videos/generations
Alternate model IDs
alibaba/wan-2.1wan2.1

Wan 2.1 API pricing

Live pay-as-you-go rates from the EmpirioLabs catalog. You are billed only for what you use, with no monthly minimum.

Type
Spec
Rate
Turbo
per second
$0.036
Plus
per second
$0.10
Compare on the full pricing page

How to call the Wan 2.1 API

Wan 2.1 runs through POST /v1/videos/generations. The request returns a job_id right away; poll GET /v1/jobs/{job_id} until the job completes and read the output URLs from the result. Get an API key from the EmpirioLabs dashboard.

cURL: submit the job
curl https://api.empiriolabs.ai/v1/videos/generations \
  -H "Authorization: Bearer $EMPIRIOLABS_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "wan-2-1",
    "prompt": "Describe what you want Wan 2.1 to generate."
  }'
cURL: poll for the result
curl https://api.empiriolabs.ai/v1/jobs/JOB_ID \
  -H "Authorization: Bearer $EMPIRIOLABS_API_KEY"
Python
import requests

response = requests.post(
    "https://api.empiriolabs.ai/v1/videos/generations",
    headers={"Authorization": "Bearer YOUR_EMPIRIOLABS_API_KEY"},
    json={
        "model": "wan-2-1",
        "prompt": "Describe what you want Wan 2.1 to generate.",
    },
)
job = response.json()

# Generation runs as an async job. Poll until it completes.
import time
while True:
    status = requests.get(
        f"https://api.empiriolabs.ai/v1/jobs/{job['job_id']}",
        headers={"Authorization": "Bearer YOUR_EMPIRIOLABS_API_KEY"},
    ).json()
    if status.get("status") in ("completed", "failed"):
        print(status)
        break
    time.sleep(5)
Full Wan 2.1 API reference

Wan 2.1 API parameters

Request parameters supported by the Wan 2.1 API on EmpirioLabs. Defaults apply when a field is omitted.

ParameterTypeDefaultRange / valuesDescription
promptstring--Scene description.
modeenumautoauto, t2v, i2v, kf2vAuto detects from attachments. t2v: text-to-video. i2v: animate one image. kf2v: interpolate between a first and last frame (two images).
model_tierenumturboturbo, plusturbo: faster and cheaper, 480p or 720p. plus: higher fidelity, 720p only. First-last frame always uses plus.
resolutionenum720p480p, 720p480p is turbo-only.
aspect_ratioenum16:916:9, 9:16, 1:1, 4:3, 3:4Used for text-to-video; image modes follow the source image. 480p supports 16:9, 9:16, and 1:1 only.
imagestring--Source image URL. i2v uses one image; kf2v uses two (first and last frame).
durationnumber53 to 5Clip length in seconds. Only turbo i2v supports 3 to 5; every other mode renders 5.
negative_promptstring--What to avoid.
seednumber--Reproducibility seed.
prompt_extendbooleantrue-Let the service rewrite the prompt for better results.
watermarkbooleanfalse-Add a provenance watermark to the output.

Good to know

Clips render about 5 seconds without audio; turbo image-to-video supports 3 to 5 seconds. Turbo outputs 480p or 720p, plus outputs 720p. Two attached images run first and last frame interpolation on the plus tier.

Wan 2.1 API: common questions

How much does the Wan 2.1 API cost?

On EmpirioLabs, Wan 2.1 is billed pay as you go: Turbo $0.036 per second; Plus $0.10 per second. The live rate card on this page always matches what the API charges.

Which endpoint does Wan 2.1 use?

Wan 2.1 is served through POST /v1/videos/generations on api.empiriolabs.ai with standard bearer-token authentication.

Can I try Wan 2.1 in the browser before integrating?

Yes. The EmpirioLabs playground runs Wan 2.1 in the browser with the same parameters the API exposes, so you can test prompts before writing code.

How do I get a Wan 2.1 API key?

Create an EmpirioLabs account, then generate a key under API Keys in the dashboard. Billing is pay-as-you-go credits, so you only pay for the requests you make.

Ready to use better endpoints?

Check out our pricing or reach out if you want your own model deployed on our stack.