Generates 480P videos from text prompts on consumer GPUs, with multilingual support, image-to-video, aspect ratio control, and audio integration features.
Use this file to discover all available pages before exploring further.
Try Wan2.1 1.3B - Text to Video in the Workbench
Run this model interactively, tune parameters, and compare outputs.
Model ID:wan-ai-wan2-1-t2v-1-3b-diffusersWan-AI/Wan2.1-T2V-1.3B-Diffusers is a text-to-video diffusion model. It excels in generating 480P videos from text prompts efficiently on consumer-grade GPUs, requiring only 8.19GB of VRAM, while maintaining competitive video quality.Some other noteworthy features of Wan-AI/Wan2.1-T2V-1.3B-Diffusers include multilingual support (English and Chinese), image-to-video conversion, aspect ratio control, visual text rendering inside videos, prompt enhancement, and the ability to add sound effects or background music to generated videos.
Metric
Value
Parameter Count
1.3 billion
Mixture of Experts
No
Context Length
Unknown
Multilingual
Yes
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-1-t2v-1-3b-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-1-t2v-1-3b-diffusers", "prompt": "A beautiful landscape painting of a serene lake with mountains in the background and an ox in the foreground.", "height": 480, "width": 640, "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-1-t2v-1-3b-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-1-t2v-1-3b-diffusers", "prompt": "A beautiful landscape painting of a serene lake with mountains in the background and an ox in the foreground.", "height": 480, "width": 640, "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-1-t2v-1-3b-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-1-t2v-1-3b-diffusers", "prompt": "A beautiful landscape painting of a serene lake with mountains in the background and an ox in the foreground.", "height": 480, "width": 640, "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 .