The project's README from github.com/Tencent-Hunyuan/HunyuanVideo-1.5. As one markdown file: README.md.
HunyuanVideo-1.5 is a video generation model that delivers top-tier quality with only 8.3B parameters, significantly lowering the barrier to usage. It runs smoothly on consumer-grade GPUs, making it accessible for every developer and creator. This repository provides the implementation and tools needed to generate creative videos.
👏 Join our WeChat and Discord | 💻 Official website Try our model!
generate.py with the --enable_step_distill parameter. See Usage for detailed usage instructions. 🔥🔥🔥🆕train.py) provides a full training pipeline with support for distributed training, FSDP, context parallel, gradient checkpointing, and more. HunyuanVideo-1.5 is trained using the Muon optimizer, which we have open-sourced in the Training section. If you would like to continue training our model or fine-tune it with LoRA, please use the Muon optimizer. See Training section for detailed usage instructions. 🔥🔥🔥🆕If you develop/use HunyuanVideo-1.5 in your projects, welcome to let us know.
Diffusers - HunyuanVideo-1.5 Diffusers: Official Hugging Face Diffusers integration for HunyuanVideo-1.5. Easily use HunyuanVideo-1.5 with the Diffusers library for seamless integration into your projects. See Usage with Diffusers section for details.
ComfyUI - ComfyUI: A powerful and modular diffusion model GUI with a graph/nodes interface. ComfyUI supports HunyuanVideo-1.5 with various engineering optimizations for fast inference. We provide a ComfyUI Usage Guide for HunyuanVideo-1.5.
Community-implemented ComfyUI Plugin - comfyui_hunyuanvideo_1.5_plugin: A community-implemented ComfyUI plugin for HunyuanVideo-1.5, offering both simplified and complete node sets for quick usage or deep workflow customization, with built-in automatic model download support.
LightX2V - LightX2V: A lightweight and efficient video generation framework that integrates HunyuanVideo-1.5, supporting multiple engineering acceleration techniques for fast inference.
Wan2GP v9.62 - Wan2GP: WanGP is a very low VRAM app (as low 6 GB of VRAM for Hunyuan Video 1.5) supports Lora Accelerator for a 8 steps generation and offers tools to facilitate Video Generation.
ComfyUI-MagCache - ComfyUI-MagCache: MagCache is a training-free caching approach that accelerates video generation by estimating fluctuating differences among model outputs across timesteps. It achieves 1.7x speedup for HunyuanVideo-1.5 with 20 inference steps.
OmniWeaving - OmniWeaving: An omni-level unified video generation model built upon HunyuanVideo-1.5, excelling in free-form multimodal composition and reasoning-augmented generation. Specifically, it seamlessly handles a diverse array of tasks, such as Text-to-Video, First-Frame-to-Video, Key-Frames-to-Video, Video-to-Video Editing, Reference-to-Video, Compositional Multi-Image-to-Video, and Text-Image-Video-to-Video.
We present HunyuanVideo-1.5, a lightweight yet powerful video generation model that achieves state-of-the-art visual quality and motion coherence with only 8.3 billion parameters, enabling efficient inference on consumer-grade GPUs. This achievement is built upon several key components, including meticulous data curation, an advanced DiT architecture with selective and sliding tile attention(SSTA), enhanced bilingual understanding through glyph-aware text encoding, progressive pre-training and post-training, and an efficient video super-resolution network. Leveraging these designs, we developed a unified framework capable of high-quality text-to-video and image-to-video generation across multiple durations and resolutions. Extensive experiments demonstrate that this compact and proficient model establishes a new state-of-the-art among open-source models. By releasing the code and weights of HunyuanVideo-1.5, we provide the community with a high-performance foundation that significantly lowers the cost of video creation and research, making advanced video generation more accessible to all.
GPU: NVIDIA GPU with CUDA support
Minimum GPU Memory: 14 GB (with model offloading enabled)
Note: The memory requirements above are measured with model offloading enabled. If your GPU has sufficient memory, you may disable offloading for improved inference speed.
git clone https://github.com/Tencent-Hunyuan/HunyuanVideo-1.5.git
cd HunyuanVideo-1.5
pip install -r requirements.txt
pip install -i https://mirrors.tencent.com/pypi/simple/ --upgrade tencentcloud-sdk-python
Flash Attention: Install Flash Attention for faster inference and reduced GPU memory consumption. Detailed installation instructions are available at Flash Attention.
Flex-Block-Attention: flex-block-attn is only required for sparse attention to achieve faster inference and can be installed by the following command:
git clone https://github.com/Tencent-Hunyuan/flex-block-attn.git
cd flex-block-attn
git submodule update --init --recursive
python3 setup.py install
SageAttention: To enable SageAttention for faster inference, you need to install it by the following command:
Note: Enabling SageAttention will automatically disable Flex-Block-Attention.
git clone https://github.com/cooper1637/SageAttention.git
cd SageAttention
export EXT_PARALLEL=4 NVCC_APPEND_FLAGS="--threads 8" MAX_JOBS=32 # Optional
python3 setup.py install
SGL-Kernel: To enable fp8 gemm for transformer, you need to install it by the following command:
pip install sgl-kernel==0.3.18
💡 Distillation models and sparse attention models are still coming soon. Please stay tuned for the latest updates on the Hugging Face Model Card.
Download the pretrained models before generating videos. Detailed instructions are available at checkpoints-download.md.
| ModelName | Download |
|---|---|
| HunyuanVideo-1.5-480P-T2V | 480P-T2V |
| HunyuanVideo-1.5-480P-I2V | 480P-I2V |
| HunyuanVideo-1.5-480P-T2V-cfg-distill | 480P-T2V-cfg-distill |
| HunyuanVideo-1.5-480P-I2V-cfg-distill | 480P-I2V-cfg-distill |
| HunyuanVideo-1.5-480P-I2V-step-distill | 480P-I2V-step-distill |
| HunyuanVideo-1.5-720P-T2V | 720P-T2V |
| HunyuanVideo-1.5-720P-I2V | 720P-I2V |
| HunyuanVideo-1.5-720P-T2V-cfg-distill | Coming soon |
| HunyuanVideo-1.5-720P-I2V-cfg-distill | 720P-I2V-cfg-distill |
| HunyuanVideo-1.5-720P-T2V-sparse-cfg-distill | Coming soon |
| HunyuanVideo-1.5-720P-I2V-sparse-cfg-distill | 720P-I2V-sparse-cfg-distill |
| HunyuanVideo-1.5-720P-sr-step-distill | 720P-sr |
| HunyuanVideo-1.5-1080P-sr-step-distill | 1080P-sr |
Prompt enhancement plays a crucial role in enabling our model to generate high-quality videos. By writing longer and more detailed prompts, the generated video will be significantly improved. We encourage you to craft comprehensive and descriptive prompts to achieve the best possible video quality. We recommend community partners consulting our official guide on how to write effective prompts.
Reference: HunyuanVideo-1.5 Prompt Handbook
For users seeking to optimize prompts for other large models, it is recommended to consult the definition of t2v_rewrite_system_prompt in the file hyvideo/utils/rewrite/t2v_prompt.py to guide text-to-video rewriting. Similarly, for image-to-video rewriting, refer to the definition of i2v_rewrite_system_prompt in hyvideo/utils/rewrite/i2v_prompt.py.
For prompt rewriting, we recommend using Gemini or models deployed via vLLM. This codebase currently only supports models compatible with the vLLM API. If you wish to use Gemini, you will need to implement your own interface calls.
For models with a vLLM API, note that T2V (text-to-video) and I2V (image-to-video) have different recommended models and environment variables:
T2V_REWRITE_BASE_URL and T2V_REWRITE_MODEL_NAMEI2V_REWRITE_BASE_URL and I2V_REWRITE_MODEL_NAMEYou may set the above model names to any other vLLM-compatible models you have deployed (including HuggingFace models).
Rewriting is enabled by default (--rewritedefaults totrue); to disable it explicitly, use--rewrite falseor--rewrite 0. If no vLLM endpoint is configured, the pipeline runs without remote rewriting.
Example: Generate a video (works for both T2V and I2V; set IMAGE_PATH=none for T2V or provide an image path for I2V)
💡 Tip: For faster inference speed, you can enable the step-distilled model using the
--enable_step_distillparameter. The step-distilled model (480p I2V) can generate videos in 8 or 12 steps (recommended), achieving up to 75% speedup on RTX 4090 while maintaining comparable quality.Tips: If your GPU memory is > 14GB but you encounter OOM (Out of Memory) errors during generation, you can try setting the following environment variable before running:
export PYTORCH_CUDA_ALLOC_CONF=expandable_segments:True,max_split_size_mb:128Tips: If you have limited CPU memory and encounter OOM during inference, you can try disable overlapped group offloading by adding the following argument:
--overlap_group_offloading false
export T2V_REWRITE_BASE_URL="<your_vllm_server_base_url>"
export T2V_REWRITE_MODEL_NAME="<your_model_name>"
export I2V_REWRITE_BASE_URL="<your_vllm_server_base_url>"
export I2V_REWRITE_MODEL_NAME="<your_model_name>"
PROMPT='A girl holding a paper with words "Hello, world!"'
IMAGE_PATH=/path/to/image.png # Optional, none or <image path> to enable i2v mode
SEED=1
ASPECT_RATIO=16:9
RESOLUTION=480p
OUTPUT_PATH=./outputs/output.mp4
MODEL_PATH=./ckpts # Path to pretrained model
# Configuration for faster inference
N_INFERENCE_GPU=8 # Parallel inference GPU count
CFG_DISTILLED=true # Inference with CFG distilled model, 2x speedup
SAGE_ATTN=true # Inference with SageAttention
SPARSE_ATTN=false # Inference with sparse attention (only 720p models are equipped with sparse attention). Please ensure flex-block-attn is installed
OVERLAP_GROUP_OFFLOADING=true # Only valid when group offloading is enabled, significantly increases CPU memory usage but speeds up inference
ENABLE_CACHE=true # Enable feature cache during inference. Significantly speeds up inference.
CACHE_TYPE=deepcache # Support: deepcache, teacache, taylorcache
ENABLE_STEP_DISTILL=true # Enable step distilled model for 480p I2V, recommended 8 or 12 steps, up to 6x speedup
# Configuration for better quality
REWRITE=true # Enable prompt rewriting. Please ensure rewrite vLLM server is deployed and configured.
ENABLE_SR=true # Enable super resolution
torchrun --nproc_per_node=$N_INFERENCE_GPU generate.py \
--prompt "$PROMPT" \
--image_path $IMAGE_PATH \
--resolution $RESOLUTION \
--aspect_ratio $ASPECT_RATIO \
--seed $SEED \
--rewrite $REWRITE \