Flux de travail d'inpainting Krea 2 Turbo dans ComfyUI (LanPaint + Diffusion Différentielle)#
Ce flux de travail d'inpainting Krea 2 Turbo dans ComfyUI transforme Krea‑2 Turbo en un éditeur local précis pour le remplacement d'objet et les corrections ciblées. Il associe l'échantillonneur sans entraînement de LanPaint à une injection de bruit masquée, une Diffusion Différentielle, un masquage automatique basé sur SAM et une composition de recadrage et d'assemblage pour régénérer uniquement ce que vous sélectionnez tout en préservant tout le reste. Le graphe de 27 nœuds, prêt pour RunComfy, a été validé de bout en bout ; lors des tests, il a remplacé proprement un cadran de montre par un papillon mécanique blanc tout en laissant le boîtier, les aiguilles et l'éclairage intacts.
Conçu pour les artistes, les photographes de produits et les retoucheurs qui ont besoin de modifications locales fiables, le flux de travail accepte soit un masque peint à la main, soit un masque automatique, effectue un passage de génération ciblé sur la région recadrée, puis assemble le résultat avec des bords sans couture. Le résultat est rapide, contrôlable et visuellement cohérent avec la photo originale.
Modèles clés dans le flux de travail d'inpainting Krea 2 Turbo dans ComfyUI#
- Krea‑2 Turbo. L'épine dorsale de diffusion qui synthétise en fait le nouveau contenu à l'intérieur de la région masquée. Carte officielle du modèle : Krea‑2 Turbo sur Hugging Face. Répertoire du projet : krea‑ai/krea‑2.
- Qwen Image VAE. L'autoencodeur utilisé pour passer de l'espace pixel à l'espace latent où l'échantillonnage masqué se produit. Distribué avec les ressources Krea‑2 : Comfy‑Org/Krea‑2.
- Qwen‑VL encodeur de texte. L'encodeur de langage qui transforme votre invite en conditionnement pour Krea‑2 Turbo ; livré avec la pile Krea‑2. Implémentation de référence : QwenLM/Qwen2‑VL.
Comment utiliser le flux de travail d'inpainting Krea 2 Turbo dans ComfyUI#
À un niveau élevé, vous fournissez une image d'entrée et un masque. Le graphe recadre la région d'intérêt avec un peu de contexte, prépare les latents pour que seule la zone masquée soit bruitée, puis effectue un passage d'échantillonnage LanPaint pour régénérer la cible. Enfin, il redimensionne et assemble le patch à la toile originale et offre une option de mise à l'échelle et de comparaison côte à côte.
Modèles#
Ce groupe charge l'épine dorsale de diffusion, le VAE et l'encodeur de texte. UNETLoader (#412) intègre Krea‑2 Turbo, VAELoader (#435) fournit le Qwen Image VAE, et CLIPLoader (#413) configure l'encodeur d'invite livré avec Krea‑2. Vous n'avez généralement pas besoin de changer quoi que ce soit ici, sauf si vous souhaitez échanger des variantes de modèle.
Invite#
CLIPTextEncode (#411) est l'endroit où vous écrivez ce que vous souhaitez générer à l'intérieur du masque. Gardez l'instruction de modification spécifique à l'objet et au style souhaités, et dites explicitement au modèle de préserver le contenu non masqué. ConditioningZeroOut (#414) offre un chemin négatif propre pour que l'échantillonneur reste concentré sur votre instruction positive.
Recadrage+Redimensionnement#
Alimentez votre image source dans LoadImage (#200). Fournissez un masque soit en peignant directement sur l'entrée, soit en utilisant SAM3Segment (#454) pour proposer automatiquement un masque à partir du contenu de l'image. Switch mask [Crystools] (#453) vous permet de choisir entre manuel et automatique. CropByMask (#449) isole la région sélectionnée, capturant les coordonnées de recadrage pour un assemblage ultérieur. ImageResizeKJv2 (#448) aligne le recadrage sur une résolution adaptée au générateur, et GrowMaskWithBlur (#452) élargit et adoucit le masque pour que les bords se fondent naturellement après la modification.
Génération d'images#
VAEEncode (#436) convertit l'image recadrée en latents. SetLatentNoiseMask (#430) injecte du bruit uniquement à l'intérieur du masque pour que les latents non masqués restent ancrés à l'original. DifferentialDiffusionAdvanced (#447) restreint davantage les mises à jour au masque, réduisant la dérive des pixels environnants. LanPaint_KSampler (#440) effectue l'échantillonnage masqué sans entraînement guidé par votre invite, produisant un patch latent régénéré. VAEDecode (#439) ramène le résultat aux pixels pour inspection et étapes en aval.
Assemblage#
Après le décodage, ImageResizeKJv2 (#488) fait correspondre le patch modifié aux dimensions de l'image originale en utilisant la largeur/hauteur enregistrées, et un second GrowMaskWithBlur (#491) prépare un masque de composition adapté aux bords. ImageCompositeMasked (#487) assemble le patch exactement à l'emplacement de recadrage x/y d'origine, préservant la composition globale, l'éclairage et la couleur. Utilisez le Image Comparer (rgthree) (#456) inclus pour glisser entre avant/après pour le contrôle qualité.
Mise à l'échelle (optionnelle)#
Si le résultat est satisfaisant et que vous souhaitez un détail plus élevé, envoyez la sortie composée à CR Upscale Image (#485). Cela met à l'échelle l'image finale sans rediffusion, ce qui est plus rapide et maintient votre composition stable. Un deuxième comparateur (#480) est fourni pour vérifier les gains de netteté.
Nœuds clés dans le flux de travail d'inpainting Krea 2 Turbo dans ComfyUI#
LanPaint_KSampler(#440). L'étape centrale d'inpainting sans entraînement qui réutilise un modèle de texte à image pour des modifications localisées sans ajustement fin. Il échantillonne uniquement là où le masque le permet, guidé par votre conditionnement positif. Pour une adhésion plus forte à votre instruction, augmentez l'effort d'échantillonnage ; pour un réalisme plus serré avec la photo, privilégiez un débruitage conservateur. Implémentation : scraed/LanPaint, article : LanPaint (arXiv).SetLatentNoiseMask(#430). Garantit que le bruit est appliqué uniquement à l'intérieur du masque dans l'espace latent afin que les latents de fond restent verrouillés à l'image originale. Si vous voyez des changements non intentionnels à l'extérieur de la cible, revisitez cette étape et confirmez que votre masque couvre uniquement ce qui doit changer.DifferentialDiffusionAdvanced(#447). Limite l'étape de mise à jour pour que la région non masquée résiste à la dérive. Lorsque de petits halos ou des changements de tonalité apparaissent près des bords, augmentez cela vers une préservation plus forte pour que le contexte reste fidèle tandis que la zone masquée évolue.GrowMaskWithBlur(#452). Élargit et adoucit le masque pour capturer les ombres de contact et les interréflexions autour de l'objet. Si des coutures sont visibles, élargissez légèrement et ajoutez une touche de flou ; si les modifications se répandent trop loin, réduisez la croissance.CropByMask(#449). Recadre la région d'intérêt et enregistre l'origine du recadrage. Cela maintient la génération rapide et ciblée, et cela détermine le placement exact plus tard. Si la modification manque de contexte suffisant, ajoutez un peu plus de marge pour que le modèle puisse voir les surfaces adjacentes et les indices d'éclairage.ImageCompositeMasked(#487). Reconstruit la toile complète en plaçant le patch modifié à sa position d'origine en utilisant les coordonnées enregistrées. Si vous remarquez une douceur des bords ou un mauvais alignement, confirmez l'origine du recadrage et que le masque de couture correspond au masque agrandi de la phase de génération.SAM3Segment(#454). Produit un masque de segmentation automatique à partir de l'image d'entrée. Il est pratique pour des démarrages rapides ; affinez avec un pinceau si nécessaire pour resserrer la sélection autour de limites délicates comme les cheveux, les rayons ou les filigranes.
Extras optionnels#
- Élaborer des invites qui ancrent la scène. Décrivez précisément l'objet de remplacement, puis dites explicitement au modèle de préserver tous les détails non masqués ainsi que l'éclairage, l'angle de la caméra et l'échelle d'origine.
- Commencez avec un masque légèrement plus grand que l'objet pour capturer les ombres de contact et les réflexions ; puis peaufinez la croissance et le flou pour des bords sans couture.
- Si le patch semble "trop neuf" ou déplacé, réduisez l'agressivité dans l'échantillonneur ou renforcez la Diffusion Différentielle pour conserver plus de la microtexture originale.
- Utilisez les comparateurs avant/après inclus lors de l'itération et ne mettez à l'échelle que lorsque vous êtes satisfait de la composition et du réalisme.
- Pour une meilleure répétabilité entre les exécutions, gardez la même graine pendant que vous affinez les bords du masque, la formulation de l'invite et la marge de recadrage.
Références et remerciements : Carte du modèle Krea‑2 Turbo Hugging Face, répertoire du projet krea‑ai/krea‑2 ; implémentation LanPaint GitHub et article arXiv.
Remerciements#
Ce flux de travail implémente et s'appuie sur les travaux et ressources suivants. Nous remercions chaleureusement Krea AI pour le projet Krea 2 et le modèle Krea 2 Turbo, scraed pour l'extension LanPaint ComfyUI, et les auteurs de LanPaint pour l'article LanPaint pour leurs contributions et leur maintenance. Pour des détails autoritaires, veuillez vous référer à la documentation et aux répertoires originaux liés ci-dessous.
Ressources#
- Altruistic_Tax1317/flux de travail d'inpainting Krea2
- Docs / Notes de version : fil Reddit
- Krea AI/Krea 2
- GitHub : krea-ai/krea-2
- Hugging Face : krea/Krea-2-Raw, krea/Krea-2-Turbo
- Krea/Krea-2-Turbo
- GitHub : krea-ai/krea-2
- Hugging Face : krea/Krea-2-Turbo
- scraed/LanPaint
- GitHub : scraed/LanPaint
- arXiv : arXiv:2502.03491
- Auteurs de LanPaint/LanPaint (article)
- arXiv : arXiv:2502.03491
Remarque : L'utilisation des modèles, ensembles de données et codes référencés est soumise aux licences et conditions respectives fournies par leurs auteurs et mainteneurs.





