Fluxo de Trabalho WAN 2.5 ComfyUI: Melhor Grafo de Nós + Configurações para Resultados Estáveis

Fluxo de Trabalho WAN 2.5 ComfyUI: Melhor Grafo de Nós + Configurações para Resultados Estáveis

Oi, amigo! Sou a Dora. Naquele dia, eu estava montando pequenos loops de produtos para uma demonstração, e minha configuração habitual continuava se deslocando, as mangas dos personagens mudavam, o fundo pulsava, o movimento oscilava nas bordas. Não era terrível, apenas distraente. Eu queria um fluxo de trabalho de vídeo que se comportasse como uma mão firme, não um jogo de adivinhação.

Passei algumas noites este mês (janeiro de 2026) colocando WAN 2.5 em funcionamento de forma limpa no ComfyUI. Nada sofisticado. Mantive o gráfico mínimo, bloqueei algumas configurações e testei diferentes maneiras de manter o movimento estável sem remover as partes interessantes. Aqui está o que se estabeleceu e onde não. Se você está procurando “WAN 2.5 ComfyUI” porque quer algo funcional, não performático, esta é a versão que eu te daria tomando um café.

Gráfico de nós mínimo

Experimentei alguns gráficos mais amplos no início. Eles pareciam poderosos na tela e se sentiam frágeis na prática. A configuração mais confiável para WAN 2.5, pelo menos na minha máquina (RTX 4090, 24 GB VRAM), era propositalmente monótona.

Com o que acabei:

  • Carregador de modelo para WAN 2.5 (os pesos oficiais + configuração: carregados uma vez no início)
  • Codificador de texto (um prompt, um prompt negativo)
  • Nó de seed (seed único, não por quadro)
  • Amostrador para vídeo (amostrador de WAN ou um amostrador de vídeo compatível no ComfyUI)
  • VAE (decodificar no final: sem re-codificações no meio do gráfico)
  • Salvar vídeo

É isso. Nenhum upscaler extra, nenhum adaptador de orientação, nenhuma ramificação de ruído. Não porque essas coisas sejam ruins, mas porque eu queria ver o que WAN 2.5 faz sem ajuda. A vantagem era clara: menos partes móveis, menos surpresas. Quando algo cintilava, eu sabia que não era um nó externo.

Se você está começando do zero, eu instalaria ComfyUI novamente, adicionaria ComfyUI Manager para gerenciamento de nós mais fácil, e depois adicionaria o pacote de nós WAN 2.5 de sua fonte oficial. Depois disso, resista ao impulso de decorar o gráfico. Obtenha um clipe de 3 a 4 segundos renderizado de forma limpa com uma resolução modesta. Então adicione complexidade se ainda precisar.

Linha de base de configurações

Testei alguns baselines e os ajustei para cima ou para baixo até que os clipes pararam de oscilar.

Meu ponto de partida estável:

  • Resolução: 896×504 (16:9). Divisível por 16, leve em VRAM, bom o suficiente para julgar o movimento.
  • Duração: 48 quadros a 12 fps (~4 segundos). Tempo suficiente para detectar deslocamento, curto o suficiente para iterar.
  • Passos: 28–32. Abaixo de 24 tendia a desfocar o movimento: acima de ~36 não comprava muito para mim.
  • Orientação CFG: 4.0–6.0. Eu sentei principalmente em 5.0. Valores mais altos empurravam o estilo, mas aumentavam o cintilamento micro.
  • Amostrador: Euler ou DPM++ 2M SDE (compilação compatível com vídeo). DPM++ parecia um pouco mais estável quadro a quadro.
  • Força de denoise: 0.85–0.9 para texto para vídeo. Se condicionado a uma imagem, eu diminuía para 0.7–0.8.
  • Seed: fixo. Mesmo seed em todo o clipe.

Na 4090, esse baseline renderizou ~4 segundos em cerca de 2 a 3 minutos. Em uma 4080 Super que peguei emprestada por uma tarde, foi mais perto de 3 a 4 minutos. Quando aumentei para 1024×576, o tempo de renderização subiu ~20–30% e o uso de VRAM se aproximou de 17 GB.

Pequena observação: se você está perseguindo fps mais altos para reprodução (digamos 24), descobri melhores resultados gerando a 12 fps e interpolando depois do que tentando renderizar diretamente em 24. O amostrador tinha uma maneira mais fácil de se manter consistente.


Estratégia de consistência

Manter a aparência consistente é basicamente três alavancas: seed, condicionamento e com que agressividade você empurra o prompt.

