Hmm, perhaps I should remove my two bonus examples? I was just trying to show what MidJourney and Dalle can create based on my own prompt of trying to recreate the scene I mentioned.
Let's see your version of payback ๐
Okay soooooo, that took a lot longer than I anticipated, but I think I got it. It seems it is a problem with the VAE encoding process and it can be handled with the ImageCompositeMasked node that combines the padded image with the new outpainted area so that pre-outpainted area isn't affected by the VAE. I learned this here https://youtu.be/ufzN6dSEfrw?si=4w4vjQTfbSozFC6F&t=498. The whole video is quite useful, but the part I linked to is where he talks about that problem.
The next problem I ran into is that at around the fourth from the last outpainting, ComfyUI would stop, it just wouldn't go any further. The system I'm using has 24GB of VRAM and 42 GB of RAM so I didn't think that was the problem, but just in case I tried it on a beastly RunPod machine that had 48GB VRAM and 58GB of RAM. It had the exact same problem.
To work around this I first bypassed everything except the original gen and the first outpaint. Then I enabled each outpaint one by one until I got to the fourth from the last. At that point I saved the output image and bypassed everything except the original gen and first outpaint and enabled the last four outpaints, loading the last image manually.
I used DreamShaper XL Lightning because there was no way I was going to wait for 60 steps each time with FenrisXL ๐ I tried two different ways of using the same model for inpainting. The first was using the Fooocus Inpaint node and Differential Diffusion node. This worked well, but when comfy stopped working I thought maybe that was the problem so I switched all of those out for some model merging. Basically, it subtracts the base SDXL model from the SDXL inpainting model and adds the Dreamshaper XL Lighting model to that. This creates a "Dreamshaper XL Lightning inpainting model". The SDXL inpainting model can be found here.
You should be able to use this workflow with FenrisXL the whole time if you want. You'll just need to change the steps, CFG, and maybe sampler at each ksampler.
Image with ImageMaskedComposite: https://files.catbox.moe/my4u7r.png
Image without ImageMaskedComposite: https://files.catbox.moe/h8yiut.png
Very cool idea to use outpainting like that! I'm wondering if something happened to the image along the way. A lot of the details look burnt out by the final outpainting. Looking at the workflow, I counted 12 VAE decode/encode pairs. I know that changing between latent and pixel space is not a lossless process, so that might be it, but I'm not sure. I'm going to see if I can get a workflow going that maintains the original quality.
I had to rely on Regional Prompter to get the composition even remotely right. SD really didn't feel like putting any kind of large planet in the sky without it. I also learned today that SDXL models don't know what Saturn is ๐ซ
I added an extra note to the post ๐
Although I notice we already got a nice non-gun entry a few hours before you even wrote this.