ComfyUI para usuários A1111: Grafo, Nodes, Atalhos, Hábitos
Guia do grafo de nodes para migrantes do A1111: ler o grafo, cinco nodes iniciais, atalhos de teclado, hábitos que evitam workflows quebrados.
On this page
ComfyUI para usuários A1111: Grafo, Nodes, Atalhos, Hábitos
TL;DR
- ComfyUI é um grafo de nodes — cada caixa é uma operação discreta (carregar, codificar, amostrar, decodificar) com fios tipados (MODEL, CLIP, VAE, CONDITIONING, LATENT, IMAGE). Conceitos centrais
- Comece com cinco nodes: Load Checkpoint → CLIP Text Encode (×2) → KSampler → VAE Decode → Save Image. Primeira geração
- Aprenda quatro atalhos:
Ctrl+Enter(fila),Ctrl+B(bypass),R(atualizar),Espaço+arrastar (pan). README - Adote dois hábitos: faça backup de workflows antes de editar e use
--disable-all-custom-nodespara isolar problemas. Documentação de troubleshooting
Por que o ComfyUI parece estranho depois do Automatic1111
Automatic1111 apresenta abas e sliders; ComfyUI apresenta um grafo acíclico direcionado — caixas conectadas por fios onde cada node executa uma operação. Dados fluem da esquerda para direita através de tensores tipados. Se você já usou um editor de nodes no Nuke, Blender ou Unreal, pense nele como um ambiente de programação visual de blocos reutilizáveis.
Essa arquitetura significa:
- Você vê o pipeline inteiro — sem txt2img/abas/extras.
- Reutilização nativa — qualquer sub-grafo pode ser salvo/compartilhado/arrastado.
- Execução preguiçosa — só reexecuta nodes cujas entradas mudaram.
Conceitos centrais: "uma coleção de objetos de programa chamados nodes que estão conectados entre si, formando uma rede" onde "apenas partes do grafo que mudam de uma execução para a próxima serão executadas." Fonte
Lendo o grafo: tipos de dados e direção
Cada fio carrega um tensor tipado (passe o mouse para ver). Os seis tipos que você vai encontrar:
Tipo | O que carrega | Produzido por | Consumido por | Fonte
|------|-----------------|-------------|-------------|--------
MODEL | Rede de denoising (UNet) | Load Checkpoint | KSampler, ControlNet Apply | Docs KSampler/Checkpoint CLIP | Codificador de texto | Load Checkpoint | CLIP Text Encode | Docs CheckpointLoaderSimple VAE | Conversor latente↔pixel | Load Checkpoint | VAE Decode, VAE Encode | Docs CheckpointLoaderSimple CONDITIONING | Embeddings de prompt | CLIP Text Encode | KSampler | Docs KSampler LATENT | Tensor de imagem comprimido | Empty Latent Image, KSampler | KSampler, VAE Decode | Docs KSampler IMAGE | Tensor de pixel (H×W×3) | VAE Decode, Load Image | Save Image, Preview Image | Docs KSampler
Regra de direção: dados fluem saída → entrada. Um fio vermelho significa incompatibilidade de tipo — passe o mouse para ver o esperado vs. o real. Fonte
Os cinco nodes que você precisa para text-to-image
Esqueça a biblioteca de nodes. Arraste estes para o canvas em ordem:
- Load Checkpoint (
CheckpointLoaderSimple) — seleciona o arquivo.safetensors. SaídasMODEL,CLIP,VAE. Docs CheckpointLoaderSimple - CLIP Text Encode (×2) — prompts positivo e negativo. Recebe
CLIP, produzCONDITIONING. - KSampler — o denoiser. Recebe
MODEL, ambosCONDITIONING, umLATENT(do Empty Latent Image), maisseed,steps,cfg,sampler_name,scheduler,denoise. ProduzLATENTdenoisado. - VAE Decode — converte
LATENT→IMAGEusando o VAE do passo 1. - Save Image — grava o
IMAGEno disco e mostra preview. Primeira geração
Conecte da esquerda para direita: Checkpoint → (CLIP para ambos Text Encodes) → (MODEL + ambos CONDITIONING + LATENT para KSampler) → (LATENT do KSampler + VAE para VAE Decode) → (IMAGE para Save Image).
Tabela de configurações
Parâmetro | Node | Valor inicial | Por que importa | Fonte
|-----------|------|----------------|----------------|--------
ckpt_name | Load Checkpoint | v1-5-pruned-emaonly-fp16.safetensors | Arquitetura e pesos do modelo | Docs CheckpointLoaderSimple cfg | KSampler | 8.0 | Adesão ao prompt; >10 costuma queimar | Docs KSampler sampler_name | KSampler | euler_ancestral | Rápido; tente dpmpp_2m para qualidade | Docs KSampler scheduler | KSampler | normal | karras pode aguçar detalhes | Docs KSampler denoise | KSampler | 1.0 | 1.0 = txt2img; <1.0 = img2img | Docs KSampler
Fonte: Docs embutidas KSampler, tutorial primeira geração.
Atalhos de teclado que valem aprender no dia um
ComfyUI vem com um conjunto completo de atalhos (documentados no README do GitHub). Os que mais reduzem atrito para migrantes do A1111:
Ação | Atalho | Quando usar | Fonte
|--------|----------|-------------------|--------
Enfileirar prompt | Ctrl + Enter | Substitui o grande botão laranja Generate | README Cancelar geração | Ctrl + Alt + Enter | Para um job descontrolado | README Desfazer / Refazer | Ctrl + Z / Ctrl + Y | Edição de grafo é destrutiva; desfazer salva você | README Bypass nodes selecionados | Ctrl + B | Desativa ControlNet / IP-Adapter sem deletar | README Agrupar nodes selecionados | Ctrl + G | Colapsa clusters visuais | README Pan no canvas | Espaço + arrastar | Evita arrastar fios acidentalmente | README Ajustar visão | . (ponto) | Enquadra todo o grafo instantaneamente | README Atualizar grafo | R | Recarrega após soltar novos checkpoints | README
Três configurações de UI para mudar agora:
- Settings → Comfy → Menu → Use new menu: ON — sidebar com Assets, Nodes, Models, Workflows, Templates. Saiba mais
- Settings → Comfy → Locale — suporta EN, ZH, RU, FR, JA, KO.
Hábitos que evitam workflows quebrados
1. Faça backup antes de rewirar
Arraste um workflow .json para o canvas para carregá-lo. Antes de mover nodes, pressione Ctrl+S. O arquivo original permanece intacto; você está editando a cópia ao vivo do navegador.
Fonte: "É fácil quebrar coisas e não necessariamente fácil consertar." — Artigo Civitai 9471
2. Use a ferramenta mão para navegação
Barra de ferramentas no canto inferior direito: clique no ícone de seta para alternar modo mão. No modo mão, arrastar faz pan sem selecionar ou mover nodes. Modo seta permite rewire — mas um clique descuidado arrasta um node e prende fios. Civitai 9471
3. Isole falhas de custom-nodes com busca binária
Quando um workflow lança caixas vermelhas ou "ModuleNotFoundError":
- Inicie com
python main.py --disable-all-custom-nodes. - Se funcionar, reative metade dos custom nodes, reinicie, teste.
- Repita até achar o culpado.
Comfy CLI automatiza isso: comfy-cli node bisect start → marque good/bad → comfy-cli node bisect reset. Fonte
4. Leia caixas vermelhas da esquerda para direita
Uma borda vermelha no node significa entrada faltando. Dê zoom out (tecla -), ache a caixa vermelha mais à esquerda. O dropdown de entrada mostra o nome do arquivo que o ComfyUI espera. Busque no seu drive esse arquivo (Windows: Everything by Voidtools é excelente). Solte na pasta que o dropdown referencia, pressione R para atualizar, selecione. Civitai 9471
5. Prefira CheckpointLoaderSimple
O antigo CheckpointLoader pede config e checkpoint. CheckpointLoaderSimple precisa só do nome do checkpoint e separa MODEL/CLIP/VAE automaticamente. O node legado está depreciado. Fonte
6. Bypass, não delete
Precisa comparar com/sem ControlNet? Selecione o node, pressione Ctrl+B. Ele acinzentas e os fios passam através. Ctrl+B de novo para reativar. Deletar força você a reconectar. Fonte: "Bypass selected nodes (acts like the node was removed from the graph and the wires reconnected through)."
Erros comuns e correções
Sintoma | Causa provável | Correção | Fonte
|---------|--------------|-----|--------
"ModuleNotFoundError: No module named 'xyz'" | Dependência de custom node faltando ou Python env errado | Rode pip install -r requirements.txt dentro da pasta do node, ou use Manager → Install Missing Nodes | ComfyUI-Manager Caixa vermelha no Load Checkpoint, dropdown vazio | Checkpoint não está em models/checkpoints/ | Mova .safetensors para lá, pressione R | Civitai 9471 KSampler roda mas Save Image não mostra nada | Fio faltando para VAE Decode ou VAE não conectado | Conecte KSampler → VAE Decode → Save Image; conecte VAE do Load Checkpoint | Docs KSampler "Torch not compiled with CUDA" | PyTorch instalado apenas CPU | Reinstale: pip install torch torchvision torchaudio --extra-index-url https://download.pytorch.org/whl/cu130 | README ComfyUI Nodes faltando (caixas cinza "Unknown") | Custom nodes não instalados | Manager → Install Missing Nodes; ou clone o repo Git em custom_nodes/ | ComfyUI-Manager Imagem gerada é cor sólida | denoise muito baixo ou cfg extremo | Configure denoise=1.0 para txt2img; mantenha cfg entre 5–9 | Docs KSampler
Fontes: Docs troubleshooting ComfyUI, docs embutidas KSampler, Artigo Civitai 9471, README ComfyUI Manager.
FAQ
Quais são os nodes mais importantes do ComfyUI para iniciantes? Load Checkpoint, CLIP Text Encode (positivo + negativo), KSampler, VAE Decode, Save Image. Esses cinco formam todo pipeline text-to-image. Tudo mais — ControlNet, IP-Adapter, upscalers — conecta nessa espinha dorsal. Saiba mais
Como carregar um modelo no ComfyUI sem saber o nome do arquivo? Solte um .safetensors em ComfyUI/models/checkpoints/ (ou subpasta). Pressione R no canvas. O dropdown do Load Checkpoint atualiza e mostra o novo arquivo.
Qual a diferença entre nodes LATENT e IMAGE? Empty Latent Image cria um tensor comprimido vazio que o KSampler denoisa. VAE Decode converte esse LATENT em IMAGE (pixels). Save Image grava no disco. Você nunca vê pixels até depois do VAE Decode.
Como faço bypass do ControlNet sem deletar o node? Selecione o node, pressione Ctrl+B. Ele acinzentas e os fios passam através. Ctrl+B de novo para reativar.
O que o parâmetro 'seed' faz? Seed inicializa o tensor de ruído aleatório. Mesmo seed + mesmas entradas = saída idêntica. control_after_generate oferece random, increment/decrement, e fixed.
Por que meu workflow faz cache do resultado em vez de regenerar? ComfyUI só reexecuta nodes alterados. Se nenhuma entrada difere, retorna saída em cache. Mude um prompt, seed ou parâmetro para forçar reexecução.