O que funcionou para mim:

  • Bloqueie a seed e não a toque. Em uma execução, eu ativei acidentalmente a semeação por quadro, caos instantâneo de guarda-roupa.
  • Mantenha os prompts curtos. WAN 2.5 parece mais feliz com substantivos claros e uma sugestão de estilo suave do que com adjetivos empilhados. “Um barco de papel em uma rua chuvosa, luz suave, cores amortecidas” funcionou melhor do que um parágrafo.
  • Use uma imagem de referência apenas se precisar dela. O condicionamento de imagem ajudou a ancorar o design de personagens (cabelo, roupa), mas às vezes sobre-restringiu o movimento. Quando usei, diminui a força de denoise e CFG em ~0.5.
  • Prompts negativos podem acalmar o cintilamento: “iluminação áspera, destaques piscantes, distorção de lente.” Apenas não despeje tudo o que você não gosta: 3 a 6 itens é bastante.

Também tentei uma ramificação IP-Adapter para bloquear a pose em quadros. Ajudou em cenas “natureza morta com pequeno movimento” (vapor, ondulações), mas para movimento de personagem às vezes beliscava gestos. Bom ferramenta, recompensa situacional.


Estabilidade de movimento

Esta foi a parte mais complicada. Movimento suave sem transformar tudo em gelatina.

Os pequenos ajustes que importavam:

  • Moderação de orientação. Manter CFG perto de 5.0 reduzia pequenos pops de iluminação entre quadros.
  • Limite de contagem de passos. Cruzar ~36 passos me deu quadros mais nítidos, mas mais micro-oscilação ao longo do tempo.
  • Escolha do amostrador. DPM++ 2M SDE era consistentemente mais calmo em panorâmicas e zooms lentos: Euler se sentiu mais rápido, mas cintilava nas bordas de alto contraste.
  • Verbos de prompt. Palavras como “instável, de mão livre, caótico” fazem o que dizem. Eu as evitava a menos que quisesse esse efeito.
  • Fontes de luz. Luzes pontuais duras e destaques especulares encorajavam brilho. “Céu nublado” ou “iluminação softbox” mantiveram as superfícies estáveis.

Quando precisava de mais controle, adicionei duas coisas pós-renderização em vez de dentro do gráfico:

  • Uma passagem de deflicker leve (deflicker do DaVinci Resolve ou um filtro FFmpeg) em intensidade baixa.
  • Interpolação de quadro 12→24 fps com interpolação com compensação de movimento. Suavizou o movimento percebido sem confundir o modelo durante a geração.

Uma surpresa: empurrões de câmera (dolly-in lento) se mantiveram melhor do que panorâmicas laterais. Se uma panorâmica esquerda-direita continuava rasgando na sinalização, eu reformulava o prompt para “a câmera se move suavemente para frente” e obtinha resultados mais limpos com uma sensação semelhante.


Renderização em lote

Não esperava que batching ajudasse, mas ajudou, principalmente para tomada de decisão. Executar 4 a 8 seeds um atrás do outro expôs quais prompts tinham pernas de verdade.

O que eu usei:

  • Um simples nó “Seed (batch)” alimentando o mesmo gráfico.
  • Comprimento de fila de 4 a 6 jobs. Além disso, comecei a cuidar de termais por nenhuma boa razão.
  • Mesmas configurações de baseline em todo o lote: apenas seed variado.

Dicas de algumas noites de execuções:

  • Mantenha a duração curta em lotes (2 a 3 segundos). Você saberá em um segundo se uma seed é promissora.
  • Salve com nomes de arquivo informativos: slug de prompt + seed + resolução + fps. Eu adicionei a seed aos metadados de vídeo também, o futuro eu agradecerá ao eu presente.
  • Se VRAM disparar, reduza o tamanho do lote para 1, mas mantenha a lista de seeds. Ainda é lote em espírito.

Tentei fazer lotes com diferentes valores de CFG de uma só vez. Funcionou, mas confundiu a comparação. Obtive leituras mais limpas isolando uma variável por lote.


Erros comuns

