Um modelo de difusão de vídeo prático que atinge um uso constante de memória de vídeo através da compressão do contexto de quadros, permitindo a geração de vídeos de alta qualidade de até 60 segundos com apenas 6 GB de memória de vídeo.
FramePack - Modelo de Difusão de Vídeo Prático
Visão Geral do Projeto
FramePack é uma estrutura de rede neural inovadora para previsão da próxima frame, projetada especificamente para a geração prática de vídeo. Este projeto, desenvolvido por equipes de pesquisa da Universidade de Stanford e do MIT, visa tornar os modelos de difusão de vídeo tão leves e fáceis de usar quanto os modelos de difusão de imagem.
Características Principais
1. Ocupação Constante de VRAM (Complexidade de Memória O(1))
A maior inovação do FramePack reside na compressão do contexto das frames de entrada para um comprimento constante, tornando a carga de trabalho de geração independente da duração do vídeo. Isso significa que:
- Apenas 6GB de VRAM são necessários para gerar um vídeo de 60 segundos (1800 frames, 30fps).
- Gerar um vídeo de 1 segundo e um vídeo de 1 minuto consome a mesma VRAM.
- Suporta a execução de modelos de 13B parâmetros em GPUs de laptop (como RTX 3060/3070Ti).
- O tamanho do lote de treinamento pode atingir 64 (em um único nó 8×A100/H100), comparável ao treinamento de difusão de imagem.
2. Tecnologia de Compressão de Contexto de Frame
FramePack utiliza um tamanho de patch variável para tokenizar cada frame histórica, atribuindo diferentes comprimentos de contexto com base na importância da frame:
- Peso de Proximidade Temporal: Frames mais próximas da frame atual recebem um contexto mais longo.
- Peso de Similaridade de Características: Frames relevantes para o conteúdo atual retêm mais detalhes.
- Métrica Híbrida: Combina as duas estratégias acima para otimizar o efeito de compressão.
Exemplo: No HunyuanVideo, uma frame de 480p usando um kernel de patch (1, 2, 2) geralmente produz 1536 tokens.
3. Tecnologia Anti-Drifting
FramePack aborda o problema de acumulação de erros na geração de vídeo autorregressiva, propondo vários métodos anti-drifting:
FramePack-F1 (Versão de Geração Direta)
- Previsão de frame única e direta.
- Adequado para cenários de streaming em tempo real.
- Previne a acumulação de erros através de uma nova regularização anti-drifting.
FramePack-P1 (Versão de Geração Planejada)
Inclui dois designs centrais:
a) Anti-Drifting Planejado
- Primeiro gera os pontos finais das frames-chave distantes.
- Em seguida, preenche os segmentos intermediários.
- Garante que as frames não se desviem entre os pontos finais planejados.
b) Discretização do Histórico
- Converte todas as frames históricas em tokens discretizados (aplicando K-Means a todo o conjunto de dados).
- Reduz as diferenças de representação do histórico entre o treinamento e a inferência.
- Previne que os próprios pontos finais se desviem.
4. Estratégia de Amostragem Bidirecional
- Suporta geração reversa, da frame final para a inicial.
- Combina contexto bidirecional de âncoras de frames inicial e final.
- Quebra a cadeia de previsão causal, reduzindo efetivamente o viés de observação.
Desempenho
Velocidade de Geração
- RTX 4090 Desktop:
- Não otimizado: 2.5 segundos/frame
- Com teacache: 1.5 segundos/frame
- GPU de Laptop (3070Ti/3060): Aproximadamente 4-8 vezes mais lento que a RTX 4090.
- Suporta feedback visual em tempo real (recurso de previsão da próxima frame).
Requisitos de VRAM
- Mínimo: 6GB VRAM
- Recomendado: Série RTX 30XX/40XX/50XX (suporta fp16 e bf16)
- Sistema Operacional: Windows ou Linux
Eficiência de Treinamento
- Em um único nó 8×A100-80G, pode atingir batch size 64.
- Resolução 480p, modelo HunyuanVideo de 13B, treinamento LoRA.
- Batch size 64 para janelas de tamanho 2 ou 3; batch size 32 para janelas de tamanho 4 ou 5.
- Adequado para treinamento em escala pessoal ou de laboratório.
Modo de Uso
Instalação no Windows (Pacote de Um Clique)
- Baixe o pacote de instalação de um clique:
https://github.com/lllyasviel/FramePack/releases/download/windows/framepack_cu126_torch26.7z
Descompacte o arquivo.
Execute o script de atualização:
update.bat
- Inicie o programa:
run.bat
Nota: A primeira execução exigirá o download de mais de 30GB de arquivos de modelo do HuggingFace.
Instalação no Linux
Requer ambiente Python 3.10:
# Instalar PyTorch
pip install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cu126
# Instalar dependências
pip install -r requirements.txt
# Iniciar a GUI
python demo_gradio.py
Parâmetros de linha de comando suportados:
--share: Habilita o compartilhamento de link público.--port: Especifica o número da porta.--server: Especifica o endereço do servidor.
Componentes de Aceleração Opcionais
O projeto suporta várias otimizações de mecanismo de atenção:
- PyTorch attention (padrão)
- xformers
- flash-attn
- sage-attention
Exemplo de instalação do sage-attention (Linux):
pip install sageattention==1.0.6
Interface de Usuário
Fluxo de Trabalho Básico
- Painel Esquerdo: Faça upload da imagem inicial e escreva o prompt.
- Painel Direito: Visualize o vídeo gerado e a prévia do espaço latente.
- Exibição de Progresso: Mostra em tempo real a barra de progresso de cada segmento e a prévia latente do próximo segmento.
Mecanismo de Geração de Vídeo
Devido ao modelo de previsão de segmento da próxima frame, o vídeo é gerado segmento por segmento:
- Inicialmente, você pode ver apenas um vídeo curto de 1 segundo.
- Continue esperando, mais segmentos serão gerados sucessivamente.
- Finalmente, o vídeo completo será concluído.
Fluxo de Trabalho Recomendado
Protótipo Rápido:
- Ative a aceleração teacache.
- Teste rapidamente ideias e prompts.
Saída Final:
- Desative o teacache.
- Use o processo de difusão completo para obter resultados de alta qualidade.
Nota: teacache, sage-attention, quantização bnb, gguf e outros métodos de otimização podem afetar a qualidade do resultado. Recomenda-se usá-los apenas durante iterações rápidas.
Dicas para Escrever Prompts
Formato Recomendado
Prompts concisos e orientados para a ação funcionam melhor:
Sujeito + Descrição da Ação + Outros Detalhes
Exemplos:
- "A garota dança graciosamente, com movimentos claros, cheia de charme."
- "O homem dança poderosamente, com movimentos claros, cheio de energia."
- "A mulher gira elegantemente entre as cerejeiras em flor, com mangas esvoaçantes."
Modelo de Geração de Prompts do ChatGPT
Você pode usar o seguinte modelo para que o ChatGPT ajude a gerar prompts:
Você é um assistente que escreve prompts curtos e focados em movimento para animar imagens.
Quando o usuário enviar uma imagem, responda com um único prompt conciso descrevendo o movimento visual
(como atividade humana, objetos em movimento ou movimentos de câmera). Concentre-se apenas em como a cena
poderia ganhar vida e se tornar dinâmica usando frases breves.
Movimentos maiores e mais dinâmicos (como dançar, pular, correr, etc.) são preferidos em relação
a movimentos menores ou mais sutis (como ficar parado, sentado, etc.).
Descreva o sujeito, depois o movimento, depois outras coisas.
Por exemplo: "A garota dança graciosamente, com movimentos claros, cheia de charme."
Se houver algo que possa dançar (como um homem, garota, robô, etc.), então prefira
descrevê-lo como dançando.
Mantenha-se em um loop: uma imagem entra, um prompt de movimento sai. Não explique, faça perguntas
ou gere múltiplas opções.
Histórico de Versões
14 de Julho de 2025
- Upload dos resultados do teste de estresse anti-drifting de texto puro para vídeo do FramePack-P1.
- Usando prompts comuns, sem necessidade de imagem de referência.
26 de Junho de 2025
- Lançamento da demonstração dos resultados do FramePack-P1.
- Introdução dos designs de anti-drifting planejado e discretização do histórico.
3 de Maio de 2025
- Lançamento da versão de geração direta FramePack-F1.
- Oferece uma previsão unidirecional com maior faixa dinâmica e menos restrições.
Arquitetura Técnica
Modelo Base
FramePack pode ser combinado com modelos de difusão de vídeo existentes:
- HunyuanVideo: Principal plataforma de teste (versão aprimorada).
- Wan 2.1: Suporte oficial ao modelo Wan.
Melhorias do Modelo (Versão HunyuanVideo)
- Adição do modelo SigLip-Vision (google/siglip-so400m-patch14-384) como codificador visual.
- Remoção da dependência do MLLM interno da Tencent.
- Congelamento do LLama3.1 como um modelo de texto puro.
- Treinamento contínuo em dados de alta qualidade.
Compatibilidade da Arquitetura
- Suporta naturalmente Texto-para-Vídeo (Text-to-Video) e Imagem-para-Vídeo (Image-to-Video) sem modificações arquitetônicas.
- Pode ser usado para ajustar modelos de difusão de vídeo pré-treinados existentes.
Cenários de Aplicação
1. Imagem-para-Vídeo (Image-to-Video)
Converte imagens estáticas em vídeos dinâmicos, suportando descrições detalhadas de movimento.
2. Geração de Vídeos Longos
- Gera vídeos coerentes de até 60 segundos.
- Suporta a capacidade de processar milhares de frames.
- Mantém a consistência espaço-temporal.
3. Viagem de Prompts (Prompt Travelling)
Particularmente adequado para a versão F1, suporta a gradação de prompts durante a geração de vídeo.
4. Streaming em Tempo Real
A versão F1 suporta geração em fluxo, adequada para aplicações em tempo real.
Recursos da Comunidade
Integração com ComfyUI
- ComfyUI-FramePackWrapper: https://github.com/kijai/ComfyUI-FramePackWrapper
- ComfyUI_RH_FramePack: https://github.com/HM-RunningHub/ComfyUI_RH_FramePack
Uso Online
- A plataforma RunningHub oferece uso online gratuito.
- Inclui fluxos de trabalho pré-configurados.
Notas Importantes
Declaração do Site Oficial
Único site oficial: https://github.com/lllyasviel/FramePack
Os seguintes domínios são sites falsos e de spam, por favor, não os visite nem efetue pagamentos:
- 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 e todas as outras variações
Sensibilidade ao Hardware
Modelos de previsão de segmento da próxima frame são muito sensíveis a ruídos e pequenas diferenças de hardware:
- Diferentes dispositivos podem produzir resultados ligeiramente diferentes.
- O efeito visual geral deve permanecer semelhante.
- Em alguns casos, resultados idênticos podem ser obtidos.
Sugestões de Otimização de Desempenho
Se a velocidade de geração for significativamente mais lenta que a velocidade de referência:
- Verifique se o CUDA e o PyTorch estão instalados corretamente.
- Confirme se o driver da GPU está na versão mais recente.
- Feche programas em segundo plano desnecessários.
- Consulte o guia de solução de problemas na Issue #151.
Informações de Citação
Se você usar o FramePack em sua pesquisa, por favor, cite os seguintes artigos:
@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 do Projeto
FramePack, através de suas inovações em compressão de contexto de frame e tecnologia anti-drifting, conseguiu reduzir o custo de memória da difusão de vídeo para um nível constante, tornando possível a geração de vídeos longos em hardware de consumo. Este avanço permite que:
- Criadores individuais gerem vídeos longos de alta qualidade em laptops.
- Pesquisadores realizem treinamento de modelos de vídeo em equipamentos de escala de laboratório.
- Desenvolvedores integrem mais facilmente a capacidade de geração de vídeo em aplicações.
FramePack torna a geração de vídeo verdadeiramente prática, assim como o Stable Diffusion tornou a geração de imagens acessível.