alt.freeweights.video / Wan2.1-FLF2V-14B-720P
From: Wan-AI <huggingface.co/Wan-AI>Newsgroups: alt.freeweights.videoSubject:

Wan2.1-FLF2V-14B-720P

Date: 2026-11-14Commit: c8db168Signed: 2DC28CC7B26A283B ✓

Model with 16.4B parameters. Safetensors weights, 82.3 GB in all. Published by Wan-AI under Apache-2.0.

16.4B params82.3GBWan2.1-FLF2V-14B-720Psafetensorspermissive
FactsParams16.4BSize82.3 GBFormatssafetensorsTasknot taggedLicenseApache-2.0From sourcepermissive
$ fw get Wan-AI/Wan2.1-FLF2V-14B-720P
# manifest sha256 5f7f5c419c68… · 82.3 GB · 32 files
$ fw verify ./Wan2.1-FLF2V-14B-720P Wan-AI/Wan2.1-FLF2V-14B-720P
From sourceHosted (signed)Wan-AI/Wan2.1-FLF2V-14B-720PLast check: 2026-11-14 21:26 UTC

Get help: custom fine-tune or private deploy. We review your setup before we quote.

Works with

Runs with

Ranked by fit to this model (safetensors), then by GitHub stars.

Overview

Size
82.3 GB
Weights
65.6 GB (safetensors)
Parameters
16.4B
Formats
safetensors
Task
not tagged
License
Apache-2.0 (permissive)
Files
32, each with a sha256
Publisher
Wan-AI
Added
2026-11-14
Section
alt.freeweights.video
Lineage

Original release from the publisher.

Where these bytes come from
Publisher at the pinned commit→You

Sources are tried in order. A file counts only when its size and sha256 match the manifest. Sources are checked when you ask for them, not on a timer.

Sources
BadgeHostLast checkResult
From sourcehuggingface.co2026-11-14 21:26 UTCpassed

Model card

From the publisher at commit c8db168. Shown as plain text with links; images open at the publisher.

Wan2.1#

Image: image

💜 Wan &nbsp&nbsp | &nbsp&nbsp 🖥️ GitHub &nbsp&nbsp | &nbsp&nbsp🤗 Hugging Face&nbsp&nbsp | &nbsp&nbsp🤖 ModelScope&nbsp&nbsp | &nbsp&nbsp 📑 Technical Report &nbsp&nbsp | &nbsp&nbsp 📑 Blog &nbsp&nbsp | &nbsp&nbsp💬 WeChat Group&nbsp&nbsp | &nbsp&nbsp 📖 Discord&nbsp&nbsp


Wan: Open and Advanced Large-Scale Video Generative Models

In this repository, we present Wan2.1, a comprehensive and open suite of video foundation models that pushes the boundaries of video generation. Wan2.1 offers these key features:

  • 👍 SOTA Performance: Wan2.1 consistently outperforms existing open-source models and state-of-the-art commercial solutions across multiple benchmarks.
  • 👍 Supports Consumer-grade GPUs: The T2V-1.3B model requires only 8.19 GB VRAM, making it compatible with almost all consumer-grade GPUs. It can generate a 5-second 480P video on an RTX 4090 in about 4 minutes (without optimization techniques like quantization). Its performance is even comparable to some closed-source models.
  • 👍 Multiple Tasks: Wan2.1 excels in Text-to-Video, Image-to-Video, Video Editing, Text-to-Image, and Video-to-Audio, advancing the field of video generation.
  • 👍 Visual Text Generation: Wan2.1 is the first video model capable of generating both Chinese and English text, featuring robust text generation that enhances its practical applications.
  • 👍 Powerful Video VAE: Wan-VAE delivers exceptional efficiency and performance, encoding and decoding 1080P videos of any length while preserving temporal information, making it an ideal foundation for video and image generation.

Video Demos#

Your browser does not support the video tag.

🔥 Latest News!!#

  • Apr 17, 2025: 👋 We introduce Wan2.1 FLF2V with its inference code and weights!
  • Mar 21, 2025: 👋 We are excited to announce the release of the Wan2.1 technical report. We welcome discussions and feedback!
  • Mar 3, 2025: 👋 Wan2.1's T2V and I2V have been integrated into Diffusers (T2V | I2V). Feel free to give it a try!
  • Feb 27, 2025: 👋 Wan2.1 has been integrated into ComfyUI. Enjoy!
  • Feb 25, 2025: 👋 We've released the inference code and weights of Wan2.1.

Community Works#

If your work has improved Wan2.1 and you would like more people to see it, please inform us.

  • CFG-Zero enhances Wan2.1 (covering both T2V and I2V models) from the perspective of CFG.
  • TeaCache now supports Wan2.1 acceleration, capable of increasing speed by approximately 2x. Feel free to give it a try!
  • DiffSynth-Studio provides more support for Wan2.1, including video-to-video, FP8 quantization, VRAM optimization, LoRA training, and more. Please refer to their examples.

