ArtificialGuyBR

Home / Blog / AI video

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.

5 sources cited AI video

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.safetensors como modelo de difusão, clip_l.safetensors + llava_llama3_fp8_scaled.safetensors como codificadores de texto, e hunyuan_video_vae_bf16.safetensors como 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?

ComponenteArquivo recomendado (≤24 GB)Alternativa (48 GB+)Source
UNETFP8 podado (Civitai 1356617)BF16 completo (Civitai 1360886)[1][2]
CLIP-LFP32 podado (Zer0Int Improved Text)FP32 visão completa (Base ViT)[2]
Codificador de textollava_llama3_fp8_scaled.safetensorsFP32 não censurado[1][2]
VAEBF16 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

ModeloID CivitaiPrecisãoTag de tamanhoURL de download
UNET FP8 (podado)1356617FP8prunedhttps://civitai.com/api/download/models/1356617?type=Model&format=SafeTensor&size=pruned&fp=fp8
UNET BF16 (completo)1360886BF16fullhttps://civitai.com/api/download/models/1360886?type=Model&format=SafeTensor&size=full&fp=bf16
VAE FP8 (completo)1356700FP8fullhttps://civitai.com/api/download/models/1356700?type=Model&format=SafeTensor&size=full&fp=fp8
VAE BF16 (podado)1489354BF16prunedhttps://civitai.com/api/download/models/1489354?type=Model&format=SafeTensor&size=pruned&fp=bf16
VAE FP32 (completo)1356987FP32fullhttps://civitai.com/api/download/models/1356987?type=Model&format=SafeTensor&size=full&fp=fp32
CLIP-L FP32 podado (Zer0Int Improved Text)1172273FP32prunedhttps://civitai.com/api/download/models/1172273?type=Model&format=SafeTensor&size=pruned&fp=fp32
CLIP-L FP32 completo (Base ViT)N/AFP32fullhttps://huggingface.co/openai/clip-vit-large-patch14/blob/main/model.safetensors
CLIP-L FP32 (Zer0Int Gated-Balanced)N/AFP32fullhttps://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)1377716FP32fullhttps://civitai.com/api/download/models/1377716?type=Model&format=SafeTensor&size=full&fp=fp32
Codificador de texto FP32 não censurado (podado)1648387FP32prunedhttps://civitai.com/api/download/models/1648387?type=Model&format=SafeTensor&size=pruned&fp=fp32
Codificador de texto BF16 não censurado (podado)1648546BF16prunedhttps://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:

PastaNome do arquivoFunção
models/diffusion_modelshunyuan_video_t2v_720p_bf16.safetensorsUNET (transformador de difusão)
models/text_encodersclip_l.safetensorsCodificador de imagem CLIP-L
models/text_encodersllava_llama3_fp8_scaled.safetensorsCodificador de texto MLLM (FP8)
models/vaehunyuan_video_vae_bf16.safetensorsDecodificador 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.safetensors aparece 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

SintomaCausaCorreçãoSource
OOM / block-swap em placa 24 GBUsando UNET BF16Troque para UNET FP8 (Civitai 1356617)https://civitai.com/articles/13522
CLIP carrega na GPU em vez de CPUFlag --highvram ativadaRemova --highvram; deixe o offload funcionarhttps://civitai.com/articles/13522
VAE decodifica em FP16 apesar de pesos FP32ComfyUI faz downcast do VAE FP32Inicie com --fp32-vaehttps://civitai.com/articles/13522
Codificador de texto lento ao rodar offload na CPUCPU emula FP16 fazendo upcast para FP32, então pesos FP16 não trazem ganhoAdicione --fp32-text-enc; espere carregamento ligeiramente mais longo em troca de compute mais rápido na CPUhttps://civitai.com/articles/13522
Instalação do DeepSpeed falha no Windows 10Sem wheels para WindowsTreine no WSL2 / VM Linuxhttps://civitai.com/articles/9798 (comentários)
Decodificação VAE falha após execução longaFluxo padrão excede VRAMReduza 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 reconhecidaFlag não existe no ComfyUI oficialUse escolha de arquivo de modelo (safetensors FP8 vs BF16) em vez dissohttps://civitai.com/articles/13522 (exemplo .bat)
Compatibilidade Sage Attention desconhecida--use-sage-attention não verificadoTeste com/sem; pode não funcionar com arquitetura HunyuanVideohttps://civitai.com/articles/13522 (exemplo .bat)

Ressalvas práticas de relatos da comunidade

  1. A flag --bf16-unet em scripts de exemplo não é uma flag documentada do ComfyUI. O artigo da Civitai inclui --bf16-unet --use-sage-attention no .bat de 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.
  1. 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.
  1. 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.
  1. 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.
  1. 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.
  1. Identidade da ferramenta diffusion-pipe incerta. A config de treino referencia diffusion-pipe com type = 'hunyuan-video'. O repositório kohya-ss/diffusion-pipe retorna 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.
  1. 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



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

Image placeholders