ControlNet: dominar a composição de suas images
O ControlNet adiciona a um modelo de difusão uma condição visual (contornos, profundidade, pose) que fixa a composição enquanto o prompt controla o estilo. Seu método recebeu o prêmio de melhor artigo na ICCV 2023. Ele funciona no ComfyUI, no Forge ou no AUTOMATIC1111 e está disponível para SD 1.5, SDXL, SD 3.5 Large, Flux.1 e Z-Image Turbo. Atenção: um controle funciona apenas com a família de modelos para a qual foi treinado.
Um prompt descreve um conteúdo; ele não descreve uma posição. O ControlNet condiciona a geração de imagens a uma estrutura de referência, uma pose, um contorno ou um mapa de profundidade, para que o resultado siga uma composição que você decide. Este guia, atualizado em 28 de setembro de 2026, explica qual controle escolher, como ajustar a força e a faixa de aplicação, quanto pesam os arquivos de acordo com a família de modelos e qual é o estado atual da oferta oficial, que mudou muito desde o SD 1.5.
#O problema que isso resolve
O texto é uma linguagem ruim para a geometria. Você descreve um tema, um estilo e uma atmosfera em um prompt, mas a posição de uma mão, o ângulo de um edifício ou a silhueta exata de um produto não podem ser definidos com palavras. Ao executar novamente com outra semente, a composição muda completamente. O ControlNet altera a entrada, não o prompt: você fornece uma imagem que codifica a estrutura desejada, o modelo é condicionado por essa imagem em cada etapa da remoção de ruído, e o prompt controla todo o resto.
O método vem de um artigo de pesquisa: «Adding Conditional Control to Text-to-Image Diffusion Models», de Lvmin Zhang, Anyi Rao e Maneesh Agrawala, publicado nos anais do ICCV 2023 e vencedor do prêmio de melhor artigo da conferência, o prêmio Marr. Seu resumo descreve o princípio: o ControlNet congela o modelo de difusão, reutiliza suas camadas de codificação pré-treinadas como base e conecta a cópia treinável por meio de «zero convolutions», camadas de convolução inicializadas em zero que fazem os parâmetros crescerem progressivamente e evitam que um ruído prejudicial perturbe o treinamento. Os autores também mostram que o treinamento permanece robusto tanto com pequenos conjuntos de dados, com menos de 50.000 imagens, quanto com grandes conjuntos, com mais de um milhão.
O que isso muda para você: um controle é adicionado a um modelo existente sem retreiná-lo, e cada tipo de controle é um arquivo separado. É também por isso que é necessário o arquivo correto para a família de modelos certa.
#Escolher o tipo de controle
Imagens e vídeos de IA localmente, sem limites: ComfyUI, Flux, Z-Image, Wan 2.2 na sua GPU ou no seu Mac — workflows prontos para carregar, marco legal incluído.
- Espaço online vitalício
- PDF + arquivos
- Atualizações vitalícias
| Controle | O que ele captura | Para quê | Modelo ControlNet 1.1 para SD 1.5 |
|---|---|---|---|
| Contornos (canny, softedge, lineart) | Linhas e silhuetas | Manter a forma exata: um produto, um logotipo, um desenho para colorir | control_v11p_sd15_canny, _softedge, _lineart, _lineart_anime |
| Profundidade | A distância até a câmera | Manter o volume e a perspectiva ao mudar materiais e detalhes | control_v11f1p_sd15_depth |
| Pose | Um esqueleto de articulações | Personagens: a postura está definida, o restante é livre | control_v11p_sd15_openpose |
| Segmentação | Regiões por categoria | A disposição de uma cena: céu aqui, edifício ali | control_v11p_sd15_seg |
| Esboço (scribble) | Um rascunho grosseiro | Transformar um desenho à mão em uma imagem renderizada | control_v11p_sd15_scribble |
| Normais | A orientação das superfícies | Relevo e detalhes sensíveis à iluminação | control_v11p_sd15_normalbae |
| Bloco (tile) | Conteúdo de uma zona da imagem | Adicionar detalhes ao ampliar | control_v11f1e_sd15_tile |
O repositório oficial do ControlNet 1.1 anuncia 14 modelos, dos quais 11 estão prontos para produção e 3 são experimentais, todos nomeados segundo uma regra única. Para profundidade, ele lista três pré-processadores aceitos: Depth_Midas, Depth_Leres e Depth_Zoe. Um pré-processador é a ferramenta que transforma sua imagem de referência em um mapa de controle, por exemplo, uma foto em um mapa de profundidade.
A regra prática: escolha o controle menos restritivo que ainda capte o que importa para você. Um condicionamento por contornos aplicado a uma fotografia reproduz a fotografia: se esse era o resultado desejado, a geração foi desnecessária. A profundidade ou a pose geralmente proporcionam um melhor equilíbrio entre obediência e criatividade.
#Configurações que importam
Os nomes variam conforme a ferramenta, mas três ajustes aparecem em todos os casos. A tabela mostra seus nomes nos três ambientes mais comuns, conforme suas documentações.
| Ajuste | ComfyUI (nó Apply ControlNet) | Biblioteca diffusers | Extensão AUTOMATIC1111 |
|---|---|---|---|
| Força do controle | strength: quanto maior o valor, mais o controle influencia a imagem | controlnet_conditioning_scale: o peso dado ao controle | Control Weight: o peso da influência do controle, semelhante à ênfase de uma palavra do prompt |
| Momento de aplicação | start_percent e end_percent: 0,2 significa que o controle começa quando o processo de remoção de ruído chega a 20%; 0,8, que ele termina quando esse processo chega a 80% | control_guidance_start e control_guidance_end, em fração de etapas (0 a 1) | Start e End: a fração da geração em que o controle começa e termina |
| Precisão do mapa | Resolução do pré-processador, a ser configurada no nó de pré-processador | Tamanho da imagem de controle | O modo Pixel-Perfect calcula automaticamente a melhor resolução do pré-processador |
A intensidade do controle é o ajuste mais eficaz: perto do máximo, o resultado fica rígido, e reduzir essa intensidade corrige a maioria das imagens estáticas. Interromper o controle antes do fim da remoção de ruído fixa a composição, deixando o modelo livre para renderizar os materiais e a luz. A extensão do AUTOMATIC1111 adiciona um Control Mode com três opções: Balanced, My prompt is more important e ControlNet is more important, para ajustar o equilíbrio entre o prompt e o controle.
#Valores iniciais publicados pelos autores dos modelos
Em vez de inventar números, parta dos indicados pelos desenvolvedores. Eles variam bastante de uma família para outra, o que serve de lembrete de que uma configuração válida para SD 1.5 não pode ser simplesmente aplicada a outra família.
| Modelo | Ajuste recomendado | Fonte |
|---|---|---|
| Flux.1 dev, Union Pro 2.0 (Shakker Labs), canny ou soft edge | Força 0,7; fim em 0,8 | Ficha do modelo |
| Flux.1 dev, Union Pro 2.0, profundidade | Força 0,8; fim em 0,8 | Ficha do modelo |
| Flux.1 dev, Union Pro 2.0, pose | Força 0,9; fim em 0,65 | Ficha do modelo |
| Flux.1 dev, Union Pro 2.0, níveis de cinza | Força 0,9; fim em 0,8 | Ficha do modelo |
| Z-Image Turbo, Fun ControlNet Union | control_context_scale entre 0,65 e 0,80 | Ficha do modelo |
| Flux.1 dev, ControlNet canny de InstantX | Força de 0,5 no exemplo oficial | Documentação de diffusers |
| SDXL, dois controles combinados (canny e profundidade) | 0,5 para cada um no exemplo oficial | Documentação de diffusers |
#Qual ControlNet para qual família
A oferta mudou bastante desde a SD 1.5, e muitos guias estão obsoletos. A tabela diferencia o que o laboratório do modelo publica do que a comunidade publica, pois isso influencia a manutenção e a licença.
| Família | Controles publicados pelo criador do modelo | Controles da comunidade ou de terceiros |
|---|---|---|
| SD 1.5 | ControlNet 1.1 por lllyasviel: 14 modelos (canny, profundidade, pose, segmentação, esboço, tile…) | Muitos modelos derivados |
| SDXL | Control-LoRA da Stability AI: canny, profundidade, recolor e sketch | ControlNet canny e profundidade da equipe diffusers; ControlNet Union de xinsir (um arquivo, vários modos) |
| SD 3.5 Large | Três ControlNets da Stability AI, publicados em 26 de novembro de 2024: Blur, Canny e Depth | Poucas referências comparáveis |
| Flux.1 dev | FLUX.1 Canny e Depth da Black Forest Labs, em versões de modelo completo e de LoRA, publicados em novembro de 2024 | ControlNet Union da InstantX (versão beta) e Union Pro 2.0 da Shakker Labs |
| Z-Image Turbo | Nenhum na página do desenvolvedor (Tongyi-MAI) no Hugging Face no momento da nossa verificação | Fun ControlNet Union da Alibaba PAI: canny, HED, profundidade, pose e MLSD |
Dois pontos merecem destaque. Primeiro, a Black Forest Labs marcou o FLUX.1 Depth e o FLUX.1 Canny como obsoletos para sua API, incluindo as versões LoRA: os pesos abertos continuam disponíveis no Hugging Face, mas a empresa não os mantém mais. Segundo, os modelos “Union” agrupam vários modos em um único arquivo, o que economiza espaço em disco, ao custo de uma maturidade variável: a ficha do ControlNet Union da InstantX para Flux o apresenta como uma primeira versão beta, talvez ainda não totalmente treinada.
A licença não acompanha automaticamente o modelo base: cada arquivo de controle tem a sua própria licença, e ela muda de um arquivo para o outro.
| Controle | Licença | Para lembrar |
|---|---|---|
| ControlNet 1.1 para SD 1.5 | OpenRAIL | Licença do tipo RAIL com restrições de uso |
| ControlNet canny SDXL da equipe diffusers | OpenRAIL++ | Como no SDXL: restrições de uso listadas no anexo |
| ControlNet Union SDXL de xinsir | Apache 2.0 | Permissiva |
| Control-LoRA da Stability AI | Stability AI Control-LoRA Community License | Acima de 1 milhão de usuários ativos por mês, é necessária uma licença da Stability AI para uso comercial |
| ControlNets SD 3.5 Large | Stability AI Community License | Gratuito para uso comercial com faturamento anual inferior a 1 milhão de dólares |
| FLUX.1 Canny e Depth [dev] | Licença FluxDev não comercial | A ficha técnica especifica que as imagens geradas podem ser usadas para fins pessoais, científicos e comerciais de acordo com a licença |
| Union da InstantX e Union Pro 2.0 da Shakker Labs, para Flux | Licença FluxDev não comercial | Ler antes de qualquer uso comercial |
| Fun ControlNet Union para Z-Image Turbo | Apache 2.0 | Permissiva |
#O custo em arquivos e memória
Um ControlNet é uma rede adicional que roda ao lado do modelo base: ele aumenta o consumo de VRAM e o tempo por imagem. Os tamanhos dos arquivos, publicados no Hugging Face, dão uma primeira noção da ordem de grandeza: eles se somam aos pesos do modelo base e do seu codificador de texto.
| Controle | Tamanho do arquivo |
|---|---|
| ControlNet 1.1 para SD 1.5, versão original (.pth) | 1,45 GB cada um |
| SDXL, ControlNet canny da equipe diffusers | 5 GB em precisão completa, 2,5 GB em meia precisão |
| SDXL, ControlNet Union de xinsir | 2,51 GB |
| SDXL, Control-LoRA da Stability AI | Aproximadamente 738 MB, contra 4,7 GB para o ControlNet original |
| SD 3.5 Large, ControlNet canny | 8,61 GB |
| Flux.1 dev, ControlNet Union de InstantX | 6,6 GB |
| Flux.1 dev, Union Pro 2.0 de Shakker Labs | 4,28 GB |
| Flux.1 dev, FLUX.1 Depth em LoRA (Black Forest Labs) | 1,24 GB, contra 23,8 GB para o modelo Canny completo |
| Z-Image Turbo, Fun ControlNet Union | 3,1 GB |
Duas lições. Primeiro, um controle na forma de LoRA pesa uma fração de um modelo completo: a Stability AI apresenta seus Control-LoRA como uma maneira de levar o controle a uma variedade maior de placas de vídeo voltadas ao consumidor. Segundo, é preciso ter cuidado com o formato: os arquivos .pth do ControlNet 1.1 são pickles Python, que o Hugging Face sinaliza com um aviso de importação de pickle. Prefira as versões .safetensors, que não podem executar código.
Quanto de VRAM a mais? Os desenvolvedores não anunciam um valor geral, e a medição depende do modelo e da resolução. Se a memória estiver saturada, a ordem das medidas é: baixar a resolução, reduzir o número de controles simultâneos e, depois, passar para um controle mais leve, como um Control-LoRA ou uma versão de meia precisão. Para a memória de base, veja o guia sobre VRAM.
#Onde utilizá-lo
O ControlNet não é um aplicativo independente: ele funciona dentro de uma interface de geração de imagens. No ComfyUI, dois nós fazem o trabalho: Load ControlNet, que lê os arquivos da pasta models/controlnet, e Apply ControlNet, que recebe a imagem de controle e as configurações da tabela acima. A documentação do ComfyUI esclarece que o núcleo do software não inclui todos os pré-processadores: muitas vezes é necessária uma extensão como ComfyUI ControlNet aux. Lembre-se de que uma extensão é código executado com suas permissões: instale apenas extensões conhecidas. Para Z-Image Turbo, o arquivo de controle fica em outra pasta, models/model_patches.
Na interface web clássica, a extensão sd-webui-controlnet do AUTOMATIC1111 adiciona um painel abaixo do prompt. Sua última entrada na seção de novidades, referente à versão 1.1.454, é de julho de 2024, assim como seu último commit: ela ainda funciona com SD 1.5 e SDXL, mas não acompanhará os modelos recentes. O Forge integra o ControlNet diretamente, de acordo com seu README, sem passar por essa extensão.
#Combinar vários controles ao mesmo tempo
Nada impede combinar dois controles, por exemplo, um de pose para a postura do personagem e um de profundidade para o cenário. A documentação de diffusers apresenta a regra: para obter bons resultados, aplique máscaras aos condicionamentos para que eles não se sobreponham e experimente intensidades diferentes para ajustar o peso de cada controle. Seu exemplo com SDXL combina canny e profundidade, com intensidade de 0,5 para cada um. No ComfyUI, os nós Apply ControlNet são encadeados. Os mesmos princípios valem para ambos: combinar apenas controles que atuem sobre aspectos diferentes da imagem e reduzir a intensidade de cada um, pois os efeitos se somam.
#Quando o controle é ignorado
- O controle não aparece na lista
- O arquivo está no diretório errado, ou seu arquivo de configuração não tem o mesmo nome. No ComfyUI, o diretório é models/controlnet.
- A saída ignora a referência
- Incompatibilidade entre a família do modelo base e a do controle, pré-processador que gerou um mapa vazio ou força muito baixa. Exiba o próprio mapa de controle antes de suspeitar de outra coisa.
- As imagens estão paradas e sem vida
- Força muito alta ou controle aplicado durante todo o processo de remoção de ruído. Reduza a força e desative o controle antes do fim.
- Resultado decepcionante com um modelo Union
- Os autores do Union da InstantX escrevem que mesmo um modelo Union completamente treinado pode ser inferior a modelos especializados, como o de pose. Experimente um ControlNet dedicado e escreva um prompt detalhado, como recomenda a ficha da Shakker Labs.
- Memória saturada
- Reduza a resolução, remova um controle ou use uma versão mais leve do controle.
- ComfyUI: instalar a interface baseada em grafos
- AUTOMATIC1111: a interface web clássica
- Panorama da geração local de imagens
- Kit Imagens IA: workflows e configurações do ControlNet por placa de vídeo
- Fonte: o repositório oficial do ControlNet
- Fonte: o artigo de pesquisa original, ICCV 2023
- Fonte: os Control-LoRA da Stability AI para SDXL
- Fonte: FLUX.1 Tools e a depreciação de Depth e Canny
#FAQ
Para que serve o ControlNet?+
Precisa de uma placa gráfica poderosa para o ControlNet?+
Por que minha saída ignora a imagem de controle?+
Qual controle usar para a pose de um personagem?+
O ControlNet existe para SDXL, Flux e Z-Image?+
É possível usar vários ControlNets ao mesmo tempo?+
Um comentário, um erro ou uma observação? Avise-nos; isso ajuda a melhorar o guia para todos.