Unified text-to-video and image-to-video model generates high-definition 720p, 24fps video clips efficiently on consumer GPUs, with advanced compression for…
Use this file to discover all available pages before exploring further.
Try Wan2.2 5B - Text to Video in the Workbench
Run this model interactively, tune parameters, and compare outputs.
Model ID:wan-ai-wan2-2-ti2v-5b-diffusersWan-AI/Wan2.2-TI2V-5B-Diffusers is a video generation model that supports both text-to-video and image-to-video synthesis at 720P resolution and 24fps. It excels in efficient high-definition video generation on consumer-grade GPUs, balancing speed, quality, and resource consumption, making it suitable for both industrial and academic applications.Some other noteworthy features of Wan-AI/Wan2.2-TI2V-5B-Diffusers include support for unified text-to-video and image-to-video tasks within a single framework, as well as a high-compression VAE architecture that enables fast generation of five-second 720P videos in under nine minutes on typical hardware.
Metric
Value
Parameter Count
5 billion
Mixture of Experts
No
Context Length
Unknown
Multilingual
No
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-ti2v-5b-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-ti2v-5b-diffusers", "prompt": "A beautiful landscape painting of a serene lake with mountains in the background and an ox in the foreground.", "height": 720, "width": 1280, "negative_prompt": " ", "num_inference_steps": 30, "num_frames": 81, "guidance_scale": 5.0}'
# 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-ti2v-5b-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-ti2v-5b-diffusers", "prompt": "A beautiful landscape painting of a serene lake with mountains in the background and an ox in the foreground.", "height": 720, "width": 1280, "negative_prompt": " ", "num_inference_steps": 30, "num_frames": 81, "guidance_scale": 5.0}' | 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-ti2v-5b-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-ti2v-5b-diffusers", "prompt": "A beautiful landscape painting of a serene lake with mountains in the background and an ox in the foreground.", "height": 720, "width": 1280, "negative_prompt": " ", "num_inference_steps": 30, "num_frames": 81, "guidance_scale": 5.0}' | 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 .