HunyuanVideo FP8 vs BF16: Configuração ComfyUI, LoRA
Escolha o modelo HunyuanVideo certo para sua GPU, configure o ComfyUI e treine uma LoRA de vídeo.
On this page
- TL;DR
- Qual arquivo de modelo HunyuanVideo devo baixar para minha VRAM?
- Por que o UNET BF16 faz block-swap numa 4090?
- Quais arquivos de modelo do ComfyUI vão para onde?
- Devo usar a flag `--highvram`?
- O que fazem `--fp32-text-enc` e `--fp32-vae`?
- Como treino uma LoRA do HunyuanVideo?
- Como uso uma LoRA treinada no ComfyUI?
- Erros comuns e correções
- Ressalvas práticas de relatos da comunidade
- FAQ
- Links internos
- Sources
- Image placeholders
HunyuanVideo FP8 vs BF16: Configuração ComfyUI, LoRA
TL;DR
- Use o UNET FP8 (podado) se tiver ≤24 GB de VRAM; o UNET BF16 força troca de blocos mesmo numa 4090.
- No ComfyUI nativo, carregue
hunyuan_video_t2v_720p_bf16.safetensorscomo modelo de difusão,clip_l.safetensors+llava_llama3_fp8_scaled.safetensorscomo codificadores de texto, ehunyuan_video_vae_bf16.safetensorscomo VAE. - Não ative
--highvram— ele prende o CLIP na GPU e derrota o offload para CPU. - Treino de LoRA funciona no Linux via
diffusion-pipe(config.toml); DeepSpeed no Windows está quebrado — treine no WSL2 ou numa VM.
Qual arquivo de modelo HunyuanVideo devo baixar para minha VRAM?
| Componente | Arquivo recomendado (≤24 GB) | Alternativa (48 GB+) | Source |
|---|---|---|---|
| UNET | FP8 podado (Civitai 1356617) | BF16 completo (Civitai 1360886) | [1][2] |
| CLIP-L | FP32 podado (Zer0Int Improved Text) | FP32 visão completa (Base ViT) | [2] |
| Codificador de texto | llava_llama3_fp8_scaled.safetensors | FP32 não censurado | [1][2] |
| VAE | BF16 podado (Civitai 1489354) | FP32 completo (Civitai 1356987) | [1][2] |
[1] https://huggingface.co/tencent/HunyuanVideo [2] https://civitai.com/articles/13522
Catálogo completo de arquivos de modelo com IDs da Civitai
| Modelo | ID Civitai | Precisão | Tag de tamanho | URL de download |
|---|---|---|---|---|
| UNET FP8 (podado) | 1356617 | FP8 | pruned | https://civitai.com/api/download/models/1356617?type=Model&format=SafeTensor&size=pruned&fp=fp8 |
| UNET BF16 (completo) | 1360886 | BF16 | full | https://civitai.com/api/download/models/1360886?type=Model&format=SafeTensor&size=full&fp=bf16 |
| VAE FP8 (completo) | 1356700 | FP8 | full | https://civitai.com/api/download/models/1356700?type=Model&format=SafeTensor&size=full&fp=fp8 |
| VAE BF16 (podado) | 1489354 | BF16 | pruned | https://civitai.com/api/download/models/1489354?type=Model&format=SafeTensor&size=pruned&fp=bf16 |
| VAE FP32 (completo) | 1356987 | FP32 | full | https://civitai.com/api/download/models/1356987?type=Model&format=SafeTensor&size=full&fp=fp32 |
| CLIP-L FP32 podado (Zer0Int Improved Text) | 1172273 | FP32 | pruned | https://civitai.com/api/download/models/1172273?type=Model&format=SafeTensor&size=pruned&fp=fp32 |
| CLIP-L FP32 completo (Base ViT) | N/A | FP32 | full | https://huggingface.co/openai/clip-vit-large-patch14/blob/main/model.safetensors |
| CLIP-L FP32 (Zer0Int Gated-Balanced) | N/A | FP32 | full | https://huggingface.co/zer0int/CLIP-Registers-Gated_MLP-ViT-L-14/blob/main/ViT-L-14-REG-GATED-balanced-ckpt12.safetensors |
| CLIP-L FP32 (AbstractPhil Sim4+ViT) | 1377716 | FP32 | full | https://civitai.com/api/download/models/1377716?type=Model&format=SafeTensor&size=full&fp=fp32 |
| Codificador de texto FP32 não censurado (podado) | 1648387 | FP32 | pruned | https://civitai.com/api/download/models/1648387?type=Model&format=SafeTensor&size=pruned&fp=fp32 |
| Codificador de texto BF16 não censurado (podado) | 1648546 | BF16 | pruned | https://civitai.com/api/download/models/1648546?type=Model&format=SafeTensor&size=pruned&fp=bf16 |
Fonte: https://civitai.com/articles/13522
Por que o UNET BF16 faz block-swap numa 4090?
Os pesos do UNET BF16 são o modelo em tamanho real. Com o VAE, dois codificadores de texto e ativações, o pico de memória da GPU excede a VRAM disponível. O ComfyUI então descarrega blocos do transformador para CPU (block-swapping), o que adiciona latência por passo. O UNET FP8 é a versão quantizada, então toda a pilha do modelo cabe em 24 GB com folga para ativações — sem necessidade de offload.
Mecanismo: O repositório oficial HunyuanVideo lista 60 GB de VRAM mínimo para o modelo base em 720p. Uma 4090 tem 24 GB de VRAM, então o modelo BF16 completo não cabe. O block-swapping do ComfyUI move camadas do transformador entre CPU e GPU a cada passagem direta, adicionando ~2-3× latência por passo. O UNET FP8 podado reduz a memória dos pesos em ~50%, trazendo a pilha total para menos de 24 GB.
Quais arquivos de modelo do ComfyUI vão para onde?
O fluxo de trabalho nativo do ComfyUI (anunciado em 20 de dezembro de 2024) espera quatro arquivos em pastas específicas:
| Pasta | Nome do arquivo | Função |
|---|---|---|
models/diffusion_models | hunyuan_video_t2v_720p_bf16.safetensors | UNET (transformador de difusão) |
models/text_encoders | clip_l.safetensors | Codificador de imagem CLIP-L |
models/text_encoders | llava_llama3_fp8_scaled.safetensors | Codificador de texto MLLM (FP8) |
models/vae | hunyuan_video_vae_bf16.safetensors | Decodificador VAE 3D |
Fonte: https://blog.comfy.org/p/hunyuanvideo-native-support-in-comfyui
Devo usar a flag --highvram?
Não. A flag --highvram diz ao inicializador para manter todos os modelos na memória da GPU. Para usuários com ≤24 GB VRAM, isso força o CLIP e o codificador de texto para a GPU, sem deixar espaço para as ativações do UNET. O guia da Civitai é explícito: "DO NOT USE HIGHVRAM FLAG if this is set you will force the CLIP to be in GPU. Normal Users DO NOT USE THIS FLAG."
Mecanismo: --highvram desativa o comportamento padrão de offload para CPU. O CLIP é pequeno (~1 GB) mas, quando preso na GPU, reduz o orçamento de ativações para o UNET de 13 B parâmetros. Sem --highvram, o ComfyUI faz offload automático do CLIP e do codificador de texto para CPU, mantendo apenas os blocos ativos do UNET na GPU.
O que fazem --fp32-text-enc e --fp32-vae?
Elas sobrescrevem o dtype de carga FP16 padrão para o codificador de texto e VAE, respectivamente. Sem elas, o ComfyUI faz downcast de pesos FP32 para FP16 no carregamento. As flags são passadas na inicialização:
python main.py --fp32-text-enc --fp32-vae --use-sage-attention
Mecanismo: Na CPU, aritmética FP16 é emulada (upcast para FP32), então pesos FP32 não têm penalidade de velocidade e podem ser mais rápidos que FP16 emulado. As flags definem o dtype no carregamento do modelo; o dispositivo de offload (CPU) então computa nessa precisão. O tempo de carregamento aumenta levemente devido a tensores de pesos maiores.
Como treino uma LoRA do HunyuanVideo?
O treino usa diffusion-pipe com um config.toml apontando para os arquivos de modelo:
[model]
type = 'hunyuan-video'
transformer_path = '/path/to/hunyuan_video_720_cfgdistill_fp8_e4m3fn.safetensors'
vae_path = '/path/to/hunyuan_video_vae_bf16.safetensors'
llm_path = '/path/to/llm'
clip_path = '/path/to/clip'
Um usuário relatou ~20 GB VRAM a 768 px de resolução no Linux. DeepSpeed no Windows não é funcional — "cant download deepspeed on windows 10" e "windows deepspeed seems an impassable sinkhole" segundo comentários da comunidade. Treine no WSL2 ou numa VM Linux.
Exemplo prático: config.toml de treino para 768 px no Linux
[model]
type = 'hunyuan-video'
transformer_path = '/mnt/data/models/hunyuan_video_720_cfgdistill_fp8_e4m3fn.safetensors'
vae_path = '/mnt/data/models/hunyuan_video_vae_bf16.safetensors'
llm_path = '/mnt/data/models/llava_llama3_fp8_scaled'
clip_path = '/mnt/data/models/clip_l'
[train]
resolution = 768
batch_size = 1
learning_rate = 1e-4
max_steps = 2000
mixed_precision = 'fp16'
gradient_accumulation_steps = 4
Notas de relatos da comunidade:
- Caminhos usam prefixo
/mnt/c/no WSL2 para referenciar drive C: do Windows (ex.:/mnt/c/Users/nome/models/...) - Resolução 768 px consumiu ~20 GB VRAM numa máquina Linux (único ponto de dados)
- O nome do arquivo
hunyuan_video_720_cfgdistill_fp8_e4m3fn.safetensorsaparece no exemplo de config de treino mas não foi verificado independentemente no HuggingFace
Fonte: https://civitai.com/articles/9798/training-a-lora-for-hunyuan-video-on-windows (comentários de ymz0023432, jhnprst2150)
Como uso uma LoRA treinada no ComfyUI?
Adicione um nó Load LoRA entre Load Diffusion Model e os nós Sampler / CLIP / Schedule. Os pesos da LoRA são aplicados ao modelo de difusão antes do sampling. Um usuário confirmou: "just add the Load Lora node between the LoadDiffusionModel and the Sampler/Clip/Schedule nodes. At least seems to work and delivers a different video."
Ponto de inserção da LoRA no fluxo nativo
Load Diffusion Model → Load LoRA → Sampler / CLIP / Schedule → VAE Decode
Fonte: https://blog.comfy.org/p/hunyuanvideo-native-support-in-comfyui (comentário da comunidade por jhnprst2150)
Erros comuns e correções
| Sintoma | Causa | Correção | Source |
|---|---|---|---|
| OOM / block-swap em placa 24 GB | Usando UNET BF16 | Troque para UNET FP8 (Civitai 1356617) | https://civitai.com/articles/13522 |
| CLIP carrega na GPU em vez de CPU | Flag --highvram ativada | Remova --highvram; deixe o offload funcionar | https://civitai.com/articles/13522 |
| VAE decodifica em FP16 apesar de pesos FP32 | ComfyUI faz downcast do VAE FP32 | Inicie com --fp32-vae | https://civitai.com/articles/13522 |
| Codificador de texto lento ao rodar offload na CPU | CPU emula FP16 fazendo upcast para FP32, então pesos FP16 não trazem ganho | Adicione --fp32-text-enc; espere carregamento ligeiramente mais longo em troca de compute mais rápido na CPU | https://civitai.com/articles/13522 |
| Instalação do DeepSpeed falha no Windows 10 | Sem wheels para Windows | Treine no WSL2 / VM Linux | https://civitai.com/articles/9798 (comentários) |
| Decodificação VAE falha após execução longa | Fluxo padrão excede VRAM | Reduza para 544p ou menos frames; fluxo 8 GB existe mas comentaristas alertam "Don't even bother to try this with less than 24 or 40 GB VRAM" | https://blog.comfy.org/p/hunyuanvideo-native-support-in-comfyui (comentário de KotatsuAi) |
Flag --bf16-unet não reconhecida | Flag não existe no ComfyUI oficial | Use escolha de arquivo de modelo (safetensors FP8 vs BF16) em vez disso | https://civitai.com/articles/13522 (exemplo .bat) |
| Compatibilidade Sage Attention desconhecida | --use-sage-attention não verificado | Teste com/sem; pode não funcionar com arquitetura HunyuanVideo | https://civitai.com/articles/13522 (exemplo .bat) |
Ressalvas práticas de relatos da comunidade
- A flag
--bf16-unetem scripts de exemplo não é uma flag documentada do ComfyUI. O artigo da Civitai inclui--bf16-unet --use-sage-attentionno.batde exemplo, mas nenhuma das flags aparece na documentação oficial do ComfyUI ou HunyuanVideo. A precisão do modelo é controlada pelo arquivo safetensors que você carrega, não por flag CLI.
- Codificador de texto FP8 escalado requer 24 GB VRAM +
--highvram. A fonte afirma: "Using a Scaled FP8 TE is not recommended unless you have 24GB of VRAM and are using the HighVram Flag." O TE padrão (llava_llama3_fp8_scaled.safetensors) é a variante FP8 usada no fluxo nativo do ComfyUI.
- VAE FP8 não é recomendado. A fonte diz explicitamente "I do not recommend the FP8 VAE" sem explicar por quê. O VAE BF16 podado (Civitai 1489354) é a escolha recomendada para a maioria dos usuários.
- Treino de LoRA no Windows não é viável. DeepSpeed não tem suporte no Windows. O artigo 9798 da Civitai tinha título "Training a LoRA for Hunyuan video on Windows" mas foi marcado "Reinstating soon" — comentaristas confirmaram que o treino real foi feito no Linux.
- O JSON de fluxo 8 GB existe mas é impraticável. Anexado ao artigo 13522 da Civitai. Um comentarista do blog ComfyUI alerta: "Don't even bother to try this with less than 24 or 40 GB VRAM." Espere geração muito lenta e OOM frequente.
- Identidade da ferramenta
diffusion-pipeincerta. A config de treino referenciadiffusion-pipecomtype = 'hunyuan-video'. O repositóriokohya-ss/diffusion-piperetorna 404 no GitHub; o repo principal de treino da Kohya ékohya-ss/sd-scripts. Se é projeto separado, fork ou referência com nome errado não foi verificado.
- Requisitos de VRAM para treino não são bem estabelecidos. Um usuário relatou ~20 GB a 768 px (único ponto de dados). Não existem benchmarks sistemáticos de VRAM para treino.
FAQ
Qual é a VRAM mínima para HunyuanVideo?
45 GB para 544p (544×960×129 frames) segundo a ficha oficial do modelo. Com quantização FP8 e offload para CPU, usuários relatam funcionando em placas de 24 GB em resolução reduzida.
Fonte: https://huggingface.co/tencent/HunyuanVideo
Posso rodar HunyuanVideo numa GPU de 8 GB?
Apenas com o JSON de fluxo 8 GB da comunidade (anexo ao Civitai 13522) e offload agressivo. Espere geração muito lenta e OOM frequente. Comentaristas do blog ComfyUI desaconselham.
Fonte: https://civitai.com/articles/13522; https://blog.comfy.org/p/hunyuanvideo-native-support-in-comfyui (comentário de KotatsuAi)
Qual a diferença entre modos Normal e Master de reescrita de prompt?
Modo Normal melhora a adesão a instruções. Modo Master aprimora composição, iluminação e movimento de câmera mas pode perder detalhes semânticos. Ambos fazem parte do modelo separado de Reescrita de Prompt (Hunyuan-Large), não do modelo principal de difusão.
HunyuanVideo suporta imagem-para-vídeo?
Sim — existe um modelo I2V separado em github.com/Tencent/HunyuanVideo-I2V com seus próprios checkpoints. O modelo texto-para-vídeo descrito aqui é apenas T2V.
Fonte: https://github.com/Tencent/HunyuanVideo
Onde consigo o safetensors UNET FP8?
Modelo Civitai 1356617 (FP8 podado) ou repo oficial Tencent no HuggingFace (hunyuan-video-t2v-720p/transformers/mp_rank_00_model_states_fp8.pt — converter para safetensors).
Fonte: https://civitai.com/articles/13522; https://huggingface.co/tencent/HunyuanVideo
Quais flags de inicialização devo usar para placa de 24 GB?
python main.py --fp32-text-enc --fp32-vae --use-sage-attention
Sem --highvram, sem --bf16-unet. Carregue o UNET FP8 (Civitai 1356617) e VAE BF16 podado (Civitai 1489354).
Fonte: https://civitai.com/articles/13522; https://blog.comfy.org/p/hunyuanvideo-native-support-in-comfyui
Links internos
- Aprofundamento do fluxo nativo ComfyUI
- Quantização FP8 explicada para modelos de vídeo
- Treino de LoRA no Linux com diffusion-pipe
Sources
- Tencent HunyuanVideo model card — VRAM tables, FP8 release date, architecture details: https://huggingface.co/tencent/HunyuanVideo
- ComfyUI native support announcement — workflow file list, folder structure: https://blog.comfy.org/p/hunyuanvideo-native-support-in-comfyui
- Tencent HunyuanVideo GitHub — inference repo, docker, requirements: https://github.com/Tencent/HunyuanVideo
- Civitai article 13522 — model file recommendations, flags, 8 GB workflow: https://civitai.com/articles/13522
- Civitai article 9798 comments — LoRA training config, Windows DeepSpeed issues, VRAM at 768 px: https://civitai.com/articles/9798/training-a-lora-for-hunyuan-video-on-windows