La plupart des images IA sont presque justes. Le visage est décalé, une manche a fondu, une main est fausse. L’inpainting rerend uniquement la partie que vous masquez et laisse le reste tranquille. Ce workflow le fait avec Flux Dev et le détailleur SEGS de l’Impact Pack, qui agrandit la zone masquée avant de la rerendre, si bien que même une petite région revient avec un vrai niveau de détail.
La technique fonctionne sur n’importe quel sujet. Ici, je prends une image de personnage que j’ai générée à partir d’un croquis (voir du croquis à l’art avec Flux) et je la corrige partie par partie : visage, manches, jambes, buste et batte de baseball.
En bref
- Masquez une région dans l’éditeur de masques, avec un pinceau doux (dureté proche de zéro).
- MASK to SEGS → Detailer (SEGS) : la zone masquée est agrandie à 512 px, rerendue avec Flux Dev et refondue dans l’image.
- Réglages : Flux guidance 3,5, 20 étapes, denoise 0,60–0,70.
- Une partie à la fois. Enregistrez, téléchargez, renvoyez, masquez la partie suivante.
- Attendez-vous à relancer : de 10 à 15 fois pour un visage, c’est normal.
Pour un examen plus détaillé de chaque node, et une astuce de repeint pour les mains les plus difficiles, voir corriger les mains d’IA dans ComfyUI. Ce guide traite de l’utilisation de la même configuration sur une image entière.
Le workflow
- Load Image : envoyez l’image à corriger. Faites un clic droit dessus et choisissez Open in Mask Editor pour peindre le masque.
- MASK to SEGS (Impact Pack) transforme le masque en segment, isolant cette zone pour pouvoir l’agrandir.
- Detailer (SEGS) est le node principal où tout se rejoint. Il prend la zone masquée, qui ne fait peut-être que 100 × 100 pixels, l’agrandit à 512 × 512 et la rerend là. Plus de pixels permettent de créer un meilleur résultat. L’image d’origine le guide, vous n’avez donc pas besoin de beaucoup de prompt ; il lit déjà ce qui est là. Connectez aussi l’image d’origine, pas seulement les segments.
- Load Diffusion Model : le modèle Flux Dev complet. La première génération prend environ une minute et demie pendant le chargement ; ensuite une exécution a pris environ 16 secondes.
- Load VAE : le petit autoencodeur de Flux, qui décode l’image depuis l’espace latent.
- DualCLIPLoader : Flux a besoin de deux encodeurs de texte, clip_l et t5xxl.
- Prompt positif → FluxGuidance : la guidance de Flux définit avec quelle force le prompt contrôle l’image. 3,5 est la norme et fonctionne bien. Connectez aussi l’entrée négative, mais laissez-la vide : Flux ne fonctionne pas bien avec les prompts négatifs, décrivez donc tout dans le positif.
- Image Comparer et Save Image à la fin.
Peindre un masque doux
Dans l’éditeur de masques, réglez la taille du pinceau avec le curseur, puis baissez la dureté à environ zéro. Le réglage par défaut est très dur, et un bord dur laisse des contours et des coutures visibles. Peignez sur la zone et cliquez sur Save.
Masquez une partie à la fois : bras, jambes, taille, buste, visage, cheveux, la batte. Si vous essayez de faire les bras et les jambes d’un coup, le masque devient trop grand et abîme l’image. Il ne fait tout simplement pas du bon travail.
Prompt et réglages
Le prompt peut être très simple. Pour le visage, j’ai tapé « young beautiful female face, red lips ». N’ajoutez du détail que s’il se trompe sans cesse.
Dans le détailleur :
- Seed : aléatoire à chaque exécution. Gardez une seed si vous voulez recréer une image : avec le même prompt et les mêmes réglages, quelqu’un d’autre obtient exactement le même résultat.
- Étapes : 20. La plage habituelle est 20–50, avec des rendements décroissants au-delà de 50. Flux est plutôt lent, et 20 est rapide et de haute qualité.
- CFG : 1,0. La guidance vient déjà du node FluxGuidance, le CFG n’a donc aucun effet ici ; laissez-le.
- Denoise : 0,60–0,70. De combien la zone peut changer. Cette plage donne au modèle assez de liberté sans la changer trop ou trop peu. J’y suis arrivé par l’expérience, après des centaines ou des milliers de générations.
Lancer, enregistrer, renvoyer, recommencer
Chaque exécution donne un visage différent, alors relancez jusqu’à ce qu’un convienne. Les résultats vont dans le dossier output de ComfyUI ; le préfixe de nom de fichier du node de sauvegarde (j’ai utilisé flux_gen) les rend faciles à repérer.
Pour travailler sur la partie suivante, le résultat actuel doit devenir l’entrée. Je télécharge l’image et la renvoie dans Load Image. (Si vous connaissez un meilleur moyen de la réutiliser dans RunComfy, dites-le-moi.) Envoyer une nouvelle image supprime le masque, ouvrez donc l’éditeur de masques et peignez la zone suivante.
Sur les manches, le premier essai était bon d’un côté et mauvais de l’autre. Le masque était un peu trop grand ; un masque plus étroit le long du bras a mieux fonctionné, tout en ajoutant des tatouages que je n’avais pas demandés. Un prompt plus précis (« white cotton sleeves ») aiderait probablement. Parfois il faut repeindre le masque parce qu’il a pris des parties que vous ne vouliez pas.
Comment l’image complète a pris forme
- Jambes : « smooth legs, high heels, red boots ». La première génération était superbe.
- Buste et manches ensemble : un grand masque, et des ennuis. La taille a fusionné avec le bras, je l’ai donc divisé en masques séparés.
- Bras seuls : plutôt bon dès le premier essai. Pas le blanc-argent que je voulais, mais assez bien.
- Visage : 10 à 15 générations.
- Buste et taille : une dizaine d’itérations de plus.
- Batte de baseball : un masque vraiment petit et quelques itérations.
C’est pas mal de travail : télécharger, renvoyer, relancer. Refaire beaucoup d’une image peut prendre une heure. Si ce n’est que le visage et les mains, c’est bien plus rapide.
Où l’exécuter
Flux Dev demande un GPU puissant. J’ai enregistré ceci sur RunComfy, où le workflow est configuré et prêt, avec environ 15 minutes gratuites pour l’essayer. Aujourd’hui, je fais tourner ce genre de travail sur RunPod ; voir mon introduction à RunPod. Le workflow est aussi sur mon Patreon.
Le lien RunComfy est un lien de parrainage. Si vous essayez RunPod, mon lien de parrainage offre aux nouveaux comptes inscrits avec Google entre 5 et 500 $ de crédit après leurs 10 premiers dollars, et je touche une petite commission.
Voir la version vidéo (10:15)
Tout ce qui précède est aussi dans la vidéo, si vous préférez suivre à l’écran. La vidéo est en anglais.
Questions fréquentes
Quel denoise utiliser pour l'inpainting avec Flux ?
Entre 0,60 et 0,70. Cela donne au modèle assez de liberté pour interpréter la zone sans la changer trop ou trop peu ; j'y suis arrivé après des centaines de générations.
Pourquoi mon inpainting tourne-t-il mal quand je masque une grande zone ?
Un grand masque couvrant plusieurs parties (bras, buste et jambes d'un coup) donne trop à changer au modèle et il abîme l'image. Travaillez une partie à la fois avec un petit masque doux.
Dois-je écrire un prompt négatif pour Flux ?
Non. Flux n'utilise pas bien les prompts négatifs. Décrivez ce que vous voulez dans le prompt positif, et restez simple ; n'ajoutez du détail que s'il se trompe sans cesse.
