Consistência facial no ComfyUI: InstantID, FaceID ou ReActor

"O README do ComfyUI_InstantID de cubiq documenta o escopo de SDXL, antelopev2, as pastas de modelos, CFG e o controle por pontos-chave."
Você tem uma foto frontal autorizada de uma modelo e quer gerar várias imagens da mesma pessoa em cenários diferentes. Ou talvez já tenha um cartaz pronto e só queira trocar o rosto pelo de um personagem virtual original. São necessidades diferentes: a primeira injeta a identidade durante a geração; a segunda troca o rosto no pós-processamento.
As três soluções mais comuns no ComfyUI são InstantID, IPAdapter FaceID e ReActor. Embora os nomes pareçam semelhantes, elas cumprem papéis distintos. O nó InstantID para ComfyUI é voltado ao SDXL e tem mais dependências; o FaceID cobre SD1.5 e SDXL, mas exige a combinação correta entre modelo e LoRA; o ReActor troca o rosto após a geração e não participa do processo de difusão.
Para escolher, identifique primeiro se a necessidade acontece durante a geração ou no pós-processamento. Depois confira dependências, ajustes, erros frequentes e os limites de uso do material.
1. Comparativo: identidade durante a geração ou troca posterior
Comece com uma pergunta: você quer gerar do zero várias imagens da mesma pessoa ou já tem uma imagem final e só deseja trocar o rosto? A resposta define a rota.
| Rota | Função | Caso de uso | Entrada | Restrição de modelo | Complexidade das dependências |
|---|---|---|---|---|---|
| InstantID | Manter a identidade durante a geração | Gerar do zero várias imagens do mesmo rosto | Uma imagem facial de referência | O ComfyUI_InstantID atualmente é voltado ao SDXL | Alta (InsightFace + onnxruntime + antelopev2 + ControlNet + modelo principal do InstantID) |
| IPAdapter FaceID | Manter a identidade durante a geração | Gerar do zero várias imagens do mesmo rosto | Uma ou mais imagens faciais de referência | SD1.5 + SDXL | Média (InsightFace + modelo FaceID + LoRA correspondente) |
| ReActor | Troca de rosto posterior | Substituir somente o rosto de uma imagem existente | Imagem original + rosto de destino | Não depende do modelo base de geração | Depende da versão (o novo núcleo alfa 0.7 não obriga mais o uso de InsightFace, mas modelos e licenças ainda precisam ser verificados) |
Como decidir
- Para gerar do zero várias imagens da mesma pessoa → InstantID ou FaceID
- Se já existe uma imagem final e você só quer trocar o rosto → ReActor
- Se você tem apenas uma referência facial → as três opções podem usá-la, mas InstantID e FaceID são mais adequados para controlar a geração
- Se quer trocar o rosto sem mudar pose nem composição da imagem final → ReActor é mais direto
Aviso prévio sobre licenças
InstantID e FaceID geralmente dependem do InsightFace para extrair características faciais. O código do InsightFace usa licença MIT, mas seus dados de treinamento e os modelos treinados com eles destinam-se, por padrão, à pesquisa não comercial. O cartão do modelo FaceID também limita os modelos correspondentes à pesquisa. O ReActor se apresenta como SFW-friendly, inclui um detector de nudez e exige uso responsável no README.
Antes de publicar ou comercializar um resultado, verifique separadamente a autorização de imagem, a licença dos pesos e as regras da plataforma. Este artigo trata apenas de material próprio ou autorizado, personagens originais e testes internos.
2. InstantID: identidade durante a geração com SDXL
2.1 Instalação e caminhos dos modelos
O InstantID tem mais dependências que FaceID e ReActor. Depois de instalar o nó, os caminhos dos modelos são a fonte mais comum de erros.
Etapas de instalação:
# 1. Clonar o nó
cd ComfyUI/custom_nodes
git clone https://github.com/cubiq/ComfyUI_InstantID.git
# 2. Instalar as dependências
pip install insightface onnxruntime onnxruntime-gpu
O pacote Python padrão do InsightFace 1.0 não compila mais a extensão opcional face3d em C++/Cython, reduzindo os requisitos de compilação local. Se um ambiente ou tutorial antigo ainda produzir erros de compilação, confira primeiro a versão real e use um ambiente virtual separado; não suponha que a versão atual exija Visual Studio C++ Build Tools.
| Modelo | Caminho de destino | Origem |
|---|---|---|
| antelopev2 | ComfyUI/models/insightface/models/antelopev2 | Modelo do InsightFace |
| Modelo principal do InstantID | ComfyUI/models/instantid | InstantX no Hugging Face |
| ControlNet do InstantID | ComfyUI/models/controlnet | InstantX no Hugging Face |
O README atual do ComfyUI_InstantID informa que o nó é usado somente com SDXL. Se o fluxo for baseado em SD1.5, você precisa mudar para FaceID.
O repositório ComfyUI_InstantID está em modo de manutenção desde 14 de abril de 2025. Correções importantes ainda podem ser aceitas, mas o mantenedor não promete desenvolvimento contínuo. Confira o README vigente antes de instalar.
2.2 Fluxo e ajustes
Fluxo básico:
- Carregue um checkpoint SDXL
- Conecte o nó Apply InstantID e forneça uma imagem facial frontal
- Incorpore o modelo InstantID e a condição do ControlNet à cadeia de amostragem
- Gere a imagem
A qualidade da referência afeta diretamente a semelhança final. Uma imagem frontal, nítida, sem obstruções e com iluminação uniforme costuma ser mais estável. Um rosto de perfil, pequeno, desfocado ou muito coberto pode não ser detectado ou resultar em pouca semelhança.
| Sintoma | Direção do ajuste |
|---|---|
| Pouca semelhança | Aumente gradualmente o peso do modelo InstantID ou do ControlNet |
| Saturação excessiva ou pouco controle do texto | Primeiro reduza o peso do modelo InstantID e compare com a imagem de referência |
| CFG alto demais | Siga o README do nó e reduza para cerca de 4-5, ou use RescaleCFG |
O caminho principal da implementação original do InstantID não aceita referências de várias pessoas e usa apenas os pontos-chave do maior rosto. O ComfyUI_InstantID também oferece um fluxo Multi-ID mais complexo e lento, mas ele não deve ser tratado como uma solução simples e estável para várias pessoas.
Funções avançadas do nó:
- Advanced InstantID: permite ajustar separadamente os pesos do modelo InstantID e do ControlNet
- Noise injection: ajuda a reduzir imagens excessivamente queimadas e a refinar a semelhança
- Entrada
image_kps: usa os pontos-chave de outra imagem para mudar a pose e reduzir a influência da pose da referência
Para controlar a pose com mais precisão, você pode combinar o fluxo com ControlNet OpenPose.
3. IPAdapter FaceID: identidade durante a geração em SD1.5 e SDXL
O FaceID é a variante facial da família IPAdapter. Ele usa um embedding de reconhecimento facial em vez de um embedding de imagem CLIP convencional e pode reforçar a identidade com uma LoRA.
3.1 Instalação e combinação de modelos
Primeiro instale a dependência dentro do ambiente Python do ComfyUI:
pip install insightface
Coloque os modelos FaceID em ComfyUI/models/ipadapter e as LoRAs correspondentes em ComfyUI/models/loras. O Unified Loader FaceID usa os nomes oficiais para fazer a combinação automática; um nome incorreto impede o carregamento.
| Modelo FaceID | LoRA correspondente | Caminho |
|---|---|---|
ip-adapter-faceid_sd15.bin | ip-adapter-faceid_sd15_lora.safetensors | models/ipadapter + models/loras |
ip-adapter-faceid-plusv2_sd15.bin | ip-adapter-faceid-plusv2_sd15_lora.safetensors | Igual ao anterior |
ip-adapter-faceid_sdxl.bin | ip-adapter-faceid_sdxl_lora.safetensors | Igual ao anterior |
ip-adapter-faceid-plusv2_sdxl.bin | ip-adapter-faceid-plusv2_sdxl_lora.safetensors | Igual ao anterior |
A lista e os nomes específicos podem mudar quando o nó for atualizado. Antes de instalar, consulte o README do ComfyUI_IPAdapter_plus e confirme que o modelo e a LoRA correspondem ao modelo base e à versão. Omitir a LoRA ou usar uma combinação errada reduz significativamente a consistência.
Diferenças entre versões:
- PlusV2: combina o embedding de identidade facial com um embedding de imagem CLIP ajustável e permite modificar o peso da estrutura do rosto
- Portrait: é voltado a retratos, não requer LoRA nem ControlNet e aceita várias imagens faciais para aumentar a semelhança
- FaceID para SDXL e PlusV2-SDXL: o cartão do modelo os marca como experimentais, portanto não devem ser tratados como soluções absolutamente estáveis
O repositório ComfyUI_IPAdapter_plus também está em modo de manutenção desde 14 de abril de 2025.
3.2 Fluxo e ajustes
O peso do FaceID não precisa começar em 1.0. Um peso de identidade alto demais pode aproximar o resultado da referência, mas também enfraquecer o controle do prompt.
Direções de ajuste:
- Comece com um valor próximo de 0.8 e aumente gradualmente se a semelhança não for suficiente
- Se precisar de mais fidelidade ao prompt, altere o tipo de peso no IPAdapter Advanced ou reduza o peso
- O PlusV2 também permite ajustar separadamente o peso relacionado à estrutura facial
FaceID e InstantID fornecem uma condição de identidade durante a geração. O FaceID cobre SD1.5 e SDXL, enquanto o nó atual do ComfyUI_InstantID é voltado ao SDXL. O uso de VRAM varia conforme o modelo base, a resolução, a GPU e a versão do nó, por isso não convém resumi-lo em um único número.
4. ReActor: troca de rosto SFW no pós-processamento
O ReActor tem uma função diferente: ele não participa da difusão, mas troca o rosto de uma imagem existente ou já gerada.
4.1 Instalação e mudanças nas dependências
O novo núcleo alfa do ReActor 0.7.0 declara que não precisa mais de InsightFace nem C++ Build Tools. No entanto, a tabela de modelos e a seção de licenças do README atual ainda incluem buffalo_l, inswapper_128.onnx e outros modelos. A instalação e a autorização devem ser verificadas de acordo com a versão vigente.
| Modelo | Caminho no README atual |
|---|---|
| buffalo_l | ComfyUI/models/insightface/models/buffalo_l |
| inswapper_128 | ComfyUI/models/insightface |
| reswapper | ComfyUI/models/reswapper |
| hyperswap | ComfyUI/models/hyperswap |
| Modelo Face Restore | ComfyUI/models/facerestore_models |
Tutoriais antigos costumam apresentar InsightFace e C++ Build Tools como requisitos fixos. Se as instruções entrarem em conflito, confira primeiro a versão do ReActor e siga o README correspondente, sem misturar etapas de dependências de tutoriais antigos.
O ReActor inclui um detector de nudez. Seu README exige consentimento das pessoas quando rostos reais são usados e uma divulgação clara da natureza sintética do conteúdo publicado. As licenças comerciais de buffalo_l, inswapper_128 e outros modelos precisam ser confirmadas separadamente.
4.2 Fluxo
Etapas básicas para trocar um rosto:
- Conecte a imagem a ser processada em
input_imagee a referência autorizada emsource_image - Comece com uma intensidade conservadora no ReActorSetWeight
- Opcional: confira a semelhança depois da troca com Face Similarity
- Opcional: repare bordas e detalhes com Face Restoration
- Opcional: salve o face model para carregar depois o embedding do mesmo rosto
| Função | Descrição |
|---|---|
| ReActorSetWeight | Ajusta a intensidade entre 0% e 100% conforme os passos do nó; um valor excessivo pode produzir aparência plástica ou bordas pouco naturais |
| Face Similarity | Verifica a semelhança do resultado |
| Face Restoration | Repara bordas e detalhes; uma intensidade alta também pode causar aparência plástica |
| Face Model | Salva ou carrega o embedding facial para reutilizar o mesmo rosto |
O ReActor não gera novamente a composição, a roupa nem a pose da imagem. Se você quer preservar todo o conteúdo de uma imagem pronta e modificar apenas a área facial, ele é mais direto que InstantID ou FaceID.
5. Qualidade da referência e erros frequentes
5.1 Lista para avaliar a referência
A qualidade da referência costuma ser mais importante do que continuar aumentando o peso. Uma imagem frontal, nítida, sem obstruções e com iluminação uniforme tende a gerar resultados mais estáveis. Um rosto de perfil, desfocado, pequeno ou muito coberto não será totalmente corrigido mesmo com peso alto.
Ordem de prioridade:
- Frontal > de perfil ou inclinado
- Nítido > desfocado
- Sem obstruções > óculos, máscara ou franja cobrindo o rosto
- Iluminação uniforme > sombras fortes ou contraluz
Esse critério se aplica às referências faciais de InstantID, FaceID e ReActor. Se a detecção falhar, primeiro recorte o rosto ou troque a referência; não leve todos os pesos ao máximo.
5.2 Tabela de solução de problemas
| Problema | Causa possível | O que verificar |
|---|---|---|
Modelo não encontrado (antelopev2 / buffalo_l / modelo principal do InstantID) | Caminho incorreto ou modelo não baixado | Confira models/insightface/models, models/instantid e as demais pastas no README vigente do nó |
Falha na detecção (no face detected) | Rosto de perfil, pequeno, desfocado ou coberto | Use uma referência frontal, nítida e sem obstruções; recorte o rosto se necessário |
| O rosto se parece, mas a pose ou a expressão muda | A condição facial também transmite parte da estrutura | Controle a pose com ControlNet ou use ReActor em uma imagem já pronta |
| Pouca semelhança | Falta a LoRA do FaceID, o peso está inadequado ou a referência é ruim | Confira a combinação de modelo e LoRA, crie uma base perto de 0.8 e ajuste um item por vez |
| Bordas estranhas ou aparência plástica | Intensidade excessiva no ReActor ou Face Restoration | Reduza a troca e a restauração; confira tamanho, ângulo e iluminação do rosto de destino |
| Erro ao instalar dependências | Mistura de tutoriais antigos, nós desatualizados e ambiente Python atual | Confirme primeiro as versões do nó e do InsightFace e siga o README atual em um ambiente separado |
Ordem de diagnóstico:
- Se a detecção falhar → confira primeiro a qualidade da referência
- Se faltar semelhança → confira primeiro modelos, LoRA e caminhos
- Se a pose mudar → diferencie identidade durante a geração de troca posterior; depois adicione ControlNet ou mude de rota
6. Limites ao combinar ControlNet, Kontext e LoRA
Fixar um rosto não fixa pose, corpo, roupa ou composição. Quando InstantID e FaceID injetam uma condição de identidade, a pose, a expressão ou o cabelo da referência também podem influenciar o resultado.
Combinações recomendadas:
- InstantID ou FaceID + ControlNet OpenPose → a condição facial controla a identidade, e o ControlNet controla o corpo e a pose
- FaceID + IPAdapter convencional → o FaceID fixa o rosto e o outro IPAdapter controla estilo ou composição; comece com valores conservadores nas duas rotas
- ReActor + restauração em alta resolução → primeiro gere a imagem, depois troque o rosto e aplique face restore ou inpaint local somente quando necessário
- Kontext → é adequado para mudar fundo, roupa ou cena na mesma imagem, mas não é uma solução especializada em fixar identidade facial
- LoRA → é adequada para reutilizar a longo prazo um personagem original ou uma pessoa virtual de marca, mas exige conjunto de dados e treinamento
Quando a pose precisar ser exata, forneça uma imagem de pose ao ControlNet OpenPose: InstantID ou FaceID cuida do rosto e ControlNet cuida do corpo. Se você só quer manter a composição de uma imagem final e trocar o rosto, o ReActor é mais direto.
Artigos relacionados:
- ControlNet no ComfyUI: OpenPose, Canny e Depth para controlar composição e pose
- Reutilizar fluxos do ComfyUI: nós personalizados, caminhos de modelos e nós ausentes
- LoRA no ComfyUI: carregamento, pesos, várias LoRAs e consistência de personagens
7. Limites legais e de licença
A licença e a origem do material são limites críticos. Uma técnica funcionar não significa que o material, os modelos e a publicação estejam autorizados.
Separe a licença do código e a dos modelos do InsightFace
O código do InsightFace usa licença MIT e permite usos acadêmicos e comerciais. No entanto, seus dados de treinamento e os modelos pré-treinados com esses dados destinam-se, por padrão, à pesquisa não comercial. O README atual do InsightFace também fornece contatos de licença diferentes para a família inswapper e para os modelos abertos de reconhecimento facial.
O cartão do modelo FaceID também informa que o IP-Adapter-FaceID é destinado somente à pesquisa porque depende de modelos pré-treinados do InsightFace. Não confunda a licença do código do nó com a autorização comercial dos pesos.
Responsabilidade e divulgação no ReActor
A versão atual do ReActor se apresenta como SFW-friendly e inclui um detector de nudez. Seu README exige o cumprimento das leis locais, o consentimento ao usar rostos reais e uma divulgação clara de que o conteúdo publicado foi alterado por troca facial ou IA.
Restrições sobre a origem do material
Este artigo trata somente destes casos:
- Fotos de modelos com autorização de imagem e uso
- Material pessoal que você produziu e tem direito de processar
- Personagens virtuais originais que não representam uma pessoa real
- Testes internos em conformidade que não serão publicados
Antes do uso comercial ou da publicação, confira separadamente a autorização de imagem, a licença dos modelos e as regras da plataforma. Se não puder confirmar qualquer um desses pontos, não publique nem comercialize o resultado.
Resumo e próximo passo
A decisão principal é simples:
- Identidade durante a geração → InstantID (o nó atual do ComfyUI é voltado ao SDXL) ou FaceID (SD1.5 + SDXL)
- Troca de rosto posterior → ReActor
- A qualidade da referência, os caminhos e a combinação de versões têm prioridade sobre aumentar pesos sem critério
- A licença do código não garante o uso comercial do modelo pré-treinado; rostos reais também exigem autorização
O InstantID se encaixa em fluxos SDXL e tem mais dependências, mas permite controlar separadamente identidade e pontos-chave. O FaceID aceita mais modelos base, embora modelo e LoRA precisem corresponder. O ReActor não participa da difusão e serve para tratar o rosto de uma imagem existente.
Você pode continuar com:
- Se a pose mudar ou você precisar de uma composição rigorosa → ControlNet no ComfyUI
- Se quiser reutilizar de forma estável um personagem original → LoRA no ComfyUI
- Se precisar ampliar ou retocar áreas depois da troca → Upscale e inpainting no ComfyUI
- Se os nós ou caminhos de modelos continuarem falhando → Reutilizar fluxos do ComfyUI
Escolher e ajustar um fluxo de consistência facial no ComfyUI
Escolha a rota conforme a etapa, confira referência, pastas e versões e altere somente um peso por vez.
- 1
Step 1: Defina em qual etapa a tarefa acontece
Escolha InstantID ou IPAdapter FaceID para gerar imagens novas a partir de um rosto; escolha ReActor quando a imagem já existir e você só for substituir o rosto. - 2
Step 2: Prepare uma referência adequada e autorizada
Priorize uma imagem frontal, nítida, sem obstruções, com iluminação uniforme e rosto grande o suficiente, e confirme os direitos sobre o retrato e o material. - 3
Step 3: Instale os modelos e as dependências da rota
No InstantID, confira antelopev2, o modelo principal e o ControlNet; no FaceID, insightface, o modelo FaceID e sua LoRA; no ReActor, siga o README da versão atual. - 4
Step 4: Crie um resultado de referência
Gere primeiro uma imagem com valores padrão ou conservadores. Não mude ao mesmo tempo pose, expressão, cabelo, modelo base e vários pesos de identidade. - 5
Step 5: Ajuste de acordo com o sintoma
Se faltar semelhança, aumente gradualmente o peso de identidade ou confira a combinação; se o prompt perder força, reduza o peso do Adapter; se o rosto parecer plástico, diminua a troca e a restauração. - 6
Step 6: Adicione controle de pose ou personagem
Combine ControlNet quando precisar de uma pose precisa; para reutilizar um personagem original a longo prazo, avalie treinar uma LoRA em vez de delegar todo o controle a uma referência facial.
FAQ
Devo usar InstantID ou ReActor para manter a mesma pessoa no ComfyUI?
Por que o IPAdapter FaceID também precisa de uma LoRA?
O InstantID no ComfyUI funciona somente com SDXL?
O ReActor 0.7 ainda precisa de InsightFace e C++ Build Tools?
É possível usar troca de rosto no ComfyUI comercialmente?
Por que o rosto fica com aparência plástica depois da troca?
14 min de leitura · Publicado em: 21 ago 2026 · Atualizado em: 21 ago 2026
Guia prático de ComfyUI e Stable Diffusion
Se você chegou pela busca, o caminho mais rápido é ir para o post anterior ou próximo desta série.
Anterior
FLUX.1 Kontext no ComfyUI: edição em várias etapas e consistência de personagens
Configure o FLUX.1 Kontext Dev no ComfyUI, edite imagens em várias etapas, preserve personagens e produtos, reverta desvios e entenda versões e licenças.
Parte 8 de 13
Próximo
Ampliar e reparar imagens no ComfyUI: Hires Fix, FaceDetailer e inpainting
Compare upscaling de pixels, reamostragem latente, FaceDetailer, inpainting e tiles, e corrija mudança de rosto, emendas visíveis e alterações fora da máscara.
Parte 10 de 13



Comentários
Entre com GitHub para comentar