
Alibaba's Wan 2.5 video model with text-to-video and image-to-video, native audio, optional custom audio tracks, and 480p to 1080p output.
Alibaba's Wan 2.5 video model with text-to-video and image-to-video, native audio, optional custom audio tracks, and 480p to 1080p output.
Also known as Alibaba Cloud Wan 2.5
wan-2-5/v1/videos/generationsalibaba/wan-2.5wan2.5Live pay-as-you-go rates from the EmpirioLabs catalog. You are billed only for what you use, with no monthly minimum.
Wan 2.5 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 https://api.empiriolabs.ai/v1/videos/generations \
-H "Authorization: Bearer $EMPIRIOLABS_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "wan-2-5",
"prompt": "Describe what you want Wan 2.5 to generate."
}'curl https://api.empiriolabs.ai/v1/jobs/JOB_ID \
-H "Authorization: Bearer $EMPIRIOLABS_API_KEY"import requests
response = requests.post(
"https://api.empiriolabs.ai/v1/videos/generations",
headers={"Authorization": "Bearer YOUR_EMPIRIOLABS_API_KEY"},
json={
"model": "wan-2-5",
"prompt": "Describe what you want Wan 2.5 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)Request parameters supported by the Wan 2.5 API on EmpirioLabs. Defaults apply when a field is omitted.
| Parameter | Type | Default | Range / values | Description |
|---|---|---|---|---|
| prompt | string | - | - | Scene description. |
| mode | enum | auto | auto, t2v, i2v | Auto detects from attachments. t2v: text-to-video. i2v: animate one image. |
| resolution | enum | 1080p | 480p, 720p, 1080p | Output resolution. |
| duration | number | 5 | 5 to 10 | Clip length in seconds. Only 5 or 10 are valid. |
| aspect_ratio | enum | 16:9 | 16:9, 9:16, 1:1, 4:3, 3:4 | Used for text-to-video; image-to-video follows the source image. 480p supports 16:9, 9:16, and 1:1 only. |
| image | string | - | - | Source image URL for i2v. |
| audio_url | string | - | - | Optional custom audio track URL (WAV or MP3, about 3 to 30 seconds). Without it the model generates native audio. |
| negative_prompt | string | - | - | What to avoid. |
| seed | number | - | - | Reproducibility seed. |
| prompt_extend | boolean | true | - | Let the service rewrite the prompt for better results. |
| watermark | boolean | false | - | Add a provenance watermark to the output. |
Modes: text-to-video and image-to-video with native audio, or supply audio_url for a custom track (WAV or MP3, about 3 to 30 seconds). Durations are 5 or 10 seconds. 480p output supports 16:9, 9:16, and 1:1.
On EmpirioLabs, Wan 2.5 is billed pay as you go: 480P $0.05 per second; 720P $0.10 per second; 1080P $0.15 per second. The live rate card on this page always matches what the API charges.
Wan 2.5 is served through POST /v1/videos/generations on api.empiriolabs.ai with standard bearer-token authentication.
Yes. The EmpirioLabs playground runs Wan 2.5 in the browser with the same parameters the API exposes, so you can test prompts before writing code.
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.
Check out our pricing or reach out if you want your own model deployed on our stack.