--- title: Outpainting --- # :octicons-paintbrush-16: Outpainting ## Continous outpainting This extension uses the inpainting code to extend an existing image to any direction of "top", "right", "bottom" or "left". To use it you need to provide an initial image with -I and an extension direction with -D (direction). When extending using outpainting a higher img2img strength value of 0.83 is the default. The code is not foolproof. Sometimes it will do a good job extending the image, and other times it will generate ghost images and other artifacts. In addition, the code works best on images that were generated by dream.py, because it will be able to recover the original prompt that generated the file and "understand" what you are trying to achieve. ### Basic Usage To illustrate, consider this image generated with the prompt "fantasy portrait of eleven princess." It's nice, but rather annoying that the top of the head has been cropped off. ![elven_princess](../assets/outpainting/elven_princess.png) We can fix that using the `!fix` command! ~~~~ dream> !fix my_images/elven_princess.png -D top 50 ~~~~ This is telling dream.py to open up a rectangle 50 pixels high at the top of the image and outpaint into it. The result is: ![elven_princess.fixed](../assets/outpainting/elven_princess.outpainted.png) Viola! You can similarly specify `bottom`, `left` or `right` to outpaint into these margins. There are some limitations to be aware of: 1. You cannot change the size of the image rectangle. In the example, notice that the whole image is shifted downwards by 50 pixels, rather than the top being extended upwards. 2. Attempting to outpaint larger areas will frequently give rise to ugly ghosting effects. 3. For best results, try increasing the step number. 4. If you don't specify a pixel value in -D, it will default to half of the whole image, which is likely not what you want. You can do more with `!fix` including upscaling and facial reconstruction of previously-generated images. See [./UPSCALE.md#fixing-previously-generated-images] for the details. ### Advanced Usage For more control over the outpaintihg process, you can provide the `-D` option at image generation time. This allows you to apply all the controls, including the ability to resize the image and apply face-fixing and upscaling. For example: ~~~~ dream> man with cat on shoulder -I./images/man.png -D bottom 100 -W960 -H960 -fit ~~~~ Or even shorter, since the prompt is read from the metadata of the old image: ~~~~ dream> -I./images/man.png -D bottom 100 -W960 -H960 -fit -U2 -G1 ~~~~