Un modelo de difusión de video práctico que logra un uso constante de la memoria de video mediante la compresión del contexto de los fotogramas, generando videos de alta calidad de hasta 60 segundos con solo 6 GB de memoria de video.
FramePack - Modelo de difusión de video práctico
Resumen del Proyecto
FramePack es una innovadora arquitectura de red neuronal de predicción del siguiente fotograma, diseñada específicamente para la generación práctica de video. Este proyecto, desarrollado por equipos de investigación de la Universidad de Stanford y el MIT, tiene como objetivo hacer que los modelos de difusión de video sean tan ligeros y fáciles de usar como los modelos de difusión de imágenes.
Características Principales
1. Consumo Constante de VRAM (Complejidad de Memoria O(1))
La mayor innovación de FramePack radica en comprimir el contexto de los fotogramas de entrada a una longitud constante, haciendo que la carga de trabajo de generación sea independiente de la duración del video. Esto significa que:
- Solo se requieren 6 GB de VRAM para generar un video de 60 segundos (1800 fotogramas, 30 fps).
- Generar un video de 1 segundo y uno de 1 minuto consume la misma VRAM.
- Soporta la ejecución de modelos de 13B parámetros en GPUs de laptop (como RTX 3060/3070Ti).
- El tamaño del lote de entrenamiento puede alcanzar 64 (en un solo nodo 8×A100/H100), comparable al entrenamiento de difusión de imágenes.
2. Tecnología de Compresión de Contexto de Fotogramas
FramePack utiliza un tamaño de parche variable (variable patch size) para tokenizar cada fotograma histórico, asignando diferentes longitudes de contexto según la importancia del fotograma:
- Peso por proximidad temporal: Los fotogramas más cercanos al fotograma actual obtienen un contexto más largo.
- Peso por similitud de características: Los fotogramas relevantes para el contenido actual retienen más detalles.
- Métrica híbrida: Combina las dos estrategias anteriores para optimizar el efecto de compresión.
Ejemplo: En HunyuanVideo, un fotograma de 480p usando un kernel de parche (1, 2, 2) generalmente produce 1536 tokens.
3. Tecnología Anti-Deriva (Anti-Drifting)
FramePack aborda el problema de la acumulación de errores en la generación de video autorregresiva con múltiples métodos anti-deriva:
FramePack-F1 (Versión de Generación Hacia Adelante)
- Predicción de fotogramas hacia adelante de un solo paso.
- Adecuado para escenarios de transmisión en tiempo real.
- Previene la acumulación de errores mediante una nueva regularización anti-deriva.
FramePack-P1 (Versión de Generación Planificada)
Incluye dos diseños centrales:
a) Anti-Deriva Planificada (Planned Anti-Drifting)
- Primero genera los puntos finales de los fotogramas clave distantes.
- Luego rellena los segmentos intermedios.
- Asegura que los fotogramas no se desvíen entre los puntos finales planificados.
b) Discretización del Historial (History Discretization)
- Convierte todos los fotogramas históricos en tokens discretizados (aplicando K-Means a todo el conjunto de datos).
- Reduce las diferencias de representación histórica entre el entrenamiento y la inferencia.
- Evita que los propios puntos finales se desvíen.
4. Estrategia de Muestreo Bidireccional
- Soporta la generación inversa desde el fotograma final hacia el inicial.
- Combina el contexto bidireccional de los anclajes de los fotogramas inicial y final.
- Rompe la cadena de predicción causal, reduciendo eficazmente el sesgo de observación.
Rendimiento
Velocidad de Generación
- RTX 4090 de escritorio:
- Sin optimizar: 2.5 segundos/fotograma
- Usando teacache: 1.5 segundos/fotograma
- GPU de laptop (3070Ti/3060): Aproximadamente 4-8 veces más lenta que la RTX 4090.
- Soporta retroalimentación visual en tiempo real (característica de predicción del siguiente fotograma).
Requisitos de VRAM
- Mínimo: 6 GB de VRAM
- Recomendado: Serie RTX 30XX/40XX/50XX (soporta fp16 y bf16)
- Sistema Operativo: Windows o Linux
Eficiencia de Entrenamiento
- En un solo nodo 8×A100-80G, puede alcanzar un tamaño de lote de 64.
- Resolución de 480p, modelo HunyuanVideo de 13B, entrenamiento LoRA.
- Tamaño de lote 64 con ventana de tamaño 2 o 3; tamaño de lote 32 con ventana de tamaño 4 o 5.
- Adecuado para entrenamiento a escala personal o de laboratorio.
Modo de Uso
Instalación en Windows (Paquete de un solo clic)
- Descargue el paquete de instalación de un solo clic:
https://github.com/lllyasviel/FramePack/releases/download/windows/framepack_cu126_torch26.7z - Descomprima el archivo.
- Ejecute el script de actualización:
update.bat - Inicie el programa:
run.bat
Nota: La primera vez que se ejecuta, es necesario descargar más de 30 GB de archivos de modelo desde HuggingFace.
Instalación en Linux
Requiere un entorno Python 3.10:
# Instalar PyTorch
pip install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cu126
# Instalar dependencias
pip install -r requirements.txt
# Iniciar la GUI
python demo_gradio.py
Parámetros de línea de comandos soportados:
--share: Habilita el uso compartido de enlaces públicos.--port: Especifica el número de puerto.--server: Especifica la dirección del servidor.
Componentes de Aceleración Opcionales
El proyecto soporta múltiples optimizaciones de mecanismos de atención:
- PyTorch attention (por defecto)
- xformers
- flash-attn
- sage-attention
Ejemplo de instalación de sage-attention (Linux):
pip install sageattention==1.0.6
Interfaz de Usuario
Flujo de Trabajo Básico
- Panel izquierdo: Suba la imagen inicial y escriba el prompt.
- Panel derecho: Vea el video generado y la vista previa del espacio latente.
- Visualización del progreso: Muestra en tiempo real la barra de progreso de cada segmento y la vista previa latente del siguiente segmento.
Mecanismo de Generación de Video
Debido al modelo de predicción de segmentos del siguiente fotograma, el video se genera segmento por segmento:
- Inicialmente, es posible que solo vea un video corto de 1 segundo.
- Si continúa esperando, se generarán más segmentos sucesivamente.
- Finalmente, se completará el video de longitud total.
Flujo de Trabajo Recomendado
Prototipado rápido:
- Active la aceleración teacache.
- Pruebe rápidamente ideas y prompts.
Salida final:
- Desactive teacache.
- Utilice el proceso de difusión completo para obtener resultados de alta calidad.
Nota: teacache, sage-attention, cuantificación bnb, gguf y otros métodos de optimización pueden afectar la calidad de los resultados. Se recomienda usarlos solo durante la iteración rápida.
Consejos para Escribir Prompts
Formato Recomendado
Los prompts concisos y orientados a la acción funcionan mejor:
Sujeto + Descripción de la acción + Otros detalles
Ejemplos:
- "La chica baila con gracia, con movimientos claros, llena de encanto."
- "El hombre baila con fuerza, con movimientos claros, lleno de energía."
- "La mujer gira elegantemente entre los cerezos en flor, con mangas fluidas."
Plantilla de Generación de Prompts con ChatGPT
Puede usar la siguiente plantilla para que ChatGPT le ayude a generar prompts:
Eres un asistente que escribe prompts cortos y enfocados en el movimiento para animar imágenes.
Cuando el usuario envíe una imagen, responde con un único prompt conciso que describa el movimiento visual
(como actividad humana, objetos en movimiento o movimientos de cámara). Concéntrate solo en cómo la escena
podría cobrar vida y volverse dinámica usando frases breves.
Se prefieren movimientos más grandes y dinámicos (como bailar, saltar, correr, etc.) sobre
movimientos más pequeños o sutiles (como estar de pie, sentado, etc.).
Describe el sujeto, luego el movimiento, luego otras cosas.
Por ejemplo: "La chica baila con gracia, con movimientos claros, llena de encanto."
Si hay algo que pueda bailar (como un hombre, una chica, un robot, etc.), entonces prefiere
describirlo bailando.
Mantente en un bucle: una imagen de entrada, un prompt de movimiento de salida. No expliques, hagas preguntas
ni generes múltiples opciones.
Historial de Versiones
14 de julio de 2025
- Se subieron los resultados de la prueba de estrés anti-deriva de texto a video puro de FramePack-P1.
- Se utilizaron prompts comunes, sin necesidad de imágenes de referencia.
26 de junio de 2025
- Se publicó la demostración de resultados de FramePack-P1.
- Se introdujeron los diseños de anti-deriva planificada y discretización del historial.
3 de mayo de 2025
- Se lanzó la versión de generación hacia adelante FramePack-F1.
- Ofrece un rango dinámico mayor y una predicción unidireccional con menos restricciones.
Arquitectura Técnica
Modelos Base
FramePack se puede combinar con modelos de difusión de video existentes:
- HunyuanVideo: Plataforma de prueba principal (versión mejorada).
- Wan 2.1: Soporte oficial del modelo Wan.
Mejoras del Modelo (Versión HunyuanVideo)
- Se añadió el modelo SigLip-Vision (google/siglip-so400m-patch14-384) como codificador visual.
- Se eliminó la dependencia del MLLM interno de Tencent.
- Se congeló LLama3.1 como modelo de texto puro.
- Se continuó el entrenamiento con datos de alta calidad.
Compatibilidad de Arquitectura
- Soporta Texto a Video (Text-to-Video) e Imagen a Video (Image-to-Video).
- Soporta naturalmente ambos modos sin necesidad de modificaciones arquitectónicas.
- Puede ajustarse finamente en modelos de difusión de video preentrenados existentes.
Escenarios de Aplicación
1. Imagen a Video (Image-to-Video)
Convierte imágenes estáticas en videos dinámicos, soportando descripciones detalladas de acciones.
2. Generación de Video Largo
- Genera videos coherentes de hasta 60 segundos.
- Soporta la capacidad de procesar miles de fotogramas.
- Mantiene la consistencia espacio-temporal.
3. Viaje de Prompts (Prompt Travelling)
Especialmente adecuado para la versión F1, soporta la gradación de prompts durante la generación de video.
4. Transmisión en Tiempo Real
La versión F1 soporta la generación en streaming, adecuada para escenarios de aplicaciones en tiempo real.
Recursos de la Comunidad
Integración con ComfyUI
- ComfyUI-FramePackWrapper: https://github.com/kijai/ComfyUI-FramePackWrapper
- ComfyUI_RH_FramePack: https://github.com/HM-RunningHub/ComfyUI_RH_FramePack
Uso en Línea
- La plataforma RunningHub ofrece uso gratuito en línea.
- Incluye flujos de trabajo preconfigurados.
Notas Importantes
Declaración del Sitio Web Oficial
Único sitio web oficial: https://github.com/lllyasviel/FramePack
Los siguientes dominios son sitios web falsos y basura. Por favor, no los visite ni realice pagos:
- framepack.co, frame_pack.co
- framepack.net, frame_pack.net
- framepack.ai, frame_pack.ai
- framepack.pro, frame_pack.pro
- framepack.cc, frame_pack.cc
- framepackai.co y todas las demás variantes.
Sensibilidad del Hardware
El modelo de predicción de segmentos del siguiente fotograma es muy sensible a las pequeñas diferencias de ruido y hardware:
- Diferentes dispositivos pueden producir resultados ligeramente distintos.
- El efecto visual general debe permanecer similar.
- En algunos casos, se pueden obtener resultados completamente idénticos.
Sugerencias de Optimización del Rendimiento
Si la velocidad de generación es significativamente más lenta que la velocidad de referencia:
- Verifique que CUDA y PyTorch estén instalados correctamente.
- Confirme que el controlador de la GPU sea la versión más reciente.
- Cierre los programas en segundo plano innecesarios.
- Consulte la guía de solución de problemas en el Issue #151.
Información de Citas
Si utiliza FramePack en su investigación, cite los siguientes artículos:
@inproceedings{zhang2025framepack,
title={Frame Context Packing and Drift Prevention in Next-Frame-Prediction Video Diffusion Models},
author={Lvmin Zhang and Shengqu Cai and Muyang Li and Gordon Wetzstein and Maneesh Agrawala},
booktitle={The Thirty-ninth Annual Conference on Neural Information Processing Systems},
year={2025},
}
@article{zhang2025framepackv1,
title={Packing Input Frame Contexts in Next-Frame Prediction Models for Video Generation},
author={Lvmin Zhang and Maneesh Agrawala},
journal={Arxiv},
year={2025}
}
Significado del Proyecto
FramePack, a través de su innovadora compresión de contexto de fotogramas y tecnología anti-deriva, ha logrado reducir el costo de memoria de la difusión de video a un nivel constante, haciendo posible la generación de videos largos en hardware de consumo. Este avance permite que:
- Creadores individuales puedan generar videos largos de alta calidad en laptops.
- Investigadores puedan entrenar modelos de video en equipos a escala de laboratorio.
- Desarrolladores puedan integrar más fácilmente la capacidad de generación de video en sus aplicaciones.
FramePack hace que la generación de video sea verdaderamente práctica, al igual que Stable Diffusion hizo que la generación de imágenes fuera accesible para todos.