📑 Todo List#

  • Wan2.1 Text-to-Video
    • [x] Multi-GPU Inference code of the 14B and 1.3B models
    • [x] Checkpoints of the 14B and 1.3B models
    • [x] Gradio demo
    • [x] ComfyUI integration
    • [x] Diffusers integration
    • [ ] Diffusers + Multi-GPU Inference
  • Wan2.1 Image-to-Video
    • [x] Multi-GPU Inference code of the 14B model
    • [x] Checkpoints of the 14B model
    • [x] Gradio demo
    • [x] ComfyUI integration
    • [x] Diffusers integration
    • [ ] Diffusers + Multi-GPU Inference
  • Wan2.1 First-Last-Frame-to-Video
    • [x] Multi-GPU Inference code of the 14B model
    • [x] Checkpoints of the 14B model
    • [x] Gradio demo
    • [ ] ComfyUI integration
    • [ ] Diffusers integration
    • [ ] Diffusers + Multi-GPU Inference

Quickstart#

Installation#

Clone the repo:

git clone https://github.com/Wan-Video/Wan2.1.git
cd Wan2.1

Install dependencies:

# Ensure torch >= 2.4.0
pip install -r requirements.txt
Model Download#
ModelsDownload LinkNotes
T2V-14B🤗 Huggingface 🤖 ModelScopeSupports both 480P and 720P
I2V-14B-720P🤗 Huggingface 🤖 ModelScopeSupports 720P
I2V-14B-480P🤗 Huggingface 🤖 ModelScopeSupports 480P
T2V-1.3B🤗 Huggingface 🤖 ModelScopeSupports 480P
FLF2V-14B🤗 Huggingface 🤖 ModelScopeSupports 720P

💡Note: The 1.3B model is capable of generating videos at 720P resolution. However, due to limited training at this resolution, the results are generally less stable compared to 480P. For optimal performance, we recommend using 480P resolution. For the first-last frame to video generation, we train our model primarily on Chinese text-video pairs. Therefore, we recommend using Chinese prompt to achieve better results.

Download models using huggingface-cli:

pip install "huggingface_hub[cli]"
huggingface-cli download Wan-AI/Wan2.1-T2V-14B --local-dir ./Wan2.1-T2V-14B

Download models using modelscope-cli:

pip install modelscope
modelscope download Wan-AI/Wan2.1-T2V-14B --local_dir ./Wan2.1-T2V-14B
Run Text-to-Video Generation#

This repository supports two Text-to-Video models (1.3B and 14B) and two resolutions (480P and 720P). The parameters and configurations for these models are as follows:

| Task | Resolution | Model

| 480P | 720P

| t2v-14B | ✔️ | ✔️ | Wan2.1-T2V-14B

| t2v-1.3B | ✔️ | ❌ | Wan2.1-T2V-1.3B

(1) Without Prompt Extension#

To facilitate implementation, we will start with a basic version of the inference process that skips the prompt extension step.

  • Single-GPU inference
python generate.py  --task t2v-14B --size 1280*720 --ckpt_dir ./Wan2.1-T2V-14B --prompt "Two anthropomorphic cats in comfy boxing gear and bright gloves fight intensely on a spotlighted stage."

If you encounter OOM (Out-of-Memory) issues, you can use the --offload_model True and --t5_cpu options to reduce GPU memory usage. For example, on an RTX 4090 GPU:

python generate.py  --task t2v-1.3B --size 832*480 --ckpt_dir ./Wan2.1-T2V-1.3B --offload_model True --t5_cpu --sample_shift 8 --sample_guide_scale 6 --prompt "Two anthropomorphic cats in comfy boxing gear and bright gloves fight intensely on a spotlighted stage."

💡Note: If you are using the T2V-1.3B model, we recommend setting the parameter --sample_guide_scale 6. The --sample_shift parameter can be adjusted within the range of 8 to 12 based on the performance.

  • Multi-GPU inference using FSDP + xDiT USP We use FSDP and xDiT USP to accelerate inference.
    • Ulysess Strategy If you want to use Ulysses strategy, you should set --ulysses_size $GPU_NUMS. Note that the num_heads should be divisible by ulysses_size if you wish to use Ulysess strategy. For the 1.3B model, the num_heads is 12 which can't be divided by 8 (as most multi-GPU machines have 8 GPUs). Therefore, it is recommended to use Ring Strategy instead.
    • Ring Strategy If you want to use Ring strategy, you should set --ring_size $GPU_NUMS. Note that the sequence length should be divisible by ring_size when using the Ring strategy. Of course, you can also combine the use of Ulysses and Ring strategies.
pip install "xfuser>=0.4.1"
torchrun --nproc_per_node=8 generate.py --task t2v-14B --size 1280*720 --ckpt_dir ./Wan2.1-T2V-14B --dit_fsdp --t5_fsdp --ulysses_size 8 --prompt "Two anthropomorphic cats in comfy boxing gear and bright gloves fight intensely on a spotlighted stage."
(2) Using Prompt Extension#

Extending the prompts can effectively enrich the details in the generated videos, further enhancing the video quality. Therefore, we recommend enabling prompt extension. We provide the following two methods for prompt extension:

  • Use the Dashscope API for extension.
    • Apply for a dashscope.api_key in advance (EN | CN).
    • Configure the environment variable DASH_API_KEY to specify the Dashscope API key. For users of Alibaba Cloud's international site, you also need to set the environment variable DASH_API_URL to 'https://dashscope-intl.aliyuncs.com/api/v1'. For more detailed instructions, please refer to the dashscope document.
    • Use the qwen-plus model for text-to-video tasks and qwen-vl-max for image-to-video tasks.
    • You can modify the model used for extension with the parameter --prompt_extend_model. For example:
