Coerenza dei volti in ComfyUI: InstantID, FaceID o ReActor?

"Il README di ComfyUI_InstantID di cubiq documenta il supporto SDXL, antelopev2, le cartelle dei modelli, CFG e il controllo tramite punti chiave."
Hai una foto frontale autorizzata di una modella e vuoi generare più immagini della stessa persona in ambienti diversi. Oppure hai già un poster finito e vuoi soltanto sostituire il volto con quello di un personaggio virtuale originale. Sono esigenze differenti: la prima inserisce l’identità durante la generazione, la seconda sostituisce il volto in post-produzione.
Le tre soluzioni più comuni in ComfyUI sono InstantID, IPAdapter FaceID e ReActor. I nomi sono simili, ma i ruoli sono diversi. Il nodo InstantID per ComfyUI è destinato a SDXL e ha più dipendenze; FaceID copre SD1.5 e SDXL, ma richiede il corretto abbinamento tra modello e LoRA; ReActor sostituisce il volto dopo la generazione e non partecipa alla diffusione.
Per scegliere, stabilisci prima se l’esigenza riguarda la generazione o la post-produzione. Poi controlla dipendenze, regolazioni, errori frequenti e limiti d’uso del materiale.
1. Confronto: identità durante la generazione o sostituzione successiva
Parti da una domanda: vuoi generare da zero più immagini della stessa persona oppure hai già un’immagine finale e vuoi cambiare solo il volto? La risposta determina il percorso.
| Percorso | Funzione | Scenario adatto | Input | Limite del modello | Complessità delle dipendenze |
|---|---|---|---|---|---|
| InstantID | Mantenere l’identità durante la generazione | Generare da zero più immagini dello stesso volto | Un’immagine facciale di riferimento | ComfyUI_InstantID è attualmente destinato a SDXL | Alta (InsightFace + onnxruntime + antelopev2 + ControlNet + modello principale InstantID) |
| IPAdapter FaceID | Mantenere l’identità durante la generazione | Generare da zero più immagini dello stesso volto | Una o più immagini facciali di riferimento | SD1.5 + SDXL | Media (InsightFace + modello FaceID + LoRA corrispondente) |
| ReActor | Sostituzione facciale successiva | Sostituire soltanto il volto di un’immagine esistente | Immagine originale + volto di destinazione | Non dipende dal modello base di generazione | Varia con la versione (il nuovo core alpha 0.7 non impone più InsightFace, ma modelli e licenze vanno verificati) |
Come scegliere
- Per generare da zero più immagini della stessa persona → InstantID o FaceID
- Se hai già un’immagine finale e vuoi cambiare soltanto il volto → ReActor
- Se possiedi una sola immagine facciale di riferimento → tutte e tre le soluzioni possono usarla, ma InstantID e FaceID sono più adatti al controllo durante la generazione
- Se vuoi sostituire il volto mantenendo posa e composizione dell’immagine finale → ReActor è più diretto
Avvertenza preliminare sulle licenze
InstantID e FaceID dipendono in genere da InsightFace per estrarre le caratteristiche facciali. Il codice di InsightFace usa la licenza MIT, ma i dati di addestramento e i modelli addestrati su quei dati sono destinati per impostazione predefinita alla ricerca non commerciale. Anche la scheda del modello FaceID limita i relativi modelli alla ricerca. ReActor si definisce SFW-friendly, include un nudity detector e richiede un uso responsabile nel README.
Prima di pubblicare o commercializzare un risultato, verifica separatamente il consenso all’uso dell’immagine, la licenza dei pesi e le regole della piattaforma. Questo articolo tratta soltanto materiale proprio o autorizzato, personaggi originali e test interni.
2. InstantID: identità durante la generazione con SDXL
2.1 Installazione e percorsi dei modelli
InstantID ha più dipendenze di FaceID e ReActor. Dopo aver installato il nodo, i percorsi dei modelli sono la causa più frequente di errori.
Procedura di installazione:
# 1. Clonare il nodo
cd ComfyUI/custom_nodes
git clone https://github.com/cubiq/ComfyUI_InstantID.git
# 2. Installare le dipendenze
pip install insightface onnxruntime onnxruntime-gpu
Il pacchetto Python predefinito di InsightFace 1.0 non compila più l’estensione opzionale face3d in C++/Cython, riducendo i requisiti di compilazione locale. Se un vecchio ambiente o tutorial produce ancora errori di compilazione, controlla prima la versione effettiva e usa un ambiente virtuale separato; non presumere che la versione corrente richieda Visual Studio C++ Build Tools.
| Modello | Percorso di destinazione | Fonte |
|---|---|---|
| antelopev2 | ComfyUI/models/insightface/models/antelopev2 | Modello InsightFace |
| Modello principale InstantID | ComfyUI/models/instantid | InstantX su Hugging Face |
| ControlNet di InstantID | ComfyUI/models/controlnet | InstantX su Hugging Face |
Il README attuale di ComfyUI_InstantID dichiara che il nodo è utilizzabile soltanto con SDXL. Se il workflow è basato su SD1.5, devi passare a FaceID.
Il repository ComfyUI_InstantID è in modalità maintenance only dal 14 aprile 2025. Correzioni importanti possono ancora essere accettate, ma il manutentore non promette uno sviluppo continuo. Controlla il README corrente prima dell’installazione.
2.2 Workflow e regolazioni
Workflow di base:
- Carica un checkpoint SDXL
- Collega il nodo Apply InstantID e inserisci un’immagine facciale frontale
- Integra il modello InstantID e la condizione ControlNet nella catena di campionamento
- Genera l’immagine
La qualità del riferimento influisce direttamente sulla somiglianza finale. Un’immagine frontale, nitida, senza occlusioni e con illuminazione uniforme tende a essere più stabile. Un volto di profilo, piccolo, sfocato o molto coperto può non essere rilevato o produrre poca somiglianza.
| Sintomo | Regolazione |
|---|---|
| Somiglianza insufficiente | Aumenta gradualmente il peso del modello InstantID o di ControlNet |
| Saturazione eccessiva o scarso controllo del testo | Riduci prima il peso del modello InstantID e confronta con l’immagine di riferimento |
| CFG troppo alto | Segui il README del nodo e riducilo a circa 4-5, oppure usa RescaleCFG |
Il percorso principale dell’implementazione originale di InstantID non supporta riferimenti di più persone e usa soltanto i punti chiave del volto più grande. ComfyUI_InstantID offre anche un workflow Multi-ID più complesso e lento, ma non va considerato una soluzione semplice e stabile per più persone.
Funzioni avanzate del nodo:
- Advanced InstantID: consente di regolare separatamente i pesi del modello InstantID e di ControlNet
- Noise injection: aiuta a ridurre le immagini troppo bruciate e a perfezionare la somiglianza
- Input
image_kps: usa i punti chiave di un’altra immagine per cambiare la posa e ridurre l’influenza della posa di riferimento
Per controllare la posa con maggiore precisione, puoi combinarlo con ControlNet OpenPose.
3. IPAdapter FaceID: identità durante la generazione in SD1.5 e SDXL
FaceID è la variante per i volti della famiglia IPAdapter. Usa un embedding di riconoscimento facciale invece di un normale embedding di immagine CLIP e può rafforzare la coerenza dell’identità tramite una LoRA.
3.1 Installazione e abbinamento dei modelli
Installa prima la dipendenza nell’ambiente Python di ComfyUI:
pip install insightface
Inserisci i modelli FaceID in ComfyUI/models/ipadapter e le LoRA corrispondenti in ComfyUI/models/loras. Unified Loader FaceID usa i nomi ufficiali dei file per l’abbinamento automatico; un nome errato impedisce il caricamento.
| Modello FaceID | LoRA corrispondente | Percorso |
|---|---|---|
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 | Come sopra |
ip-adapter-faceid_sdxl.bin | ip-adapter-faceid_sdxl_lora.safetensors | Come sopra |
ip-adapter-faceid-plusv2_sdxl.bin | ip-adapter-faceid-plusv2_sdxl_lora.safetensors | Come sopra |
L’elenco e i nomi specifici dei modelli possono cambiare con gli aggiornamenti del nodo. Prima di installare, consulta il README di ComfyUI_IPAdapter_plus e assicurati che modello e LoRA corrispondano al modello base e alla versione. Una LoRA mancante o errata riduce sensibilmente la coerenza dell’identità.
Differenze tra le versioni:
- PlusV2: combina l’embedding dell’identità facciale con un embedding di immagine CLIP regolabile e permette di modificare il peso della struttura del volto
- Portrait: è destinato ai ritratti, non richiede LoRA o ControlNet e accetta più immagini facciali per aumentare la somiglianza
- FaceID per SDXL e PlusV2-SDXL: la scheda del modello li definisce experimental, quindi non vanno trattati come soluzioni assolutamente stabili
Anche il repository ComfyUI_IPAdapter_plus è in modalità maintenance only dal 14 aprile 2025.
3.2 Workflow e regolazioni
Il peso di FaceID non deve necessariamente partire da 1.0. Un peso d’identità troppo alto può rendere il risultato più simile al riferimento, ma anche indebolire il controllo del prompt testuale.
Direzioni di regolazione:
- Parti da circa 0.8 e aumenta gradualmente se la somiglianza non è sufficiente
- Se serve maggiore fedeltà al prompt, cambia il weight type in IPAdapter Advanced o riduci il peso
- PlusV2 consente anche di regolare separatamente il peso relativo alla struttura del volto
FaceID e InstantID forniscono entrambi una condizione d’identità durante la generazione. FaceID copre SD1.5 e SDXL, mentre l’attuale nodo ComfyUI_InstantID è destinato a SDXL. L’uso di VRAM varia con modello di base, risoluzione, GPU e versione del nodo, quindi non è opportuno riassumerlo con un unico valore.
4. ReActor: face swap SFW in post-produzione
ReActor ha un ruolo diverso dalle prime due soluzioni: non partecipa alla diffusione, ma sostituisce il volto in un’immagine esistente o già generata.
4.1 Installazione e cambiamenti nelle dipendenze
Il nuovo core alpha di ReActor 0.7.0 dichiara di non richiedere più InsightFace né C++ Build Tools. Tuttavia, la tabella dei modelli e la sezione sulle licenze del README attuale includono ancora buffalo_l, inswapper_128.onnx e altri modelli. Installazione e autorizzazioni devono essere verificate in base alla versione corrente.
| Modello | Percorso nel README attuale |
|---|---|
| buffalo_l | ComfyUI/models/insightface/models/buffalo_l |
| inswapper_128 | ComfyUI/models/insightface |
| reswapper | ComfyUI/models/reswapper |
| hyperswap | ComfyUI/models/hyperswap |
| Modello Face Restore | ComfyUI/models/facerestore_models |
I vecchi tutorial spesso presentano InsightFace e C++ Build Tools come requisiti fissi. Se le istruzioni sono in conflitto, controlla prima la versione di ReActor e segui il relativo README, senza mescolare le dipendenze indicate dai tutorial precedenti.
ReActor include un nudity detector. Il README richiede il consenso delle persone quando si usano volti reali e una comunicazione chiara della natura sintetica del contenuto pubblicato. Le licenze commerciali di buffalo_l, inswapper_128 e altri modelli devono essere confermate separatamente.
4.2 Workflow
Procedura di base per sostituire un volto:
- Collega l’immagine da elaborare a
input_imagee il volto autorizzato asource_image - Parti da un’intensità prudente in ReActorSetWeight
- Facoltativo: controlla la somiglianza dopo la sostituzione con Face Similarity
- Facoltativo: ripara bordi e dettagli con Face Restoration
- Facoltativo: salva il face model per caricare in seguito l’embedding dello stesso volto
| Funzione | Descrizione |
|---|---|
| ReActorSetWeight | Regola l’intensità tra 0% e 100% secondo gli incrementi del nodo; un valore eccessivo può produrre un aspetto plastico o bordi innaturali |
| Face Similarity | Controlla la somiglianza del risultato |
| Face Restoration | Ripara bordi e dettagli; un’intensità troppo alta può creare un aspetto plastico |
| Face Model | Salva o carica l’embedding facciale per riutilizzare lo stesso volto |
ReActor non rigenera composizione, abiti o posa dell’immagine. Se vuoi conservare tutto il contenuto di un’immagine finita e modificare soltanto l’area del volto, è più diretto di InstantID o FaceID.
5. Qualità del riferimento ed errori frequenti
5.1 Lista di controllo del riferimento
La qualità del riferimento è spesso più importante che continuare ad aumentare i pesi. Un’immagine frontale, nitida, senza occlusioni e con luce uniforme tende a produrre risultati più stabili. Un volto di profilo, sfocato, piccolo o molto coperto non può essere corretto del tutto aumentando il peso.
Ordine di priorità:
- Frontale > di profilo o inclinato
- Nitido > sfocato
- Senza occlusioni > occhiali, maschera o frangia sul volto
- Illuminazione uniforme > ombre forti o controluce
Questo criterio vale per le immagini facciali di riferimento di InstantID, FaceID e ReActor. Se il rilevamento fallisce, ritaglia prima il volto o cambia riferimento; non portare tutti i pesi al massimo.
5.2 Tabella di risoluzione dei problemi
| Problema | Possibile causa | Cosa controllare |
|---|---|---|
Modello non trovato (antelopev2 / buffalo_l / modello principale InstantID) | Percorso errato o modello non scaricato | Controlla models/insightface/models, models/instantid e le altre cartelle nel README corrente del nodo |
Rilevamento fallito (no face detected) | Volto di profilo, piccolo, sfocato o coperto | Usa un riferimento frontale, nitido e senza occlusioni; ritaglia il volto se necessario |
| Il volto è simile, ma posa o espressione cambiano | La condizione facciale trasmette anche parte delle caratteristiche strutturali | Controlla la posa con ControlNet o usa ReActor su un’immagine già finita |
| Somiglianza bassa | Manca la LoRA di FaceID, il peso non è adatto o il riferimento è scadente | Controlla l’abbinamento di modello e LoRA, crea una base intorno a 0.8 e modifica una voce alla volta |
| Bordi innaturali o aspetto plastico | Intensità eccessiva in ReActor o Face Restoration | Riduci sostituzione e restauro; controlla dimensione, angolo e illuminazione del volto di destinazione |
| Errore nell’installazione delle dipendenze | Vecchi tutorial, nodi precedenti e ambiente Python attuale sono stati mescolati | Verifica prima le versioni del nodo e di InsightFace, poi segui il README corrente in un ambiente separato |
Ordine della diagnosi:
- Se il rilevamento fallisce → controlla prima la qualità del riferimento
- Se la somiglianza è bassa → controlla prima modelli, abbinamento della LoRA e percorsi
- Se la posa cambia → distingui tra identità durante la generazione e sostituzione successiva, poi aggiungi ControlNet o cambia percorso
6. Limiti delle combinazioni con ControlNet, Kontext e LoRA
Fissare il volto non fissa posa, corpo, abiti e composizione. Quando InstantID e FaceID inseriscono una condizione d’identità, anche posa, espressione o acconciatura del riferimento possono influire sul risultato.
Combinazioni consigliate:
- InstantID o FaceID + ControlNet OpenPose → la condizione facciale gestisce l’identità e ControlNet gestisce corpo e posa
- FaceID + IPAdapter standard → FaceID fissa il volto e l’altro IPAdapter controlla stile o composizione; parti da valori prudenti su entrambi i percorsi
- ReActor + restauro ad alta risoluzione → genera prima l’immagine, poi sostituisci il volto e usa face restore o inpaint locale solo se necessario
- Kontext → è adatto a cambiare sfondo, abiti o scena nella stessa immagine, ma non è una soluzione specializzata per bloccare l’identità facciale
- LoRA → è adatta a riutilizzare a lungo un personaggio originale o una persona virtuale di un marchio, ma richiede un dataset e un processo di addestramento
Se la posa deve essere precisa, fornisci un’immagine della posa a ControlNet OpenPose: InstantID o FaceID gestisce il volto e ControlNet gestisce corpo e posa. Se vuoi soltanto mantenere la composizione di un’immagine finita e cambiare il volto, ReActor è più diretto.
Articoli correlati:
- ControlNet in ComfyUI: OpenPose, Canny e Depth per controllare composizione e posa
- Riutilizzare i workflow di ComfyUI: nodi personalizzati, percorsi dei modelli e nodi mancanti
- LoRA in ComfyUI: caricamento, pesi, più LoRA e coerenza dei personaggi
7. Limiti legali e di licenza
La licenza e la provenienza del materiale sono limiti essenziali. Il fatto che una tecnica funzioni non significa che materiale, modelli e pubblicazione siano autorizzati.
Distingui la licenza del codice da quella dei modelli InsightFace
Il codice di InsightFace usa la licenza MIT e consente usi accademici e commerciali. I dati di addestramento e i modelli preaddestrati su quei dati sono però destinati, per impostazione predefinita, alla ricerca non commerciale. Il README attuale di InsightFace fornisce anche contatti di licenza distinti per la famiglia inswapper e per i modelli open source di riconoscimento facciale.
La scheda del modello FaceID specifica inoltre che IP-Adapter-FaceID è destinato soltanto alla ricerca perché dipende dai modelli preaddestrati di InsightFace. Non confondere la licenza del codice del nodo con l’autorizzazione commerciale dei pesi.
Responsabilità e comunicazione con ReActor
La versione corrente di ReActor si definisce SFW-friendly e include un nudity detector. Il README richiede di rispettare le leggi locali, ottenere il consenso quando si usano volti reali e comunicare chiaramente che il contenuto pubblicato è stato modificato tramite face swap o IA.
Restrizioni sulla provenienza del materiale
Questo articolo tratta soltanto i seguenti casi:
- Foto di modelli con autorizzazione all’uso dell’immagine
- Materiale personale realizzato e trattato legittimamente
- Personaggi virtuali originali che non rappresentano persone reali
- Test interni conformi e non destinati alla pubblicazione
Prima dell’uso commerciale o della pubblicazione, verifica separatamente il consenso all’uso dell’immagine, l’ambito della licenza dei modelli e le regole della piattaforma. Se non puoi confermare anche uno solo di questi punti, non pubblicare né commercializzare il risultato.
Riepilogo e passo successivo
La scelta principale è semplice:
- Identità durante la generazione → InstantID (l’attuale nodo ComfyUI è destinato a SDXL) o FaceID (SD1.5 + SDXL)
- Sostituzione facciale successiva → ReActor
- Qualità del riferimento, percorsi e abbinamento delle versioni hanno la precedenza sull’aumento indiscriminato dei pesi
- La licenza del codice non garantisce l’uso commerciale di un modello preaddestrato; i volti reali richiedono anche il consenso
InstantID è adatto ai workflow SDXL e ha più dipendenze, ma consente di controllare separatamente identità del volto e punti chiave. FaceID supporta più modelli base, anche se modello e LoRA devono corrispondere. ReActor non partecipa alla diffusione ed è adatto a trattare il volto in un’immagine esistente.
Puoi continuare con:
- Se la posa cambia o serve una composizione rigorosa → ControlNet in ComfyUI
- Se vuoi riutilizzare in modo stabile un personaggio originale → LoRA in ComfyUI
- Se devi ingrandire o ritoccare aree dopo la sostituzione → Upscaling e inpainting in ComfyUI
- Se continuano gli errori dei nodi o dei percorsi dei modelli → Riutilizzare i workflow di ComfyUI
Scegliere e regolare un workflow di coerenza dei volti in ComfyUI
Scegli il percorso in base alla fase, controlla riferimento, cartelle e versioni, quindi modifica un solo peso alla volta.
- 1
Step 1: Individua la fase in cui avviene il lavoro
Scegli InstantID o IPAdapter FaceID per generare nuove immagini da un volto; scegli ReActor se l’immagine esiste già e devi soltanto sostituire il volto. - 2
Step 2: Prepara un riferimento valido e autorizzato
Preferisci un’immagine frontale, nitida, senza occlusioni, con luce uniforme e un volto abbastanza grande, e verifica i diritti sul ritratto e sul materiale. - 3
Step 3: Installa modelli e dipendenze del percorso
Per InstantID controlla antelopev2, modello principale e ControlNet; per FaceID, insightface, modello FaceID e relativa LoRA; per ReActor, segui il README della versione corrente. - 4
Step 4: Crea un risultato di riferimento
Genera prima un’immagine con valori predefiniti o prudenti. Non cambiare contemporaneamente posa, espressione, acconciatura, modello di base e più pesi d’identità. - 5
Step 5: Regola in base al sintomo
Se la somiglianza è bassa, aumenta gradualmente il peso d’identità o controlla gli abbinamenti; se il prompt perde forza, riduci il peso dell’Adapter; se il volto sembra di plastica, abbassa sostituzione e restauro. - 6
Step 6: Aggiungi il controllo della posa o del personaggio
Combina ControlNet quando serve una posa precisa; per riutilizzare a lungo un personaggio originale, valuta l’addestramento di una LoRA invece di affidare ogni controllo al riferimento facciale.
FAQ
Per mantenere la stessa persona in ComfyUI è meglio InstantID o ReActor?
Perché IPAdapter FaceID richiede anche una LoRA?
InstantID in ComfyUI supporta soltanto SDXL?
ReActor 0.7 richiede ancora InsightFace e C++ Build Tools?
Il face swap in ComfyUI si può usare a fini commerciali?
Perché il volto sembra di plastica dopo la sostituzione?
13 min di lettura · Pubblicato il: 21 ago 2026 · Aggiornato il: 21 ago 2026
Guida pratica a ComfyUI e Stable Diffusion
Se arrivi dalla ricerca, il modo più veloce per orientarti è passare all’articolo precedente o successivo della stessa serie.
Precedente
FLUX.1 Kontext in ComfyUI: modifiche successive e coerenza dei personaggi
Configura FLUX.1 Kontext Dev in ComfyUI, modifica immagini in più passaggi, preserva personaggi e prodotti, torna a versioni pulite e verifica modelli e licenze.
Parte 8 di 13
Successivo
Ingrandire e riparare immagini in ComfyUI: Hires Fix, FaceDetailer e inpainting
Confronta upscaling dei pixel, ricampionamento latente, FaceDetailer, inpainting e tile, poi correggi volti alterati, giunzioni visibili e modifiche fuori maschera.
Parte 10 di 13



Commenti
Accedi con GitHub per lasciare un commento