Alibaba WAN 2.5
alibaba/wan-2.5/text-to-video
Alibaba WAN 2.5 delivers high-fidelity text and image-to-video generation from 480p up to 1080p, featuring seamlessly synced audio. Faster and more cost-efficient than Google Veo 3, it offers a ready-to-use REST inference API with peak performance and zero cold starts. Achieve professional-grade video production with industry-leading speed and pricing.
Examples
Parameters
| Name | Type | Default | Constraints | Description |
|---|---|---|---|---|
| prompt *Prompt | textarea | — | ≤ 5000 chars | The positive prompt for the generation. |
| negative_promptNegative Prompt | textarea | — | ≤ 5000 chars | The negative prompt for the generation. |
| audioAudio url | audio_upload | — | — | Audio URL to guide generation (optional). |
| sizeSize | select | 1920*1080 | 1920*1080 | 1080*1920 | 1440*1440 | 1632*1248 | 1248*1632 | 1280*720 | 720*1280 | 960*960 | … | The size of the generated media in pixels (width*height). |
| durationDuration | select | 5 | 5 | 10 | 15 | The duration of the generated media in seconds. |
| prompt_extendEnable Prompt Expansion | boolean | false | — | If set to true, the prompt optimizer will be enabled. |
| seedSeed | number | -1 | — | The random seed to use for the generation. -1 means a random seed will be used. |
API
Call this model through one unified REST API. Get a key on the API Keys page.
cURL
# 1) Submit — returns { "task_uuid": "..." }
curl -X POST "https://www.namifusion.com/api/v1/marketplace/run/alibaba/wan-2.5/text-to-video" \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"input": {
"prompt": "A serene sunset over a calm ocean with gentle waves and a silhouetted sailboat on the horizon.",
"negative_prompt": "crowded beach, noisy environment, stormy weather",
"size": "1920*1080",
"duration": 10,
"prompt_extend": true,
"seed": 42
}
}'
# 2) Poll until status is "completed", then read the output URLs
curl "https://www.namifusion.com/api/v1/marketplace/run/tasks/TASK_UUID" \
-H "Authorization: Bearer YOUR_API_KEY"Python
import time, requests
API_KEY = "YOUR_API_KEY"
HEADERS = {"Authorization": f"Bearer {API_KEY}"}
# 1) Submit
resp = requests.post(
"https://www.namifusion.com/api/v1/marketplace/run/alibaba/wan-2.5/text-to-video",
headers=HEADERS,
json={
"input": {
"prompt": "A serene sunset over a calm ocean with gentle waves and a silhouetted sailboat on the horizon.",
"negative_prompt": "crowded beach, noisy environment, stormy weather",
"size": "1920*1080",
"duration": 10,
"prompt_extend": True,
"seed": 42
}
},
)
resp.raise_for_status() # 401/402/429/5xx stop here instead of polling a bad task
task = resp.json()
# 2) Poll until a terminal state (completed / failed / cancelled).
# This model is allowed up to 300s server-side.
deadline = time.time() + 360
while task.get("status") not in ("completed", "failed", "cancelled"):
if time.time() > deadline:
raise TimeoutError(f"still {task.get('status')} — keep the task_uuid and poll later")
time.sleep(3)
poll = requests.get(f"https://www.namifusion.com/api/v1/marketplace/run/tasks/{task['task_uuid']}", headers=HEADERS)
poll.raise_for_status()
task = poll.json()
print(task["status"], task.get("output"))JavaScript
const API_KEY = "YOUR_API_KEY";
const HEADERS = { Authorization: `Bearer ${API_KEY}` };
// 1) Submit
const resp = await fetch("https://www.namifusion.com/api/v1/marketplace/run/alibaba/wan-2.5/text-to-video", {
method: "POST",
headers: { ...HEADERS, "Content-Type": "application/json" },
body: JSON.stringify({
"input": {
"prompt": "A serene sunset over a calm ocean with gentle waves and a silhouetted sailboat on the horizon.",
"negative_prompt": "crowded beach, noisy environment, stormy weather",
"size": "1920*1080",
"duration": 10,
"prompt_extend": true,
"seed": 42
}
}),
});
if (!resp.ok) throw new Error(`submit failed: ${resp.status} ${await resp.text()}`);
let task = await resp.json();
// 2) Poll until a terminal state (completed / failed / cancelled).
// This model is allowed up to 300s server-side.
const deadline = Date.now() + 360 * 1000;
while (!["completed", "failed", "cancelled"].includes(task.status)) {
if (Date.now() > deadline) throw new Error(`still ${task.status} — keep the task_uuid and poll later`);
await new Promise((r) => setTimeout(r, 3000));
const poll = await fetch(`https://www.namifusion.com/api/v1/marketplace/run/tasks/${task.task_uuid}`, { headers: HEADERS });
if (!poll.ok) throw new Error(`poll failed: ${poll.status}`);
task = await poll.json();
}
console.log(task.status, task.output);Documentation
WAN 2.5 Text-to-Video
Generate cinematic videos directly from text prompts.
WAN 2.5 Text-to-Video is a next-generation AI video generation model designed to transform natural language prompts into dynamic video clips. Compared with earlier WAN models, it delivers improved motion realism, stronger scene understanding, and higher temporal consistency across frames. The model enables creators and developers to generate cinematic short videos from text descriptions through a scalable, production-ready REST inference API.
🚀 Key Features
- Text-to-Video Generation: Convert natural language prompts into dynamic video clips with coherent scenes and motion.
- Enhanced Motion Quality: WAN 2.5 produces smoother and more realistic motion between frames.
- Improved Scene Understanding: The model better interprets complex prompts and generates visually consistent environments.
- Multi-Resolution Output: Generate videos in different resolutions depending on production needs.
- Production-Ready API: Easily integrate video generation into creative pipelines, applications, and automated workflows.
🛠️ How It Works
| Parameter | Details |
|---|---|
| Input | Text Prompt |
| Output | Generated Video (MP4) |
| Resolution Options | 480p, 720p, 1080p |
| Clip Duration | Typically 5 seconds per generation |
| Seed | Default: -1 (random) |
Generation Capabilities:
- Scene Creation: "A futuristic city skyline with flying cars at sunset."
- Character Motion: "A young woman walking slowly through a neon-lit street."
- Product Visualization: "A luxury watch rotating on a reflective black surface."
- Cinematic Effects: "Slow-motion waves crashing against dramatic cliffs."
💰 Pricing
| Resolution | Price (USD/sec) |
|---|---|
| 480p | $0.05 |
| 720p | $0.10 |
| 1080p | $0.15 |
💡 Best Use Cases
- Social Media Content: Create engaging short videos for TikTok, Instagram, or YouTube Shorts.
- Marketing & Advertising: Generate promotional video concepts quickly from simple prompts.
- Creative Storyboarding: Visualize scenes and ideas before full production.
- AI Content Pipelines: Integrate automated video generation into large-scale media production workflows.
🔗 Related Models
- Need to generate videos from images? Try WAN 2.5 Image-to-Video.
- Need simpler video generation? Try WAN 2.2 Text-to-Video Plus.
- Need to extend existing video clips? Try WAN Spicy Video Extend.
Note: Generation quality depends on prompt clarity and scene complexity. Detailed prompts describing motion, subjects, and environments typically produce better results.
Related models
xAI Grok Imagine Video v1.5 Text to Video
Generate 1-15 second videos from text prompts at 480p, 720p, or 1080p.
MiniMax H3 Text to Video
MiniMax H3 Text to Video generates coherent 2K videos from text prompts, with flexible 4-15 second duration and six selectable aspect ratios for cinematic scenes, creative videos, and production workflows. Ready-to-use REST inference API, best performance, no coldstarts, affordable pricing.
Kling Omni Video O3 Standard Text-To-Video
Kling Omni Video O3 is Kuaishou's advanced unified multi-modal video model with MVL (Multi-modal Visual Language) technology. Text-to-Video mode generates cinematic videos from text prompts with subject consistency, natural physics simulation, and precise semantic understanding. Supports audio generation. Ready-to-use REST API, best performance, no coldstarts, affordable pricing.
Kling Omni Video O1 Text-To-Video
Kling Omni Video O1 is Kuaishou's first unified multi-modal video model with MVL (Multi-modal Visual Language) technology. Text-to-Video mode generates cinematic videos from text prompts with subject consistency, natural physics simulation, and precise semantic understanding. Ready-to-use REST API, best performance, no coldstarts, affordable pricing.
Kling 3.0
Kling 3.0 delivers high-quality text-to-video generation with smooth motion, cinematic visuals, accurate prompt adherence, and native audio for ready-to-share clips. Ready-to-use REST inference API, best performance, no cold starts, affordable pricing.
Kling V2.6 Text to Video API
Kling 2.6 delivers top-tier text-to-video generation with smooth motion, cinematic visuals, strong prompt adherence, and native audio for ready-to-share clips. Ready-to-use REST inference API, best performance, no cold starts, affordable pricing.
Gemini Omni Flash Text to Video API
Gemini Omni Flash Text to Video creates short AI videos with synchronized audio from text prompts, combining visual generation and audio output for fast multimodal video creation. Ready-to-use REST inference API, best performance, no coldstarts, affordable pricing.
Seedance 2.0 Mini Text to Video
Seedance 2.0 Mini Text to Video is ByteDance's faster, lower-cost text-to-video model for cinematic multi-shot videos. It generates narrative sequences from text prompts with AI camera control, consistent characters across scenes, 480P / 720P / 1080P / 4K output, 4-15s duration, and flexible aspect ratios. Ready-to-use REST inference API, best performance, no coldstarts, affordable pricing.