DASH_API_KEY=your_key python generate.py  --task t2v-14B --size 1280*720 --ckpt_dir ./Wan2.1-T2V-14B --prompt "Two anthropomorphic cats in comfy boxing gear and bright gloves fight intensely on a spotlighted stage" --use_prompt_extend --prompt_extend_method 'dashscope' --prompt_extend_target_lang 'zh'
  • Using a local model for extension.
    • By default, the Qwen model on HuggingFace is used for this extension. Users can choose Qwen models or other models based on the available GPU memory size.
    • For text-to-video tasks, you can use models like Qwen/Qwen2.5-14B-Instruct, Qwen/Qwen2.5-7B-Instruct and Qwen/Qwen2.5-3B-Instruct.
    • For image-to-video or first-last-frame-to-video tasks, you can use models like Qwen/Qwen2.5-VL-7B-Instruct and Qwen/Qwen2.5-VL-3B-Instruct.
    • Larger models generally provide better extension results but require more GPU memory.
    • You can modify the model used for extension with the parameter --prompt_extend_model , allowing you to specify either a local model path or a Hugging Face model. For example:
python generate.py  --task t2v-14B --size 1280*720 --ckpt_dir ./Wan2.1-T2V-14B --prompt "Two anthropomorphic cats in comfy boxing gear and bright gloves fight intensely on a spotlighted stage" --use_prompt_extend --prompt_extend_method 'local_qwen' --prompt_extend_target_lang 'zh'
(3) Running with Diffusers#

You can easily inference Wan2.1-T2V using Diffusers with the following command:

import torch
from diffusers.utils import export_to_video
from diffusers import AutoencoderKLWan, WanPipeline
from diffusers.schedulers.scheduling_unipc_multistep import UniPCMultistepScheduler

# Available models: Wan-AI/Wan2.1-T2V-14B-Diffusers, Wan-AI/Wan2.1-T2V-1.3B-Diffusers
model_id = "Wan-AI/Wan2.1-T2V-14B-Diffusers"
vae = AutoencoderKLWan.from_pretrained(model_id, subfolder="vae", torch_dtype=torch.float32)
flow_shift = 5.0 # 5.0 for 720P, 3.0 for 480P
scheduler = UniPCMultistepScheduler(prediction_type='flow_prediction', use_flow_sigmas=True, num_train_timesteps=1000, flow_shift=flow_shift)
pipe = WanPipeline.from_pretrained(model_id, vae=vae, torch_dtype=torch.bfloat16)
pipe.scheduler = scheduler
pipe.to("cuda")

prompt = "A cat and a dog baking a cake together in a kitchen. The cat is carefully measuring flour, while the dog is stirring the batter with a wooden spoon. The kitchen is cozy, with sunlight streaming through the window."
negative_prompt = "Bright tones, overexposed, static, blurred details, subtitles, style, works, paintings, images, static, overall gray, worst quality, low quality, JPEG compression residue, ugly, incomplete, extra fingers, poorly drawn hands, poorly drawn faces, deformed, disfigured, misshapen limbs, fused fingers, still picture, messy background, three legs, many people in the background, walking backwards"

output = pipe(
     prompt=prompt,
     negative_prompt=negative_prompt,
     height=720,
     width=1280,
     num_frames=81,
     guidance_scale=5.0,
    ).frames[0]
export_to_video(output, "output.mp4", fps=16)

💡Note: Please note that this example does not integrate Prompt Extension and distributed inference. We will soon update with the integrated prompt extension and multi-GPU version of Diffusers.

(4) Running local gradio#
cd gradio
# if one uses dashscope’s API for prompt extension
DASH_API_KEY=your_key python t2v_14B_singleGPU.py --prompt_extend_method 'dashscope' --ckpt_dir ./Wan2.1-T2V-14B

# if one uses a local model for prompt extension
python t2v_14B_singleGPU.py --prompt_extend_method 'local_qwen' --ckpt_dir ./Wan2.1-T2V-14B
Run Image-to-Video Generation#

Similar to Text-to-Video, Image-to-Video is also divided into processes with and without the prompt extension step. The specific parameters and their corresponding settings are as follows:

| Task | Resolution | Model

| 480P | 720P

| i2v-14B | ❌ | ✔️ | Wan2.1-I2V-14B-720P

| i2v-14B | ✔️ | ❌ | Wan2.1-T2V-14B-480P

(1) Without Prompt Extension#
  • Single-GPU inference
python generate.py --task i2v-14B --size 1280*720 --ckpt_dir ./Wan2.1-I2V-14B-720P --image examples/i2v_input.JPG --prompt "Summer beach vacation style, a white cat wearing sunglasses sits on a surfboard. The fluffy-furred feline gazes directly at the camera with a relaxed expression. Blurred beach scenery forms the background featuring crystal-clear waters, distant green hills, and a blue sky dotted with white clouds. The cat assumes a naturally relaxed posture, as if savoring the sea breeze and warm sunlight. A close-up shot highlights the feline's intricate details and the refreshing atmosphere of the seaside."

