tencent/HunyuanVideo-1.5
HunyuanVideo-1.5 es un modelo abierto de generación de video de Tencent para texto a video e imagen a video. Usa una arquitectura Diffusion Transformer ligera de 8.3B parámetros con VAE causal 3D, atención SSTA, destilación, caché de inferencia y superresolución para producir videos de alta calidad con coherencia de movimiento en resoluciones de 480p, 720p y escalado hasta 1080p. Está diseñado para reducir el coste de uso y funcionar incluso en GPUs de consumo con descarga de modelo.
Como usar
Requisitos principales: Linux, Python 3.10 o superior, CUDA compatible con PyTorch y GPU NVIDIA con CUDA. La memoria mínima indicada es 14 GB de VRAM con model offloading activado.
Instalación básica:
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
Ejemplo de inferencia desde el código fuente, válido para T2V e I2V cambiando IMAGE_PATH:
export T2V_REWRITE_BASE_URL=""
export T2V_REWRITE_MODEL_NAME=""
export I2V_REWRITE_BASE_URL=""
export I2V_REWRITE_MODEL_NAME=""
PROMPT='A girl holding a paper with words "Hello, world!"'
IMAGE_PATH=/path/to/image.png # Optional, none or to enable i2v mode
SEED=1
ASPECT_RATIO=16:9
RESOLUTION=480p
OUTPUT_PATH=./outputs/output.mp4
MODEL_PATH=./ckpts
N_INFERENCE_GPU=8
CFG_DISTILLED=true
SAGE_ATTN=true
SPARSE_ATTN=false
OVERLAP_GROUP_OFFLOADING=true
ENABLE_CACHE=true
CACHE_TYPE=deepcache
ENABLE_STEP_DISTILL=true
REWRITE=true
ENABLE_SR=true
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 \
--cfg_distilled $CFG_DISTILLED \
--enable_step_distill $ENABLE_STEP_DISTILL \
--sparse_attn $SPARSE_ATTN --use_sageattn $SAGE_ATTN \
--enable_cache $ENABLE_CACHE --cache_type $CACHE_TYPE \
--overlap_group_offloading $OVERLAP_GROUP_OFFLOADING \
--sr $ENABLE_SR --save_pre_sr_video \
--output_path $OUTPUT_PATH \
--model_path $MODEL_PATH
Uso básico con Diffusers:
import torch
from diffusers import HunyuanVideo15Pipeline
from diffusers.utils import export_to_video
dtype = torch.bfloat16
device = "cuda:0"
pipe = HunyuanVideo15Pipeline.from_pretrained(
"hunyuanvideo-community/HunyuanVideo-1.5-Diffusers-720p_t2v",
torch_dtype=dtype,
)
pipe.enable_model_cpu_offload()
pipe.vae.enable_tiling()
generator = torch.Generator(device=device).manual_seed(seed)
video = pipe(
prompt=prompt,
generator=generator,
num_frames=121,
num_inference_steps=50,
).frames[0]
export_to_video(video, "output.mp4", fps=24)
Uso optimizado con backend de atención:
import torch
from diffusers import HunyuanVideo15Pipeline, attention_backend
from diffusers.utils import export_to_video
dtype = torch.bfloat16
device = "cuda:0"
pipe = HunyuanVideo15Pipeline.from_pretrained(
"hunyuanvideo-community/HunyuanVideo-1.5-Diffusers-720p_t2v",
torch_dtype=dtype,
)
pipe.enable_model_cpu_offload()
pipe.vae.enable_tiling()
generator = torch.Generator(device=device).manual_seed(seed)
with attention_backend("_flash_3_hub"):
video = pipe(
prompt=prompt,
generator=generator,
num_frames=121,
num_inference_steps=50,
).frames[0]
export_to_video(video, "output.mp4", fps=24)
Para mejor calidad, la página recomienda prompts largos y descriptivos, reescritura automática de prompts mediante modelos vLLM compatibles, 50 pasos para los modelos CFG-distilled, y 8 o 12 pasos para el modelo 480p I2V step-distilled.
Funcionalidades
- Generación texto-a-video e imagen-a-video en un marco unificado.
- Arquitectura DiT de 8.3B parámetros con VAE causal 3D y compresión espacial 16x y temporal 4x.
- Atención SSTA para reducir cómputo en secuencias largas y acelerar síntesis de video 720p de 10 segundos.
- Modelos 480p y 720p, variantes CFG-distilled, step-distilled, sparse attention y modelos de superresolución 720p/1080p.
- Modelo I2V 480p step-distilled capaz de generar en 8 o 12 pasos, con reducción de tiempo de hasta 75% en RTX 4090 según la página.
- Compatibilidad con Diffusers, ComfyUI, LightX2V, Wan2GP y aceleraciones como DeepCache, TeaCache, TaylorCache, SageAttention, sparse attention y FP8 GEMM.
- Superresolución de pocos pasos para mejorar nitidez, textura y corrección de distorsiones hasta 1080p.
- Entrenamiento y ajuste LoRA publicados, con soporte para FSDP, paralelismo de contexto/secuencia, gradient checkpointing y optimizador Muon.
Casos de uso
- Crear videos a partir de prompts de texto con movimiento coherente, estética cinematográfica y seguimiento fuerte de instrucciones.
- Animar una imagen de referencia mediante image-to-video para producir clips en 480p o 720p.
- Generar contenido visual con texto renderizado, escenas físicas complejas, movimientos suaves y composición cinematográfica.
- Prototipar flujos de video generativo en Diffusers, ComfyUI o aplicaciones locales con aceleraciones de inferencia.
- Investigar y ajustar modelos de video mediante entrenamiento completo o fine-tuning LoRA sobre HunyuanVideo-1.5.
- Escalar videos generados a 720p o 1080p con los modelos de superresolución incluidos.