Introdução geral
O FramePack é uma ferramenta de geração de vídeo de código aberto que tem como objetivo tornar as técnicas de difusão de vídeo mais práticas. Ele desacopla o esforço de geração da duração do vídeo, compactando os quadros de entrada em uma duração fixa por meio de uma rede neural exclusiva de previsão do próximo quadro. Isso significa que, mesmo ao gerar vídeos longos, o requisito de memória gráfica não aumenta significativamente. O framePack pode gerar milhares de quadros a 30 fps com apenas 6 GB de memória gráfica, o que o torna adequado para a GPU média do consumidor. Desenvolvido por Lvmin Zhang, o projeto é otimizado com base no modelo de vídeo Hunyuan, que tem apenas 1,3 bilhão de parâmetros de modelo e equilibra eficiência com leveza. framePack O FramePack oferece uma interface Gradio fácil de usar que suporta a geração de imagem para vídeo em uma velocidade otimizada de até 1,5 segundo por quadro. Ele é adequado para criadores de conteúdo, desenvolvedores e usuários em geral interessados na geração de vídeo.
Lista de funções
- Geração de imagem para vídeo: gere vídeos em movimento a partir de uma única imagem com suporte para extensões de vídeo longas.
- Otimização de pouca RAM: 60 segundos de vídeo a 30 fps podem ser gerados com apenas 6 GB de RAM.
- Previsão do próximo quadro: geração de carga de trabalho independente da duração do vídeo por meio da compactação do contexto.
- Interface de usuário Gradio: fornece recursos intuitivos para carregar imagens, inserir prompts e visualizar os vídeos gerados.
- Suporte a vários mecanismos de atenção: PyTorch, xformers, flash-attn e sage-attention são compatíveis.
- Compatibilidade entre plataformas: suporta Linux e Windows e é compatível com as GPUs NVIDIA RTX das séries 30XX/40XX/50XX.
- Velocidade de geração otimizada: otimizada com teacache para até 1,5 segundo por quadro.
- Suporte ao treinamento em lote: suporta treinamento em lote supergrande semelhante à difusão de imagens.
Usando a Ajuda
Processo de instalação
A instalação do FramePack é mais técnica e é adequada para usuários com alguma experiência na configuração de ambientes Python e GPU. Abaixo estão as etapas detalhadas de instalação para sistemas Windows e Linux, bem como a página oficial do GitHub e os recursos da Web.
Requisitos ambientais
- sistema operacional: Linux ou Windows.
- GPUsNVIDIA RTX série 30XX/40XX/50XX com suporte a fp16 e bf16 (GTX 10XX/20XX não testada).
- memóriaMínimo de 6 GB (gera 60 segundos de vídeo a 30 fps).
- Versão PythonRecomendamos o Python 3.10 (observação: as versões do Python precisam ser estritamente compatíveis, caso contrário, poderá haver incompatibilidade de bibliotecas).
- CUDACUDA: É necessário instalar uma versão compatível com GPU do CUDA (por exemplo, CUDA 12.6).
Etapas de instalação
- Clone FramePack Warehouse
Abra um terminal ou prompt de comando e execute o seguinte comando para clonar o projeto:git clone https://github.com/lllyasviel/FramePack.git cd FramePack
- Criação de um ambiente virtual
Para evitar conflitos de dependência, recomendamos que você crie um ambiente virtual Python:python -m venv venv
Ativar o ambiente virtual:
- Windows:
venv\Scripts\activate.bat
- Linux:
source venv/bin/activate
- Windows:
- Instalação do PyTorch e das dependências
Instale o PyTorch de acordo com a versão CUDA (CUDA 12.6, por exemplo):pip install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cu126
Instale as dependências do projeto:
pip install -r requirements.txt
- (Opcional) Instalação do Sage Attention ou Flash Attention
Para melhorar o desempenho, você pode instalar o Sage Attention (é necessário escolher o arquivo de roda correto para sua versão CUDA e Python):pip install https://github.com/woct0rdho/SageAttention/releases/download/v2.1.1-windows/sageattention-2.1.1+cu126torch2.6.0-cp312-cp312-win_amd64.whl
Observação: O Sage Attention pode afetar ligeiramente a qualidade da geração, que pode ser ignorada para usuários iniciantes.
- Iniciando a interface do Gradio
Após a conclusão da instalação, execute o seguinte comando para iniciar a interface:python demo_gradio.py
Após a inicialização, o terminal exibe algo como
http://127.0.0.1:7860/
Você pode acessar a interface Gradio do FramePack visitando a URL no seu navegador.
Problemas comuns de instalação
- Incompatibilidade de versão do PythonSe a instalação da dependência falhar, verifique se a versão do Python é 3.10. Use o comando
python --version
Veja a versão atual. - Conflito de dependênciaSe
requirements.txt
for incompatível, você pode remover a versão da bibliotecaav
enumpy
escipy
designação da versão, reinstale a versão mais recente:pip install av numpy scipy
- Memória de vídeo insuficienteSe a memória de vídeo for inferior a 6 GB, a geração poderá falhar. Recomenda-se o uso de uma GPU com mais memória ou a redução da duração do vídeo.
Uso
A principal função do FramePack é gerar vídeo a partir de uma única imagem e oferecer suporte ao controle do conteúdo do vídeo por meio de palavras-chave. Veja a seguir o procedimento detalhado de operação.
1. acesso à interface do Gradio
ativar (um plano) demo_gradio.py
Depois disso, o navegador exibirá a interface de usuário do FramePack. A interface é dividida em seções esquerda e direita:
- Esquerda: Faça upload de imagens e digite palavras de alerta.
- Direita: Exibe o vídeo gerado e uma visualização latente (visualização latente).
2. upload de imagens
Clique na área Image Upload (Upload de imagem) à esquerda e selecione uma imagem local (resolução recomendada de 544x704 ou tamanho semelhante). O FramePack gerará conteúdo de vídeo com base nessa imagem.
3. prompts de entrada
Digite uma frase curta que descreva a ação do vídeo na caixa de texto Cue Word (Palavra-chave). Recomenda-se o uso de palavras-chave sucintas e orientadas para a ação, por exemplo:
The girl dances gracefully, with clear movements, full of charm.
A robot jumps energetically, spinning in a futuristic city.
O FramePack recomenda oficialmente a geração do sinal de ação via GPT no formato:
Você é um assistente que escreve prompts curtos e focados em movimento para animar imagens. Quando o usuário enviar uma imagem, responda com um prompt único e conciso que descreva o movimento visual. descrevendo o movimento visual.
4. geração de vídeo
Clique no botão Generate (Gerar) na interface e o FramePack iniciará o processo. O processo de geração ocorre em segmentos, sendo que cada segmento gera cerca de 1 segundo de vídeo, que é gradualmente unido para formar um vídeo completo. O progresso da geração é mostrado por uma barra de progresso e uma visualização potencial. O arquivo gerado é salvo na pasta ./outputs/
pasta.
5. visualização e ajuste
Talvez você receba apenas um vídeo curto (por exemplo, 1 segundo) no início da geração. Isso é normal e você precisará esperar que mais clipes sejam gerados para completar o vídeo completo. Se não estiver satisfeito com o resultado, você poderá ajustar os prompts ou alterar a imagem de entrada para gerar novamente.
Otimizar a velocidade de geração
- começar a usar dor de cabeçaAtivar o teacache nas configurações de geração aumenta a velocidade de 2,5 para 1,5 seg/quadro.
- Geração mais rápida com GPUs de alto desempenho: por exemplo, NVIDIA 4090.
- Desativar o sage-attention: se o sage-attention estiver instalado, ele poderá ser desativado no primeiro teste para garantir a geração de qualidade.
Operação da função em destaque
Baixa geração de memória
O principal ponto forte do FramePack são seus baixos requisitos de memória de vídeo. Ao compactar o contexto de entrada, são necessários apenas 6 GB de memória de vídeo para gerar 60 segundos de vídeo a 30 fps. Não é necessária nenhuma configuração adicional e o sistema otimiza automaticamente a alocação da memória gráfica.
Previsão do próximo quadro
O FramePack gera vídeo quadro a quadro usando uma rede neural de previsão do próximo quadro. Os usuários podem visualizar pré-visualizações potenciais de cada segmento gerado em tempo real na interface Gradio para garantir que o conteúdo do vídeo seja o esperado.
Interface do Gradio
A interface do Gradio é simples e intuitiva, oferecendo suporte a uploads e visualizações rápidas. Os usuários podem usar o --share
para compartilhar a interface com a rede pública, ou por meio do parâmetro --port
responder cantando --server
Parâmetros: porta personalizada e endereço do servidor:
python demo_gradio.py --share --port 7861 --server 0.0.0.0
cenário do aplicativo
- criação de conteúdo
O FramePack é adequado para criadores de vídeo para gerar vídeos dinâmicos curtos. Por exemplo, gerar um vídeo de dança a partir de uma imagem de personagem para produção de conteúdo de mídia social. O baixo requisito de memória de vídeo facilita o início para o usuário comum. - desenvolvimento de jogos
Os desenvolvedores podem usar o FramePack para gerar animações dinâmicas de cena, como movimento de personagens ou mudanças de ambiente, economizando tempo na modelagem manual. Os modelos leves suportam possibilidades de renderização em tempo real. - Educação e demonstração
Os professores ou instrutores podem gerar vídeos instrutivos a partir de imagens estáticas para demonstrar processos dinâmicos (por exemplo, simulações de experimentos científicos). A interface do Gradio é fácil de usar e adequada para usuários não técnicos. - computação de borda
O modelo de 1,3 bilhão de parâmetros do FramePack é adequado para implantação em dispositivos de ponta, como dispositivos móveis ou sistemas incorporados, para geração de vídeo localizada.
QA
- Quais GPUs são compatíveis com o FramePack?
Compatível com GPUs da série NVIDIA RTX 30XX, 40XX, 50XX com no mínimo 6 GB de RAM. GTX 10XX/20XX não testada, pode não ser compatível. - Quanto tempo leva para gerar um vídeo?
No NVIDIA 4090, são 2,5 segundos/quadro sem otimização e 1,5 segundo/quadro com o teacache ativado. São necessários cerca de 3 a 4 minutos para gerar 5 segundos de vídeo. - Como a qualidade da geração pode ser aprimorada?
Use imagens de entrada de alta qualidade, escreva dicas de ação claras, desative o sage-attention e desligue o teacache para obter uma geração final de alta qualidade. - É possível gerar vídeos extralongos?
Sim, o FramePack suporta a geração de milhares de quadros de vídeo (por exemplo, 60 segundos a 30 fps). Os requisitos de memória de vídeo são fixos e não aumentam em função da duração do vídeo.