💡For the Image-to-Video task, the size parameter represents the area of the generated video, with the aspect ratio following that of the original input image.

  • Multi-GPU inference using FSDP + xDiT USP
pip install "xfuser>=0.4.1"
torchrun --nproc_per_node=8 generate.py --task i2v-14B --size 1280*720 --ckpt_dir ./Wan2.1-I2V-14B-720P --image examples/i2v_input.JPG --dit_fsdp --t5_fsdp --ulysses_size 8 --prompt "Summer beach vacation style, a white cat wearing sunglasses sits on a surfboard. The fluffy-furred feline gazes directly at the camera with a relaxed expression. Blurred beach scenery forms the background featuring crystal-clear waters, distant green hills, and a blue sky dotted with white clouds. The cat assumes a naturally relaxed posture, as if savoring the sea breeze and warm sunlight. A close-up shot highlights the feline's intricate details and the refreshing atmosphere of the seaside."
(2) Using Prompt Extension#

The process of prompt extension can be referenced here.

Run with local prompt extension using Qwen/Qwen2.5-VL-7B-Instruct:

python generate.py --task i2v-14B --size 1280*720 --ckpt_dir ./Wan2.1-I2V-14B-720P --image examples/i2v_input.JPG --use_prompt_extend --prompt_extend_model Qwen/Qwen2.5-VL-7B-Instruct --prompt "Summer beach vacation style, a white cat wearing sunglasses sits on a surfboard. The fluffy-furred feline gazes directly at the camera with a relaxed expression. Blurred beach scenery forms the background featuring crystal-clear waters, distant green hills, and a blue sky dotted with white clouds. The cat assumes a naturally relaxed posture, as if savoring the sea breeze and warm sunlight. A close-up shot highlights the feline's intricate details and the refreshing atmosphere of the seaside."

Run with remote prompt extension using dashscope:

DASH_API_KEY=your_key python generate.py --task i2v-14B --size 1280*720 --ckpt_dir ./Wan2.1-I2V-14B-720P --image examples/i2v_input.JPG --use_prompt_extend --prompt_extend_method 'dashscope' --prompt "Summer beach vacation style, a white cat wearing sunglasses sits on a surfboard. The fluffy-furred feline gazes directly at the camera with a relaxed expression. Blurred beach scenery forms the background featuring crystal-clear waters, distant green hills, and a blue sky dotted with white clouds. The cat assumes a naturally relaxed posture, as if savoring the sea breeze and warm sunlight. A close-up shot highlights the feline's intricate details and the refreshing atmosphere of the seaside."
(3) Running with Diffusers#

You can easily inference Wan2.1-I2V using Diffusers with the following command:

import torch
import numpy as np
from diffusers import AutoencoderKLWan, WanImageToVideoPipeline
from diffusers.utils import export_to_video, load_image
from transformers import CLIPVisionModel

# Available models: Wan-AI/Wan2.1-I2V-14B-480P-Diffusers, Wan-AI/Wan2.1-I2V-14B-720P-Diffusers
model_id = "Wan-AI/Wan2.1-I2V-14B-720P-Diffusers"
image_encoder = CLIPVisionModel.from_pretrained(model_id, subfolder="image_encoder", torch_dtype=torch.float32)
vae = AutoencoderKLWan.from_pretrained(model_id, subfolder="vae", torch_dtype=torch.float32)
pipe = WanImageToVideoPipeline.from_pretrained(model_id, vae=vae, image_encoder=image_encoder, torch_dtype=torch.bfloat16)
pipe.to("cuda")

image = load_image(
    "https://huggingface.co/datasets/huggingface/documentation-images/resolve/main/diffusers/astronaut.jpg"
)
max_area = 720 * 1280
aspect_ratio = image.height / image.width
mod_value = pipe.vae_scale_factor_spatial * pipe.transformer.config.patch_size[1]
height = round(np.sqrt(max_area * aspect_ratio)) // mod_value * mod_value
width = round(np.sqrt(max_area / aspect_ratio)) // mod_value * mod_value
image = image.resize((width, height))
prompt = (
    "An astronaut hatching from an egg, on the surface of the moon, the darkness and depth of space realised in "
    "the background. High quality, ultrarealistic detail and breath-taking movie-like camera shot."
)
negative_prompt = "Bright tones, overexposed, static, blurred details, subtitles, style, works, paintings, images, static, overall gray, worst quality, low quality, JPEG compression residue, ugly, incomplete, extra fingers, poorly drawn hands, poorly drawn faces, deformed, disfigured, misshapen limbs, fused fingers, still picture, messy background, three legs, many people in the background, walking backwards"

output = pipe(
    image=image,
    prompt=prompt,
    negative_prompt=negative_prompt,
    height=height, width=width,
    num_frames=81,
    guidance_scale=5.0
).frames[0]
export_to_video(output, "output.mp4", fps=16)

💡Note: Please note that this example does not integrate Prompt Extension and distributed inference. We will soon update with the integrated prompt extension and multi-GPU version of Diffusers.

(4) Running local gradio#
cd gradio
# if one only uses 480P model in gradio
DASH_API_KEY=your_key python i2v_14B_singleGPU.py --prompt_extend_method 'dashscope' --ckpt_dir_480p ./Wan2.1-I2V-14B-480P