Alguns delinquentes repetidos apareceram. Nenhum foi dramático, mas eles comeram tempo até eu anotá-los.

  • CUDA sem memória. Geralmente um sinal de que eu tinha empurrado a resolução um pouco além de um penhasco. Correções: reduza largura/altura em 64 px, reduza passos em 4 a 6, ou feche qualquer coisa roendo VRAM (abas do navegador contam). Meia precisão (fp16) ajudou.
  • Modelo/configuração incompatíveis. Se o carregador WAN 2.5 e sua configuração discordarem, você obterá erros de forma ou dtype. Reinstalar o pacote de nós e reselecionar a configuração exata corrigiu.
  • Dimensões não divisíveis. Decodificadores de vídeo são mais caprichosos. Fico com múltiplos de 16 para largura e altura.
  • Codec não suportado. O nó Save Video às vezes padronizava um codec que meu FFmpeg do sistema não gostava. Eu defini H.264 com yuv420p explicitamente para evitar quadros verdes.
  • Prompts quebrados. Negativos muito especificados fizeram os rostos desabarem. Remover “deformado, desfigurado, feio” (o boilerplate usual) melhorou a estabilidade em vários clipes.

Quando os logs ficavam barulhentos, eu verificava duas coisas primeiro: a versão ComfyUI (atualize se estiver alguns dias atrás), e o driver NVIDIA. Dois terços da minha estranheza viviam lá. Se você está preso, os problemas do ComfyUI GitHub são surpreendentemente diretos sobre padrões de erro. Se você prefere focar em prompts e movimento em vez de drivers e limites de VRAM, esse é um dos motivos pelos quais construímos WaveSpeed. Oferecemos acesso gerenciado a modelos como WAN 2.5 através de uma camada de API estável — para que você possa gerar sem manter a pilha local.


Exportação

Parei de pensar demais em exportação uma vez que escolhi um caminho limpo.

O que eu uso para rascunhos:

  • Codec: H.264
  • Formato de pixel: yuv420p
  • FPS: compatibilidade com geração (geralmente 12)
  • Taxa de bits: constante 8 a 12 Mbps para 896×504

Para edição, eu exporto com mais perdas primeiro, depois aumento apenas os vencedores:

  • Interpole 12→24 fps em pós-produção.
  • Se eu precisar de arquivos amigos de grau, eu renderizo finais para ProRes 422 LT. Mais pesado, mas muito melhor para passagens de cor.

Duas pequenas observações que me salvaram de re-renderizações:

  • Mudanças de cor: alguns players elevam os pretos em yuv420p. Se parecer errado no VLC, mas bem no Resolve, é o player.
  • Áudio: o nó Save Video não o adicionará. Se eu precisar de uma trilha sonora temporária, eu misturo com FFmpeg depois.

Eu também incorporo a seed, passos, CFG e resolução no nome do arquivo e em um JSON complementar. É anotações monótonas que evitam arqueologia futura.


Ideia de template

O template que mantenho agora é pequeno e tem três alternadores.

Esqueleto do gráfico:

  • Carregador WAN 2.5 → codificar texto → seed fixo → amostrador de vídeo → decodificar VAE → Salvar vídeo

Três ramificações opcionais que posso ativar ou desativar:

  • Condicionamento de imagem de referência. Quando quero personagens estáveis. Vem com uma queda automática em denoise e CFG.
  • Cronograma de prompt. Um prompt de duas fases suave para clipes com um beat simples (por exemplo, “começa chuva” após um segundo). Mantenho as transições suaves para evitar cintilamento.
  • Lista de seeds em lote. Um único campo onde colo 3 a 8 seeds.

Padrões integrados:

  • 896×504 a 12 fps, 48 quadros, CFG 5.0, passos 30
  • Exportação H.264 com yuv420p, modelo de nome de arquivo que inclui a seed

É o oposto de sofisticado, e esse é o ponto. Quero um template que me empurre para os mesmos hábitos toda vez: clipes curtos primeiro, uma variável de cada vez, anotações conforme vou.

Para quem se adequa: qualquer pessoa que valoriza a constância sobre a surpresa, equipes de produto fazendo shots repetíveis, criadores solo que precisam de uma aparência previsível, e pessoas que acham gráficos gigantes mais cansativos do que empoderador.

Quem vai não gostar: se você ama alavancas máximas e aparências emergentes caóticas, você vai se decepcionar com isso. Tudo bem.

Por que importa para mim: WAN 2.5 em ComfyUI finalmente parecia que respeitava minha atenção. Menos botões, trocas mais claras e resultados nos quais eu podia confiar o suficiente para construir.

Ainda estou curioso sobre como WAN se comporta em resoluções mais altas e sequências mais longas, mas não tenho pressa. A vitória silenciosa para mim foi perceber que pequenas mudanças, um CFG mais calmo, uma seed fixada, iluminação mais suave, fizeram mais para a estabilidade do que qualquer nó herói. Eu continuava esperando um truque. Acabou sendo um sistema.