20% off all GPT 🎉 30% off DeepSeekLearn more

Wan 3.0 Prime

Video Generation
alibaba/wan-3.0-prime

Wan 3.0 Prime is the speed-optimized edition of Alibaba's Tongyi Wanxiang Wan 3.0, released on 2026-08-24, which substantially raises generation speed while holding on to 3.0's output quality. It keeps the same unified capability set: text-to-video, image-to-video (first frame or first-and-last frame), and reference-to-video in one model, with mixed text, image, video, and audio input. It outputs 480P, 720P, or 1080P clips of 2 to 30 seconds across six aspect ratios plus adaptive, and emits synchronized audio by default. Billed per second of output at a premium over Wan 3.0. Accessible via the OpenAI-compatible protocol.

Duration
2-30s
Audio
Supported
Released
2026-08-24
Generation Modes
t2vText to Videoi2vImage to Videov2vVideo to Video
Resolutions
480p720p1080p
Aspect Ratios
16:94:31:13:49:16adaptive
Capabilities
Video Input
Available Providers
Alibaba CloudAliyun
Supported Protocols
openai

Providers

Alibaba Cloudprovider.type: "alicloud"
From $0.064/s
ResolutionModeAudioPrice / Second
480pAnyAny$0.064/s
720pAnyAny$0.13/s
1080pAnyAny$0.26/s
All other combinations$0.26/s
Protocols
openai/v1/videos
Aliyunprovider.type: "aliyun"
From $0.064/s
ResolutionModeAudioPrice / Second
480pAnyAny$0.064/s
720pAnyAny$0.13/s
1080pAnyAny$0.26/s
All other combinations$0.26/s
Protocols
openai/v1/videos

Billed per second of generated video. Supported parameter combinations and prices are determined by the live API and may vary by model version.

Playground

Code Examples

import time
import requests
BASE = "https://api.ofox.run/v1/videos"
HEADERS = {"Authorization": "Bearer YOUR_OFOX_API_KEY"}
# Create the generation task
task = requests.post(BASE, headers=HEADERS, json={
"model": "alibaba/wan-3.0-prime",
"prompt": "A golden retriever running on the beach at sunset",
"duration": 2,
"resolution": "1080p",
"generate_audio": True,
"provider": {"type": "alicloud"},
# Or: "provider": {"type": "aliyun"}
}).json()
# Poll until the task reaches a terminal state
while True:
task = requests.get(f"{BASE}/{task['id']}", headers=HEADERS).json()
if task["status"] in ("completed", "failed", "cancelled", "expired"):
break
time.sleep(10)
# Prefer mirror_urls (persistent) then fall back to unsigned_urls (24h)
print((task.get("mirror_urls") or task.get("unsigned_urls") or [None])[0])

Frequently Asked Questions

Wan 3.0 Prime on Ofox.ai costs from $0.064 per second of generated video. The exact rate depends on resolution, generation mode, and audio. Pay-as-you-go, no monthly fees.