# if one only uses 720P model in gradio
DASH_API_KEY=your_key python i2v_14B_singleGPU.py --prompt_extend_method 'dashscope' --ckpt_dir_720p ./Wan2.1-I2V-14B-720P

# if one uses both 480P and 720P models in gradio
DASH_API_KEY=your_key python i2v_14B_singleGPU.py --prompt_extend_method 'dashscope' --ckpt_dir_480p ./Wan2.1-I2V-14B-480P --ckpt_dir_720p ./Wan2.1-I2V-14B-720P
Run First-Last-Frame-to-Video Generation#

First-Last-Frame-to-Video is also divided into processes with and without the prompt extension step. Currently, only 720P is supported. The specific parameters and corresponding settings are as follows:

| Task | Resolution | Model

| 480P | 720P

| flf2v-14B | ❌ | ✔️ | Wan2.1-FLF2V-14B-720P

(1) Without Prompt Extension#
  • Single-GPU inference
python generate.py --task flf2v-14B --size 1280*720 --ckpt_dir ./Wan2.1-FLF2V-14B-720P --first_frame examples/flf2v_input_first_frame.png --last_frame examples/flf2v_input_last_frame.png --prompt "CG animation style, a small blue bird takes off from the ground, flapping its wings. The bird’s feathers are delicate, with a unique pattern on its chest. The background shows a blue sky with white clouds under bright sunshine. The camera follows the bird upward, capturing its flight and the vastness of the sky from a close-up, low-angle perspective."

💡Similar to Image-to-Video, the size parameter represents the area of the generated video, with the aspect ratio following that of the original input image.

  • Multi-GPU inference using FSDP + xDiT USP
pip install "xfuser>=0.4.1"
torchrun --nproc_per_node=8 generate.py --task flf2v-14B --size 1280*720 --ckpt_dir ./Wan2.1-FLF2V-14B-720P --first_frame examples/flf2v_input_first_frame.png --last_frame examples/flf2v_input_last_frame.png --dit_fsdp --t5_fsdp --ulysses_size 8 --prompt "CG animation style, a small blue bird takes off from the ground, flapping its wings. The bird’s feathers are delicate, with a unique pattern on its chest. The background shows a blue sky with white clouds under bright sunshine. The camera follows the bird upward, capturing its flight and the vastness of the sky from a close-up, low-angle perspective."
(2) Using Prompt Extension#

The process of prompt extension can be referenced here.

Run with local prompt extension using Qwen/Qwen2.5-VL-7B-Instruct:

python generate.py --task flf2v-14B --size 1280*720 --ckpt_dir ./Wan2.1-FLF2V-14B-720P --first_frame examples/flf2v_input_first_frame.png --last_frame examples/flf2v_input_last_frame.png --use_prompt_extend --prompt_extend_model Qwen/Qwen2.5-VL-7B-Instruct --prompt "CG animation style, a small blue bird takes off from the ground, flapping its wings. The bird’s feathers are delicate, with a unique pattern on its chest. The background shows a blue sky with white clouds under bright sunshine. The camera follows the bird upward, capturing its flight and the vastness of the sky from a close-up, low-angle perspective."

Run with remote prompt extension using dashscope:

DASH_API_KEY=your_key python generate.py --task flf2v-14B --size 1280*720 --ckpt_dir ./Wan2.1-FLF2V-14B-720P --first_frame examples/flf2v_input_first_frame.png --last_frame examples/flf2v_input_last_frame.png --use_prompt_extend --prompt_extend_method 'dashscope' --prompt "CG animation style, a small blue bird takes off from the ground, flapping its wings. The bird’s feathers are delicate, with a unique pattern on its chest. The background shows a blue sky with white clouds under bright sunshine. The camera follows the bird upward, capturing its flight and the vastness of the sky from a close-up, low-angle perspective."
(3) Running local gradio#
cd gradio
# use 720P model in gradio
DASH_API_KEY=your_key python flf2v_14B_singleGPU.py --prompt_extend_method 'dashscope' --ckpt_dir_720p ./Wan2.1-FLF2V-14B-720P
Run Text-to-Image Generation#

Wan2.1 is a unified model for both image and video generation. Since it was trained on both types of data, it can also generate images. The command for generating images is similar to video generation, as follows:

(1) Without Prompt Extension#
  • Single-GPU inference
python generate.py --task t2i-14B --size 1024*1024 --ckpt_dir ./Wan2.1-T2V-14B  --prompt '一个朴素端庄的美人'
  • Multi-GPU inference using FSDP + xDiT USP
torchrun --nproc_per_node=8 generate.py --dit_fsdp --t5_fsdp --ulysses_size 8 --base_seed 0 --frame_num 1 --task t2i-14B  --size 1024*1024 --prompt '一个朴素端庄的美人' --ckpt_dir ./Wan2.1-T2V-14B
(2) With Prompt Extention#
  • Single-GPU inference
python generate.py --task t2i-14B --size 1024*1024 --ckpt_dir ./Wan2.1-T2V-14B  --prompt '一个朴素端庄的美人' --use_prompt_extend
  • Multi-GPU inference using FSDP + xDiT USP
