Conteúdo

Tutorial de ControlNet no ComfyUI: controle a composição com esboços, poses e profundidade

Só com prompts, é difícil controlar com precisão a pose de uma pessoa, a perspectiva de um prédio ou a composição da imagem. ControlNet permite fornecer uma imagem de referência e extrair dela informações estruturais (linhas, pose, profundidade) para que a imagem gerada siga essa estrutura.

Tipos de controle comuns

TipoO que extrai da imagem de referênciaIndicado para
CannyLinhas de contornoPreservar contornos e detalhes, como em produtos e prédios
LineartArte linearColorir um desenho e transformá-lo em uma ilustração completa
OpenPoseEsqueleto humano (pose, mãos e rosto)Definir a pose de uma pessoa
DepthProfundidade (distância)Preservar a estrutura espacial e a perspectiva
ScribbleRabisco simplesControlar a composição com um esboço feito à mão
TileDetalhes da própria imagemManter a consistência e adicionar detalhes ao ampliar

O que você precisa

  1. Modelo ControlNet: coloque-o em models/controlnet/. A versão deve corresponder à do modelo base (SD 1.5, SDXL e Flux têm modelos ControlNet diferentes). Também existem modelos do tipo “Union”, em que um único arquivo oferece suporte a vários tipos de controle.
  2. Preprocessador (Preprocessor): converte a imagem de referência no formato necessário ao ControlNet (por exemplo, transforma uma foto em linhas ou em um esqueleto). Canny tem um nó integrado; para os outros tipos, normalmente é preciso instalar o nó personalizado comfyui_controlnet_aux (consulte Nós personalizados e Manager).

Criar um fluxo de trabalho (exemplo com Canny)

[Load Image] ─▶ [Canny] ─IMAGE────────────────┐
                                              ▼
[CLIP Text Encode positivo] ─CONDITIONING─▶ [Apply ControlNet] ─positive─▶ [KSampler]
[CLIP Text Encode negativo] ─CONDITIONING─▶                    ─negative─▶
[Load ControlNet Model] ─CONTROL_NET──▶
                         vae ─────────▶

Etapas:

  1. Comece pelo fluxo de trabalho de texto para imagem.
  2. Adicione Load Image e carregue a imagem de referência.
  3. Adicione o nó Canny e conecte a imagem de referência. Execute uma vez e confira as linhas extraídas em Preview Image.
Resultado exibido em Preview Image após a execução
Depois de clicar em Run, o resultado aparece diretamente nos nós Preview Image / Save Image (neste exemplo, detecção de bordas com Canny)
  1. Adicione Load ControlNet Model e selecione um modelo Canny.
  2. Adicione Apply ControlNet:
    • Conecte positive e negative às saídas dos dois nós CLIP Text Encode.
    • Conecte control_net ao Load ControlNet Model.
    • Conecte image à saída do Canny.
    • Conecte vae ao VAE do modelo (necessário para alguns modelos ControlNet).
  3. Conecte as saídas positive e negative de Apply ControlNet ao KSampler.
  4. Defina as dimensões de Empty Latent Image com a mesma proporção da imagem de referência.
Fluxo de trabalho ComfyUI ControlNet Canny
ControlNet (Canny): a imagem de referência passa por Detect Edges (Canny) para extrair as linhas; Apply ControlNet modifica os prompts positivo e negativo antes de conectá-los ao KSampler

Parâmetros

ParâmetroDescriçãoRecomendação
strengthIntensidade do controle0.5-1.0. Se for muito alta, a imagem fica rígida e os detalhes parecem artificiais
start_percentEm que etapa do processo de geração o controle começa0
end_percentEm que etapa o controle para0.6-1.0

Dica: defina end_percent entre 0.5 e 0.7. Na primeira metade, o ControlNet determina a composição; na segunda, o modelo tem liberdade para trabalhar nos detalhes. O resultado costuma ficar mais natural.

OpenPose: controlar a pose de uma pessoa

  1. Use o preprocessador DWPose Estimator ou OpenPose Pose (do controlnet_aux) para extrair o esqueleto de uma foto de uma pessoa.
  2. Confira se o esqueleto está correto em Preview Image.
  3. Conecte um modelo ControlNet OpenPose.

A pessoa gerada terá a mesma pose da foto, mas a aparência, as roupas e o cenário serão definidos pelo prompt.

Depth: preservar a estrutura espacial

Use um preprocessador como Depth Anything para gerar um mapa de profundidade. É indicado para:

  • Redesenhar uma foto de interior com outro estilo de decoração
  • Preservar a perspectiva de um prédio ou cenário e mudar a estação, o horário ou o estilo artístico

Combinar vários ControlNets

Encadeie vários Apply ControlNet: conecte as saídas positive / negative do primeiro às entradas do segundo. Por exemplo, use OpenPose para controlar a pose e Depth para controlar o cenário. Reduza moderadamente a intensidade de cada um para evitar conflitos.

Problemas comuns

SituaçãoCausa
Erro ou nenhum efeitoA versão do modelo ControlNet não corresponde à do modelo base (por exemplo, usar um ControlNet de SD 1.5 com SDXL)
Imagem rígida, com marcas de linhasstrength muito alto ou end_percent muito alto
Pessoa deformadaA imagem de referência e a saída têm proporções diferentes, ou a extração do esqueleto falhou
Nó do preprocessador não encontradocomfyui_controlnet_aux ainda não foi instalado

Atualizado 12 de outubro de 2026