Quando ComfyUI “non capisce” il prompt

Image

Quando ComfyUI “non capisce” il prompt

Scarichi un modello nuovo, lo colleghi a un workflow che “più o meno” assomiglia a quello giusto, scrivi un prompt sensato e… l’immagine sembra casuale. Oppure il nodo va in errore, oppure i risultati sono inspiegabilmente scarsi rispetto a quelli che vedi online. In ComfyUI, nella maggior parte dei casi non è magia nera né “sfortuna”: è un disallineamento fra componenti. Il punto è semplice da dire e facile da dimenticare quando si collezionano file, un modello di diffusione non vive da solo, ma si appoggia a un ecosistema preciso fatto di text encoder (spesso chiamato “CLIP” per abitudine), VAE e, quando li usi, LoRA. Se uno di questi pezzi appartiene a una famiglia diversa, la catena si spezza.

L’idea da tenere a mente è che ogni famiglia di modelli è stata addestrata aspettandosi determinati formati e determinate “coordinate” interne. Il prompt non viene letto dal modello in chiaro, ma viene trasformato dal text encoder in vettori numerici (embedding). Se quei vettori non hanno la struttura che il modello si aspetta, il modello non “capisce” davvero cosa vuoi. Allo stesso modo, la VAE si occupa di tradurre fra spazio latente e immagine (codifica/decodifica): se metti una VAE non coerente, puoi ottenere colori spenti, contrasto sballato, dettagli “impastati” o artefatti strani. Le LoRA, infine, non sono “filtri universali”, sono piccole patch addestrate su un backbone specifico (il “backbone” è il modello base su cui tutto il resto si appoggia, in pratica è l’architettura e l’insieme di pesi principali che fanno il lavoro grosso della generazione). Per questo una LoRA nata per SD 1.5 non è automaticamente adatta a SDXL, e una LoRA pensata per SDXL non si comporta bene su Flux o Z-Image.

L’allineamento, in pratica: una catena in quattro anelli

In ComfyUI, la pipeline più comune si può leggere così: testo → text encoder → condizionamento → modello di diffusione → latenti → VAE → immagine. Ogni freccia implica compatibilità. Quando tutto è coerente, il prompt “aggancia” subito e i controlli (CFG, sampler, steps) si comportano in modo prevedibile. Quando qualcosa è fuori famiglia, i sintomi cambiano: a volte il workflow non parte, a volte parte ma ignora le parole chiave, a volte genera immagini che sembrano sempre “uguali” anche cambiando prompt, a volte la resa cromatica è palesemente sbagliata.

MODEL ↔ TEXT ENCODER ↔ VAE

Qui sotto trovi una tabella orientativa (utile come mappa mentale). Se un modello viene distribuito con un workflow di esempio o con un README, quello è il riferimento più affidabile perché ti dice esattamente cosa si aspettava l’autore.

Famiglia / modello (macro)Text encoder tipico (quello “giusto” per la famiglia)Note pratiche su VAE
Stable Diffusion 1.x (es. 1.5)CLIP ViT-L/14 (famiglia SD1)In genere usa il VAE “classico” SD1; cambiare VAE può alterare colori/dettaglio
Stable Diffusion 2.xOpenCLIP ViT-H/14 (famiglia SD2)SD2 tende a essere più “sensibile” all’accoppiata corretta
SDXLDoppio encoder (CLIP-L + “bigG” a seconda dei loader/workflow)Spesso va bene anche con VAE SDXL consigliato; VAE sbagliato = look “spento” o oversharp
Flux / famiglie similiText encoder specifici (spesso T5 + componenti dedicati)Di frequente viene indicato un VAE preciso (o compatibile) nel pacchetto
Z-Image / famiglie recenti “custom”Encoder non-CLIP classico (es. Qwen o altri)Qui seguire l’esempio ufficiale è quasi obbligatorio: cambiare encoder rompe il prompt

Questa tabella non serve a “memorizzare sigle”, ma a farti scattare la domanda giusta: “Questo modello, con quale encoder è stato addestrato?”. Se non lo sai, il comportamento casuale che vedi non è un mistero, è un mismatch.

Come si riconosce un mismatch

Molti principianti interpretano i segnali al contrario, pensando che il modello sia “scarso”. In realtà alcuni sintomi sono abbastanza tipici.

SintomoSpesso è colpa diPerché succede
Il prompt sembra ignorato, output “random”Text encoder sbagliatoIl condizionamento non corrisponde allo spazio appreso dal modello
Errore immediato nel nodo di loadEncoder o checkpoint incompatibiliDimensioni/architettura non combaciano (shape mismatch)
Colori strani, pelle grigiastra, contrasto incoerenteVAE non adattaDecodifica latenti con parametri diversi da quelli attesi
LoRA “non fa nulla” o distorce tuttoLoRA di famiglia diversaLa patch modifica pesi che non corrispondono (o pesa male sui layer)
Risultati sempre simili anche cambiando promptEncoder errato o CFG/clip skip incoerentiIl testo non guida davvero la generazione, quindi il rumore domina

La cosa importante è non correggere “a caso”. Se sospetti un mismatch, non cambiare dieci impostazioni: rimetti prima la triade corretta (model + encoder + VAE), verifica che il prompt torni a incidere, poi aggiungi LoRA e controlli.

Il metodo operativo

Un approccio affidabile, in ComfyUI, assomiglia più a un controllo qualità che a un gioco d’incastri. Parti dal modello e ricostruisci a ritroso tutto ciò che lo alimenta.