torchrun --nproc_per_node=8 generate.py --dit_fsdp --t5_fsdp --ulysses_size 8 --base_seed 0 --frame_num 1 --task t2i-14B  --size 1024*1024 --ckpt_dir ./Wan2.1-T2V-14B --prompt '一个朴素端庄的美人' --use_prompt_extend

Manual Evaluation#

(1) Text-to-Video Evaluation#

Through manual evaluation, the results generated after prompt extension are superior to those from both closed-source and open-source models.

Image: image

(2) Image-to-Video Evaluation#

We also conducted extensive manual evaluations to evaluate the performance of the Image-to-Video model, and the results are presented in the table below. The results clearly indicate that Wan2.1 outperforms both closed-source and open-source models.

Image: image

Computational Efficiency on Different GPUs#

We test the computational efficiency of different Wan2.1 models on different GPUs in the following table. The results are presented in the format: Total time (s) / peak GPU memory (GB).

Image: image

The parameter settings for the tests presented in this table are as follows: (1) For the 1.3B model on 8 GPUs, set --ring_size 8 and --ulysses_size 1; (2) For the 14B model on 1 GPU, use --offload_model True; (3) For the 1.3B model on a single 4090 GPU, set --offload_model True --t5_cpu; (4) For all testings, no prompt extension was applied, meaning --use_prompt_extend was not enabled.

💡Note: T2V-14B is slower than I2V-14B because the former samples 50 steps while the latter uses 40 steps.


Introduction of Wan2.1#

Wan2.1 is designed on the mainstream diffusion transformer paradigm, achieving significant advancements in generative capabilities through a series of innovations. These include our novel spatio-temporal variational autoencoder (VAE), scalable training strategies, large-scale data construction, and automated evaluation metrics. Collectively, these contributions enhance the model’s performance and versatility.

(1) 3D Variational Autoencoders#

We propose a novel 3D causal VAE architecture, termed Wan-VAE specifically designed for video generation. By combining multiple strategies, we improve spatio-temporal compression, reduce memory usage, and ensure temporal causality. Wan-VAE demonstrates significant advantages in performance efficiency compared to other open-source VAEs. Furthermore, our Wan-VAE can encode and decode unlimited-length 1080P videos without losing historical temporal information, making it particularly well-suited for video generation tasks.

Image: image

(2) Video Diffusion DiT#

Wan2.1 is designed using the Flow Matching framework within the paradigm of mainstream Diffusion Transformers. Our model's architecture uses the T5 Encoder to encode multilingual text input, with cross-attention in each transformer block embedding the text into the model structure. Additionally, we employ an MLP with a Linear layer and a SiLU layer to process the input time embeddings and predict six modulation parameters individually. This MLP is shared across all transformer blocks, with each block learning a distinct set of biases. Our experimental findings reveal a significant performance improvement with this approach at the same parameter scale.

Image: image

ModelDimensionInput DimensionOutput DimensionFeedforward DimensionFrequency DimensionNumber of HeadsNumber of Layers
1.3B1536161689602561230
14B51201616138242564040
Data#

We curated and deduplicated a candidate dataset comprising a vast amount of image and video data. During the data curation process, we designed a four-step data cleaning process, focusing on fundamental dimensions, visual quality and motion quality. Through the robust data processing pipeline, we can easily obtain high-quality, diverse, and large-scale training sets of images and videos.

Image: figure1

Comparisons to SOTA#

We compared Wan2.1 with leading open-source and closed-source models to evaluate the performance. Using our carefully designed set of 1,035 internal prompts, we tested across 14 major dimensions and 26 sub-dimensions. We then compute the total score by performing a weighted calculation on the scores of each dimension, utilizing weights derived from human preferences in the matching process. The detailed results are shown in the table below. These results demonstrate our model's superior performance compared to both open-source and closed-source models.

Image: figure1

Citation#

If you find our work helpful, please cite us.

@article{wan2025,
      title={Wan: Open and Advanced Large-Scale Video Generative Models}, 
      author={WanTeam and Ang Wang and Baole Ai and Bin Wen and Chaojie Mao and Chen-Wei Xie and Di Chen and Feiwu Yu and Haiming Zhao and Jianxiao Yang and Jianyuan Zeng and Jiayu Wang and Jingfeng Zhang and Jingren Zhou and Jinkai Wang and Jixuan Chen and Kai Zhu and Kang Zhao and Keyu Yan and Lianghua Huang and Mengyang Feng and Ningyi Zhang and Pandeng Li and Pingyu Wu and Ruihang Chu and Ruili Feng and Shiwei Zhang and Siyang Sun and Tao Fang and Tianxing Wang and Tianyi Gui and Tingyu Weng and Tong Shen and Wei Lin and Wei Wang and Wei Wang and Wenmeng Zhou and Wente Wang and Wenting Shen and Wenyuan Yu and Xianzhong Shi and Xiaoming Huang and Xin Xu and Yan Kou and Yangyu Lv and Yifei Li and Yijing Liu and Yiming Wang and Yingya Zhang and Yitong Huang and Yong Li and You Wu and Yu Liu and Yulin Pan and Yun Zheng and Yuntao Hong and Yupeng Shi and Yutong Feng and Zeyinzi Jiang and Zhen Han and Zhi-Fan Wu and Ziyu Liu},
      journal = {arXiv preprint arXiv:2503.20314},
      year={2025}
}

License Agreement#

