Really nice. For an SDXL pipeline would one just add the sd15 inpainting model plus a downsize upscale node to adjust for lower resolution? Then upscale after the inpainting?
It is possible with SDXL, but a bit dirty. You need to download the SDXL Inpainting Unet and use the Unet Loader instead of the Checkpoint loader. This will throw a warning in the console, but is still working.
Bin da auch zufällig in den ComfyUI examples drauf gestoßen. Ganz praktischer Workflow! Es gibt aber ja natürlich immer noch das Inpaint Controlnet Modell. Mit dem Inpaint-Controlmodel gehts auch ohne spezial-Modell. Soll mal nicht unerwähnt bleiben ;-)
Danke für die Anleitung, sie ist wirklich gut. Ich frage mich, ob es eine Möglichkeit gibt, Ihr eigenes Papapan-Bild anstelle der Schreibaufforderung zu verwenden, wenn Sie den Kopf des Papageis mit der Katze austauschen. Können wir ein Referenzbild verwenden.
Super Infos ich beschäftige mich seit einigen tagen damit und bekomme es einfach nicht hin das meine AMD RX480 Grafikkarte benutzt wird. Habe mir auf RUclips einige Videos dazu angesehen aber waren nicht wirklich hilfreich....Hat jemand einen Tip?
Wieder mal sehr hilfreich. Ich würde mir noch mehr zum Thema inpainting / outpainting wünschen. Insbesondere wie man am besten ein In-Outp. bei sehr großen Ausgangsbildern hinbekommt. Sagen wir ich habe ein Foto von einer tollen Landschaft und da ist ein kleines Auto im Weg, welches ich entfernen möchte. Dann muss ja eigentlich nur Inpainting auf einen sehr kleinen Bereich durchgeführt werden und dieses Stück dann zurück in das hochauflösende Quellbild eingebaut werden. Bekommt man das mit Comfy hin? gleiches spiel wenn ich ein Bild ein wenig an der Seite erweitern möchte aber nicht das ganze Bild durch den Sampler schicken will, weil der mit der Auflösung "überfordert" ist.
Das geht auch mit ComfyUI. Outpainting habe ich jetzt noch nicht für so einen Fall ausprobiert, theoretisch geht es aber. Für das Inpainting zum Entfernen von Elementen im Bild musst Du den Ausschnitt croppen, dort maskieren, ersetzen lassen und später wieder mit einem Image Composite in das alte Bild einfügen. Falls der maskierte Bereich trotzdem noch zu groß ist kann man überlegen, die PatchModelAddDownscale in das Model einzufügen. Damit ist es SD 1.5 auch möglich, größere Bereich gut generieren zu können. Ich überlege mal, ob ich ein Video dazu mache.
Das Video behandelt nur 1.5er. Es geht im Prinzip schon mit SDXL, ist aber etwas dreckig. Dafür musst Du das SDXL Inpainting Unet Model laden und in den Unet Loader packen. Das verursacht eine Warnung beim Mergen, funktioniert vom Prinzip her allerdings. Ich persönlich finde aber auch, dass Inpainting in SDXL nicht gut gelöst wurde.
Also die Qualität der Ergebnisse im Video würde ich dem mangelhaften Prompting zuschreiben. :D Mit etwas mehr Liebe dort wird das Ergebnis dann auch schöner. LoRAs kann man natürlich verwenden, die werden dann aber nur auf den maskierten Bereich angewendet.
Thank you, wow!!! very helpful! Even without german easy to understand 😂❤❤ i wonder if a model on civit ai does have an inpainting version, will this version be better or exactly the same? Another question, it should upload 4 models to vram, right? How much does it take? Do they all stay in vram to the end?
@@ALatentPlace if a model on civit ai does have an inpainting version, will this version be better or exactly the same? May I now delete all the inpainting models from my disk and always use this thing instead? They take a lot of space.
@@ooiirraa I cannot tell how the models are trained by their creators on CivitAI, so I would prefer to go with them instead of creating it on the fly. I would only use the merging when no model is available. And yeah, I feel your pain, also my SSD is exploding. :D
Toll, wieder super Tutorial .... ich liebe deine videos zur Comfy,.. ich frage mich immer, wie weisst du das alles ? Bei dir sieht alles so einfach aus, wenn ich was bei Comfy ausprobieren möchte, läuft gar nichts...:-)))
Oh, keine Sorge. Das wirkt in Videos so, weil ich vorher natürlich auch für mich sehr viel Lernzeit investiere. Und mit der Zeit kennt man halt das ein oder andere, vergisst aber auch schnell wieder Dinge. :D Immer dran denken, die Evolution hatte nur eine Fähigkeit: Fehler machen. Und am Ende sind Katzen dabei raus gekommen, das ist doch was! Danke, freut mich sehr das es Dir gefällt. :)
Für SDXL gibt es keinen solchen einfachen Weg ein Inpainting-Model selbst zu erstellen nehme ich an? Zumindest hat es mit der beschriebenen Methode bei mir nicht funktioniert.
Bilder werden immer schlechter wenn man sie mehrmals hintereinander Inpainted. Zum Beispiel. Man fügt ein Tattoo am linken Arm hinzu, Dann ein anderes Tatoo am rechten Arm. Ändert die Augenfarbe und danach die Haarfarbe und so weiter. mit jedem Schritt mehr durch das Inpainting wird das Gesamtbild zusehend schlechter und schlechter. (Bereiche welche nie durch Inpainting betroffen waren sind davon natürlich auch betroffen) Wie kann man das umgehen?
Das liegt daran, dass die Bilder dennoch immer wieder durch die VAE Komprimierung geschickt werden (müssen). Umgehen kannst Du das, indem Du am Ende der Kette noch ein Composite Image Masked anwendest, und die Bereich des Inpaintings mit derselben Maske wieder auf das Original Bild anwendest.
Also ich habe nichts gelöscht und in "Überprüfung ausstehend" ist auch nichts. Enthielt sie eine URL? Manchmal entfernt YT selbstständig Kommentare, das Problem hatte ich schon mal mit einem Discord Link.
Echt gutes Video. Dachte nicht, dass es so einfach ist mit Models zu inpainten, die kein eigenes Inpainting Model bereitstellen :)👍
Jetzt muss man auch einfach mal abonnieren. Immerhin bald alle Videos gesehen. Super Arbeit und sehr hilfreich für einen noob wie mich. Danke dir!
Danke schön. :)
Sehr hilfreiche und interessante Tutorial-Reihe!
Really nice. For an SDXL pipeline would one just add the sd15 inpainting model plus a downsize upscale node to adjust for lower resolution? Then upscale after the inpainting?
yes, wondering the same. Can we do the same with XL ?
It is possible with SDXL, but a bit dirty. You need to download the SDXL Inpainting Unet and use the Unet Loader instead of the Checkpoint loader. This will throw a warning in the console, but is still working.
Bin da auch zufällig in den ComfyUI examples drauf gestoßen. Ganz praktischer Workflow!
Es gibt aber ja natürlich immer noch das Inpaint Controlnet Modell. Mit dem Inpaint-Controlmodel gehts auch ohne spezial-Modell. Soll mal nicht unerwähnt bleiben ;-)
da wär mal eine Gegenübersrtellung interessant. Auch in Bezug auf SDXL
Danke für die Anleitung, sie ist wirklich gut. Ich frage mich, ob es eine Möglichkeit gibt, Ihr eigenes Papapan-Bild anstelle der Schreibaufforderung zu verwenden, wenn Sie den Kopf des Papageis mit der Katze austauschen. Können wir ein Referenzbild verwenden.
So etwas kann man sehr gut mit dem IPAdapter und Attention masking erreichen.
Interesting approach, thanks for sharing ;)
schönes tutorial danke daür 💪
Super Infos ich beschäftige mich seit einigen tagen damit und bekomme es einfach nicht hin das meine AMD RX480 Grafikkarte benutzt wird. Habe mir auf RUclips einige Videos dazu angesehen aber waren nicht wirklich hilfreich....Hat jemand einen Tip?
Also how to make kSampler display the unfinished image during the generation?
This is an option in the ComfyUI Manager. There you can set the Preview Method (dropdown on the left side).
Wieder mal sehr hilfreich. Ich würde mir noch mehr zum Thema inpainting / outpainting wünschen. Insbesondere wie man am besten ein In-Outp. bei sehr großen Ausgangsbildern hinbekommt. Sagen wir ich habe ein Foto von einer tollen Landschaft und da ist ein kleines Auto im Weg, welches ich entfernen möchte. Dann muss ja eigentlich nur Inpainting auf einen sehr kleinen Bereich durchgeführt werden und dieses Stück dann zurück in das hochauflösende Quellbild eingebaut werden. Bekommt man das mit Comfy hin? gleiches spiel wenn ich ein Bild ein wenig an der Seite erweitern möchte aber nicht das ganze Bild durch den Sampler schicken will, weil der mit der Auflösung "überfordert" ist.
Photoshop, Krita oder deine Fotobearbeitungs Software ist besser für sowas. Weniger als ein Sekunde
Das geht auch mit ComfyUI. Outpainting habe ich jetzt noch nicht für so einen Fall ausprobiert, theoretisch geht es aber. Für das Inpainting zum Entfernen von Elementen im Bild musst Du den Ausschnitt croppen, dort maskieren, ersetzen lassen und später wieder mit einem Image Composite in das alte Bild einfügen. Falls der maskierte Bereich trotzdem noch zu groß ist kann man überlegen, die PatchModelAddDownscale in das Model einzufügen. Damit ist es SD 1.5 auch möglich, größere Bereich gut generieren zu können. Ich überlege mal, ob ich ein Video dazu mache.
danke! sehr hilfreich. Geht das mit SDXL nicht? weil du explizit erwähntest dass es mit 1.5er Models geht.
Das Video behandelt nur 1.5er. Es geht im Prinzip schon mit SDXL, ist aber etwas dreckig. Dafür musst Du das SDXL Inpainting Unet Model laden und in den Unet Loader packen. Das verursacht eine Warnung beim Mergen, funktioniert vom Prinzip her allerdings. Ich persönlich finde aber auch, dass Inpainting in SDXL nicht gut gelöst wurde.
ah, interessant, danke für die Info.
hi wie kommt das dass du beim ksampler noch so eine vorschau während des generierens bekommst?
Das ist eine Option im Comfy Manager, nennt sich Preview Method. Dort kann man das einschalten. :)
Würde eine Lora das ergebnis hier verbessern oder ist es für inpaint egal?
Also die Qualität der Ergebnisse im Video würde ich dem mangelhaften Prompting zuschreiben. :D Mit etwas mehr Liebe dort wird das Ergebnis dann auch schöner. LoRAs kann man natürlich verwenden, die werden dann aber nur auf den maskierten Bereich angewendet.
Thank you, wow!!! very helpful! Even without german easy to understand 😂❤❤ i wonder if a model on civit ai does have an inpainting version, will this version be better or exactly the same? Another question, it should upload 4 models to vram, right? How much does it take? Do they all stay in vram to the end?
Thanks for the feedback. :) The model merging is done in RAM, the final merged result will then go into the VRAM.
@@ALatentPlace if a model on civit ai does have an inpainting version, will this version be better or exactly the same? May I now delete all the inpainting models from my disk and always use this thing instead? They take a lot of space.
@@ooiirraa I cannot tell how the models are trained by their creators on CivitAI, so I would prefer to go with them instead of creating it on the fly. I would only use the merging when no model is available. And yeah, I feel your pain, also my SSD is exploding. :D
Toll, wieder super Tutorial .... ich liebe deine videos zur Comfy,.. ich frage mich immer, wie weisst du das alles ? Bei dir sieht alles so einfach aus, wenn ich was bei Comfy ausprobieren möchte, läuft gar nichts...:-)))
Oh, keine Sorge. Das wirkt in Videos so, weil ich vorher natürlich auch für mich sehr viel Lernzeit investiere. Und mit der Zeit kennt man halt das ein oder andere, vergisst aber auch schnell wieder Dinge. :D Immer dran denken, die Evolution hatte nur eine Fähigkeit: Fehler machen. Und am Ende sind Katzen dabei raus gekommen, das ist doch was!
Danke, freut mich sehr das es Dir gefällt. :)
Für SDXL gibt es keinen solchen einfachen Weg ein Inpainting-Model selbst zu erstellen nehme ich an? Zumindest hat es mit der beschriebenen Methode bei mir nicht funktioniert.
Doch, das geht auch. Dafür brauchst Du das SDXL Inpainting Model, musst es allerdings in den Unet Loader packen, anstelle von einem Checkpoint Loader.
Sehr nützlich, nun weiß ich, warum Outpainting in ComfyUI bei mir nie richtig funktioniert hat und Inpainting nur halb. ;-)
Bilder werden immer schlechter wenn man sie mehrmals hintereinander Inpainted.
Zum Beispiel. Man fügt ein Tattoo am linken Arm hinzu, Dann ein anderes Tatoo am rechten Arm. Ändert die Augenfarbe und danach die Haarfarbe und so weiter. mit jedem Schritt mehr durch das Inpainting wird das Gesamtbild zusehend schlechter und schlechter. (Bereiche welche nie durch Inpainting betroffen waren sind davon natürlich auch betroffen)
Wie kann man das umgehen?
Das liegt daran, dass die Bilder dennoch immer wieder durch die VAE Komprimierung geschickt werden (müssen). Umgehen kannst Du das, indem Du am Ende der Kette noch ein Composite Image Masked anwendest, und die Bereich des Inpaintings mit derselben Maske wieder auf das Original Bild anwendest.
Warum wirde meine Frage gelöscht?
Also ich habe nichts gelöscht und in "Überprüfung ausstehend" ist auch nichts. Enthielt sie eine URL? Manchmal entfernt YT selbstständig Kommentare, das Problem hatte ich schon mal mit einem Discord Link.