Il primo passo è trattare il modello di diffusione come “la famiglia” e non come un file isolato. Se scarichi un checkpoint SD1.5, ragiona in termini di pipeline SD1. Se scarichi SDXL, usa un loader SDXL e i suoi encoder previsti. Se scarichi Flux o Z-Image, cerca sempre il workflow ufficiale o almeno la lista delle dipendenze (text encoder e VAE inclusi). Importa un workflow di esempio e guarda quali nodi di load usa e quali file punta.

Il secondo passo è mettere ordine nelle cartelle, perché “carico quello che trovo nel menu” è uno dei modi più rapidi per sbagliare. I percorsi possono variare leggermente a seconda di installazione e plugin, ma l’idea è che ogni asset abbia la sua casa. Se un encoder finisce nella cartella dei checkpoint o una VAE viene messa “dove capita”, aumentano le probabilità di selezionare per sbaglio un file simile ma non coerente.

ComponenteDove finisce di solito in ComfyUIEffetto se messo/cercato altrove
Modello di diffusione / checkpointmodels/checkpoints (o models/diffusion_models in setup specifici)Rischi di caricare il file con un loader sbagliato
Text encoder (CLIP/T5/Qwen ecc.)models/clip o models/text_encoders (dipende dal workflow)Menu confusionario e mismatch frequenti
VAEmodels/vaeSelezioni casuali e resa cromatica incoerente
LoRAmodels/lorasLoRA “invisibile” o caricata col nodo sbagliato

Il terzo passo è aggiungere le LoRA solo quando la base è stabile. È tentante partire con “modello + 3 LoRA + 2 ControlNet”, ma se qualcosa va storto non saprai mai dov’è il problema. Una volta che il modello risponde bene al prompt con la sua triade corretta, inserisci una LoRA alla volta e controlla che l’effetto sia coerente con ciò che ti aspetti.

LoRA

La frase “questa LoRA funziona ovunque” è quasi sempre un equivoco. Una LoRA è allenata su un backbone (SD1.5, SD2, SDXL, ecc.) e spesso presuppone un certo modo di interpretare il testo (quindi un certo encoder e un certo schema di condizionamento). Anche quando “sembra funzionare”, può farlo in modo degradato o imprevedibile.

LoRA nata perDi solito funziona bene conTipico risultato se la usi altrove
SD 1.5SD 1.xEffetto nullo o distorsioni su SDXL/Flux/Z-Image
SD 2.xSD 2.xComportamento instabile su SD1.5 e SDXL
SDXLSDXLSu SD1.5 spesso “non prende” o genera artefatti
Famiglie custom (Flux, Z-Image, ecc.)La stessa famigliaSu altre famiglie quasi sempre inutile

Un dettaglio che aiuta: molte LoRA includono indicazioni su “trigger words” e pesi consigliati. Se le trigger words non fanno niente, prima di aumentare il peso chiediti se sei sulla famiglia giusta. Aumentare il peso di una LoRA incompatibile raramente “risolve”: di solito amplifica solo l’instabilità.

Immagina…

Immagina che il text encoder sia un traduttore e il modello sia un artigiano che ha imparato a lavorare seguendo istruzioni in una lingua specifica. Se porti un traduttore che usa un dizionario diverso, le frasi arrivano all’artigiano deformate, alcune parole diventano rumore, altre cambiano significato. L’artigiano lavora lo stesso (perché sa comunque “generare”), ma lo fa senza una guida affidabile. La VAE, invece, è come la lente con cui guardi il risultato, se non è tarata sul tipo di materiale, i colori e i dettagli vengono interpretati male. Le LoRA sono utensili progettati per quel banco da lavoro e se li monti su un altro banco, non si avvitano dove dovrebbero.

Ricostruire il contesto

Quando scarichi un modello, il modo più professionale di usarlo non è “provare finché va”, ma ricostruire il contesto di addestramento: quale text encoder, quale VAE, quali esempi di workflow. È il motivo per cui, con modelli recenti e “non standard”, l’abbinamento corretto non è opzionale, è parte integrante del modello. Una volta interiorizzata questa logica, ComfyUI smette di sembrare un labirinto e diventa un sistema molto lineare. Se il prompt guida bene, sei allineato, se non guida, stai parlando la lingua sbagliata.

Se l’articllo ti è piaciuto restiamo in contatto su linkedin a: https://www.linkedin.com/in/andreatonin/

#model #ComfyUI #text_encoder #CLIP #VAE #LoRA #compatibilità #workflow #StableDiffusion #Flux #ZImage

Banner

Releated Posts

ComfyUI – Reference Conditioning

In ComfyUI (soprattutto con modelli come Flux) il Reference Conditioning è un nodo che permette di usare una…

DiByAndrea Tonin Apr 9, 2026

ComfyUI per generare anime: NewBie Image Exp0.1

NewBie Image (spesso indicato come NewBie-image-Exp0.1) è un modello text-to-image in stile anime/ACG pensato per generare illustrazioni con…

DiByAndrea Tonin Apr 9, 2026

Comfy UI: OpenPose

Quando si parla di “OpenPose” in giro per ComfyUI, spesso si intende una cosa molto concreta: prendere una…

DiByAndrea Tonin Apr 9, 2026

L’AI in Cooperativa come scelta organizzativa

Negli ultimi mesi sono stato molto impegnato con docenze in cooperative anche molto diverse tra loro. In aula…

DiByAndrea Tonin Apr 9, 2026