The models in this repository are licensed under the Apache 2.0 License. We claim no rights over the your generated contents, granting you the freedom to use them while ensuring that your usage complies with the provisions of this license. You are fully accountable for your use of the models, which must not involve sharing any content that violates applicable laws, causes harm to individuals or groups, disseminates personal information intended for harm, spreads misinformation, or targets vulnerable populations. For a complete list of restrictions and details regarding your rights, please refer to the full text of the license.

Acknowledgements#

We would like to thank the contributors to the SD3, Qwen, umt5-xxl, diffusers and HuggingFace repositories, for their open research.

Contact Us#

If you would like to leave a message to our research or product teams, feel free to join our Discord or WeChat groups!

Files

32 files · 82.3 GBWeights 65.6 GB (safetensors). Sizes and sha256 from the signed manifest.
Show all 32 files with their sha256
FileSizesha256
.gitattributes2.20 KB3cef8f42237820f706addedbc045cc701a6d73488d3d1b10a0dd3441697951c3
README.md35.1 KB0cc234fd6d3b95bf0bce096be1f19cd5036e1373ec3eee68d0ed0c0605136de6
Wan2.1_VAE.pth508 MB38071ab59bd94681c686fa51d75a1968f64e470262043be31f7a094e442fd981
assets/comp_effic.png1.79 MBb0e225caffb4b31295ad150f95ee852e4c3dde4a00ac8f79a2ff500f2ce26b8d
assets/data_for_diff_stage.jpg528 KB59aec08409f2d46b0e640e4e120dc7cca52c08c3de56d026602dbcff1ebf241a
assets/i2v_res.png892 KB6823b3206d8d0cb18d3b5b949dec1217f1178109ba11f14e977b67e1f7b8a248
assets/logo.png56.3 KB96cddc0f667293436d0b9f92a299b6346b65b231d38ee49719a33d46c91fe1e3
assets/t2v_res.jpg301 KB91db579092446be2a834bc67721a8e4346936f38c4edb912f459ca3e10f8f439
assets/vben_1.3b_vs_sota.png516 KBb7705db79f2e1428ec7a1e6fff8c4fbde062fb95bb233516ddbd04b20007c845
assets/vben_vs_sota.png1.55 MB9a0e86ca85046d2675f97984b88b6e74df07bba8a62a31ab8a1aef50d4eda44e
assets/video_dit_arch.jpg643 KB195dceec6570289d8b01cc51d2e28a7786216f19de55b23978a52610d1646a66
assets/video_vae_res.jpg213 KBd8f9e7f7353848056a615c8ef35ab86ec22976bb46cb27405008b4089701945c
config.json252 B868e63fd59285624771cd90b49ec55a20c619d4dca3f2aea8bb42abb5adffcc7
diffusion_pytorch_model-00001-of-00007.safetensors9.95 GBc8644162efd3f6f7407daeff84f2e54f285cd3b2553e4c7282c0c7299c896df6
diffusion_pytorch_model-00002-of-00007.safetensors9.80 GB2d83b7c06f9a8f6bece0adbc5cc0976f6618232672d475ba96a4559f30297b4c
diffusion_pytorch_model-00003-of-00007.safetensors9.98 GB639cd888df76fda4e351de16c068f4feaf8165d4b60998bea60c9d9bd46a3635
diffusion_pytorch_model-00004-of-00007.safetensors9.98 GB233e26c807e334325efee1b9e449bc4a4eb8cbb4c98021549892ef1dbde729ea
diffusion_pytorch_model-00005-of-00007.safetensors9.90 GB37d447fb11df9f2ea5cf19210b97f724445c38e65cb097ada78be9dca3014762
diffusion_pytorch_model-00006-of-00007.safetensors9.90 GBfdb1682702f7af79fadd9a35707310d5e500195f247e663aa39fabf85b213458
diffusion_pytorch_model-00007-of-00007.safetensors6.08 GBc7a8b9e7c73e999a71ac3c6a0d21ed7cdd825292e557043240cb67555946f898
diffusion_pytorch_model.safetensors.index.json117 KB4eb8f95da77a48c68a9c7e6a6d7e29a492fe4930b8e8a093b4a853f8cf8f0b72
examples/i2v_input.JPG251 KB077e3d965090c9028c69c00931675f42e1acc815c6eb450ab291b3b72d211a8e
google/umt5-xxl/special_tokens_map.json6.62 KB7b8a9f5040adb67b5805abdfd42c1f8d0f3d0e711f10726580eb3789cd0ad61d
google/umt5-xxl/spiece.model4.55 MBe3909a67b780650b35cf529ac782ad2b6b26e6d1f849d3fbb6a872905f452458
google/umt5-xxl/tokenizer.json16.8 MB6e197b4d3dbd71da14b4eb255f4fa91c9c1f2068b20a2de2472967ca3d22602b
google/umt5-xxl/tokenizer_config.json61.7 KBed9a3a8b0faa71a70a32847e0435fe036e6e112d4df4edb7bb48a921e344dc05
models_clip_open-clip-xlm-roberta-large-vit-huge-14.pth4.77 GB628c9998b613391f193eb67ff68da9667d75f492911e4eb3decf23460a158c38
models_t5_umt5-xxl-enc-bf16.pth11.4 GB7cace0da2b446bbbbc57d031ab6cf163a3d59b366da94e5afe36745b746fd81d
xlm-roberta-large/sentencepiece.bpe.model5.07 MBcfc8146abe2a0488e9e2a0c56de7952f7c11ab059eca145a0a727afce0db2865
xlm-roberta-large/special_tokens_map.json280 B06e405a36dfe4b9604f484f6a1e619af1a7f7d09e34a8555eb0b77b66318067f
xlm-roberta-large/tokenizer.json17.1 MB62c24cdc13d4c9952d63718d6c9fa4c287974249e16b7ade6d5a85e7bbb75626
xlm-roberta-large/tokenizer_config.json418 Befb5c0d09722e5fe59a462cd2a9976ee216d55b037597d997cd3fe833216da15
VersionsEach time the pinned upstream commit or file list changed in this repo. Newest first.
Upstream commitDateContents
c8db168d95 pinned now manifest updated, same commit2026-11-14 21:26 UTC32 files · 82.3 GB
c8db168d952026-11-14 21:26 UTC32 files · 82.3 GB

