Delivers high-fidelity text-to-video synthesis at 480p/720p using dual expert models for scene layout and fine motion detail, ideal for creative production.
Use this file to discover all available pages before exploring further.
Try Wan2.2 A14B - Text to Video in the Workbench
Run this model interactively, tune parameters, and compare outputs.
Model ID:wan-ai-wan2-2-t2v-a14b-diffusersWan-AI/Wan2.2-T2V-A14B-Diffusers is a video generation model (diffusion-based) with a Mixture-of-Experts architecture, designed for high-quality text-to-video and image-to-video synthesis at 720P resolution and 24fps. It excels in generating high-definition videos with efficient resource usage, enabling professional-level output while maintaining practical hardware requirements (e.g., consumer-grade GPUs or single 80GB VRAM GPU).Some other noteworthy features of Wan-AI/Wan2.2-T2V-A14B-Diffusers include support for both academic research and industrial applications, and the ability to handle both text-to-video and image-to-video tasks within a unified framework.
Metric
Value
Parameter Count
27 billion (14 billion active per step)
Mixture of Experts
Yes
Active Parameter Count
14 billion
Context Length
Unknown
Multilingual
Unknown
Quantized*
No
*Quantization is specific to the inference provider and the model may be offered with different quantization levels by other providers.
Use the Workbench as a request builder: configure parameters for this model in the UI, then open the API tab to copy the exact cURL or Python call.
Sync
Async
Async with SSE
This blocks until the video is ready (typically 5-15 minutes). Prefer Async or Async with SSE for anything beyond quick experimentation.See the video generation reference for more details.
Minimal
All parameters
curl -X POST https://hub.oxen.ai/api/ai/videos/generate \ -H "Content-Type: application/json" \ -H "Authorization: Bearer $OXEN_API_KEY" \ -d '{ "model": "wan-ai-wan2-2-t2v-a14b-diffusers", "prompt": "A beautiful landscape painting of a serene lake with mountains in the background and an ox in the foreground."}'
curl -X POST https://hub.oxen.ai/api/ai/videos/generate \ -H "Content-Type: application/json" \ -H "Authorization: Bearer $OXEN_API_KEY" \ -d '{ "model": "wan-ai-wan2-2-t2v-a14b-diffusers", "prompt": "A beautiful landscape painting of a serene lake with mountains in the background and an ox in the foreground.", "height": 480, "width": 832, "negative_prompt": " ", "num_inference_steps": 4, "num_frames": 41, "guidance_scale": 5.0, "run_fast": true}'
# Enqueue, capture the generation id.GEN_ID=$(curl -s -X POST https://hub.oxen.ai/api/ai/queue \ -H "Content-Type: application/json" \ -H "Authorization: Bearer $OXEN_API_KEY" \ -d '{ "model": "wan-ai-wan2-2-t2v-a14b-diffusers", "prompt": "A beautiful landscape painting of a serene lake with mountains in the background and an ox in the foreground."}' | jq -r '.generations[0].generation_id')# Poll until the generation reaches a terminal status.while true; do STATUS=$(curl -s -H "Authorization: Bearer $OXEN_API_KEY" \ "https://hub.oxen.ai/api/ai/queue/$GEN_ID" | jq -r '.status') echo "Status: $STATUS" case $STATUS in succeeded|failed|cancelled) break;; esac sleep 5done# Print the result.curl -s -H "Authorization: Bearer $OXEN_API_KEY" \ "https://hub.oxen.ai/api/ai/queue/$GEN_ID" | jq .
# Enqueue, capture the generation id.GEN_ID=$(curl -s -X POST https://hub.oxen.ai/api/ai/queue \ -H "Content-Type: application/json" \ -H "Authorization: Bearer $OXEN_API_KEY" \ -d '{ "model": "wan-ai-wan2-2-t2v-a14b-diffusers", "prompt": "A beautiful landscape painting of a serene lake with mountains in the background and an ox in the foreground.", "height": 480, "width": 832, "negative_prompt": " ", "num_inference_steps": 4, "num_frames": 41, "guidance_scale": 5.0, "run_fast": true}' | jq -r '.generations[0].generation_id')# Poll until the generation reaches a terminal status.while true; do STATUS=$(curl -s -H "Authorization: Bearer $OXEN_API_KEY" \ "https://hub.oxen.ai/api/ai/queue/$GEN_ID" | jq -r '.status') echo "Status: $STATUS" case $STATUS in succeeded|failed|cancelled) break;; esac sleep 5done# Print the result.curl -s -H "Authorization: Bearer $OXEN_API_KEY" \ "https://hub.oxen.ai/api/ai/queue/$GEN_ID" | jq .
# Enqueue, capture the generation id.GEN_ID=$(curl -s -X POST https://hub.oxen.ai/api/ai/queue \ -H "Content-Type: application/json" \ -H "Authorization: Bearer $OXEN_API_KEY" \ -d '{ "model": "wan-ai-wan2-2-t2v-a14b-diffusers", "prompt": "A beautiful landscape painting of a serene lake with mountains in the background and an ox in the foreground."}' | jq -r '.generations[0].generation_id')# Stream the SSE channel, grab the data line that follows a# media_generation_completed event for our id, and pretty-print it.curl -sN -H "Authorization: Bearer $OXEN_API_KEY" https://hub.oxen.ai/api/events \ | awk -v id="$GEN_ID" ' /^event: media_generation_completed$/ { expect=1; next } /^data: / && expect { payload = substr($0, 7) if (index(payload, "\"generation_id\":\"" id "\"")) { print payload; exit } expect = 0 } ' | jq .
# Enqueue, capture the generation id.GEN_ID=$(curl -s -X POST https://hub.oxen.ai/api/ai/queue \ -H "Content-Type: application/json" \ -H "Authorization: Bearer $OXEN_API_KEY" \ -d '{ "model": "wan-ai-wan2-2-t2v-a14b-diffusers", "prompt": "A beautiful landscape painting of a serene lake with mountains in the background and an ox in the foreground.", "height": 480, "width": 832, "negative_prompt": " ", "num_inference_steps": 4, "num_frames": 41, "guidance_scale": 5.0, "run_fast": true}' | jq -r '.generations[0].generation_id')# Stream the SSE channel, grab the data line that follows a# media_generation_completed event for our id, and pretty-print it.curl -sN -H "Authorization: Bearer $OXEN_API_KEY" https://hub.oxen.ai/api/events \ | awk -v id="$GEN_ID" ' /^event: media_generation_completed$/ { expect=1; next } /^data: / && expect { payload = substr($0, 7) if (index(payload, "\"generation_id\":\"" id "\"")) { print payload; exit } expect = 0 } ' | jq .