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
| Tipo | O que extrai da imagem de referência | Indicado para |
|---|---|---|
| Canny | Linhas de contorno | Preservar contornos e detalhes, como em produtos e prédios |
| Lineart | Arte linear | Colorir um desenho e transformá-lo em uma ilustração completa |
| OpenPose | Esqueleto humano (pose, mãos e rosto) | Definir a pose de uma pessoa |
| Depth | Profundidade (distância) | Preservar a estrutura espacial e a perspectiva |
| Scribble | Rabisco simples | Controlar a composição com um esboço feito à mão |
| Tile | Detalhes da própria imagem | Manter a consistência e adicionar detalhes ao ampliar |
O que você precisa
- 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. - 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:
- Comece pelo fluxo de trabalho de texto para imagem.
- Adicione Load Image e carregue a imagem de referência.
- Adicione o nó Canny e conecte a imagem de referência. Execute uma vez e confira as linhas extraídas em Preview Image.

- Adicione Load ControlNet Model e selecione um modelo Canny.
- Adicione Apply ControlNet:
- Conecte
positiveenegativeàs saídas dos dois nós CLIP Text Encode. - Conecte
control_netao Load ControlNet Model. - Conecte
imageà saída do Canny. - Conecte
vaeao VAE do modelo (necessário para alguns modelos ControlNet).
- Conecte
- Conecte as saídas positive e negative de Apply ControlNet ao KSampler.
- Defina as dimensões de Empty Latent Image com a mesma proporção da imagem de referência.

Parâmetros
| Parâmetro | Descrição | Recomendação |
|---|---|---|
strength | Intensidade do controle | 0.5-1.0. Se for muito alta, a imagem fica rígida e os detalhes parecem artificiais |
start_percent | Em que etapa do processo de geração o controle começa | 0 |
end_percent | Em que etapa o controle para | 0.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
- Use o preprocessador DWPose Estimator ou OpenPose Pose (do controlnet_aux) para extrair o esqueleto de uma foto de uma pessoa.
- Confira se o esqueleto está correto em Preview Image.
- 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ção | Causa |
|---|---|
| Erro ou nenhum efeito | A 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 linhas | strength muito alto ou end_percent muito alto |
| Pessoa deformada | A 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 encontrado | comfyui_controlnet_aux ainda não foi instalado |
Atualizado 12 de outubro de 2026