Use it

$ fw get Wan-AI/Wan2.1-FLF2V-14B-720P
# manifest sha256 5f7f5c419c68… · 82.3 GB · 32 files
$ fw verify ./Wan2.1-FLF2V-14B-720P Wan-AI/Wan2.1-FLF2V-14B-720P
fw.pyChecks the signature and every sha256, tries each source in order, resumes.
$ python3 fw.py get https://freeweights.allternit.com/manifests/Wan-AI/Wan2.1-FLF2V-14B-720P.json --dir ./Wan2.1-FLF2V-14B-720P $ python3 fw.py verify ./Wan2.1-FLF2V-14B-720P ./Wan-AI__Wan2.1-FLF2V-14B-720P.json
hfThe Hugging Face CLI with one setting. Same repo id.
$ HF_ENDPOINT=https://freeweights.allternit.com hf download Wan-AI/Wan2.1-FLF2V-14B-720P --revision c8db168d95d3ebeb63430b3b6d264885cb8a0df3 --local-dir ./Wan2.1-FLF2V-14B-720P
Packaged for ComfyUI. Most image, video and music models run in ComfyUI . Check the publisher's page for the workflow. Freeweights does not host it.

License

Name
Apache License 2.0
Id
Apache-2.0
Class
Permissive
Redistribution
yes
Listing
Hosted (signed)
Decided
License as declared by the publisher. No person read it. 2026-11-14
Text in
README.md
Text sha256
0cc234fd6d3b95bf0bce096be1f19cd5036e1373ec3eee68d0ed0c0605136de6
Terms gate
No extra terms beyond the license.

Read the license text

Licenses are checked against the license table. A custom license passes only after a person reads it.

Provenance

From: Wan-AI <huggingface.co/Wan-AI>Newsgroups: alt.freeweights.videoSubject: Wan2.1-FLF2V-14B-720PDate: 2026-11-14Commit: c8db168Signed: 2DC28CC7B26A283B ✓
Upstream
Wan-AI/Wan2.1-FLF2V-14B-720P
Pinned commit
c8db168d95d3ebeb63430b3b6d264885cb8a0df3
Manifest
Wan2.1-FLF2V-14B-720P.json · .minisig
Manifest sha256
5f7f5c419c686642b59b48fc42dba4dff616db52867f3e722c9c63509fdb0461
Signature
minisign, Ed25519, key 2DC28CC7B26A283B
Created
2026-11-14 21:26 UTC
Generator
freeweights-manifest/0.1.0
Takedowns
None.

How to verify

$ curl -O https://freeweights.allternit.com/manifests/Wan-AI/Wan2.1-FLF2V-14B-720P.json $ curl -O https://freeweights.allternit.com/manifests/Wan-AI/Wan2.1-FLF2V-14B-720P.json.minisig $ minisign -Vm Wan2.1-FLF2V-14B-720P.json -P RWQ7KGqyx4zCLXtUFOqvfv8L3g+8fpKJ1FsuxPyOYMF+4KufbUxKq1Oq $ shasum -a 256 <file> # compare with the Files tab

A manifest whose signature fails must be rejected. A file whose size or sha256 does not match must be discarded. Verify a download

Model tree

No related models in this catalog.Nothing here lists this model as its parent, and it names no parent.
Get it
Download
$ HF_ENDPOINT=https://freeweights.allternit.com hf download Wan-AI/Wan2.1-FLF2V-14B-720P
Open in Freeweights Studio

Pull, verify and run it in the Allternit app on Desktop, web or phone.

Signed manifest
minisign, key 2DC28CC7B26A283B. Wan2.1-FLF2V-14B-720P.json. Provenance. Takedown history: none.
From: Comfy-Org <huggingface.co/Comfy-Org>Subject: Bernini-R
From: Comfy-Org <huggingface.co/Comfy-Org>Subject: Causal-Forcing-Framewise
From: Comfy-Org <huggingface.co/Comfy-Org>Subject: HuMo
From: bytedance-research <huggingface.co/bytedance-research>Subject: HuMo
From: genmo <huggingface.co/genmo>Subject: mochi-1-preview
From: Comfy-Org <huggingface.co/Comfy-Org>Subject: Mochi-Preview