txt2imghd is a port of the GOBIG mode from progrockdiffusion applied to Stable Diffusion, with Real-ESRGAN as the upscaler. It creates detailed, higher-resolution images by first generating an image from a prompt, upscaling it, and then running img2img on smaller pieces of the upscaled image, and blending the result back into the original image.
txt2imghd with default settings has the same VRAM requirements as regular Stable Diffusion, although generation of the detailed images will take longer.
- Have a working repository of Stable Diffusion
- Copy
txt2imghd.pyintoscripts/ - Download the appropriate release of Real-ESRGAN (the respective
realesrgan-ncnn-vulkan.zip for your OS) and unzip it into the root of your Stable Diffusion repository
txt2imghd has most of the same parameters as txt2img. ddim_steps has been renamed to steps. The strength parameter controls how much detailing to do (between 0.0-1.0). If no prompt is given on the command line, the program will ask for it as input.
python scripts/txt2imghd.pytxt2imghd will output three images: the original Stable Diffusion image, the upscaled version (denoted by a u suffix), and the detailed version (denoted by the ud suffix).
If you're running into issues with WatermarkEncoder, install WatermarkEncoder in your ldm environment with
pip install invisible-watermark
A selection of useful parameters to be appended after python scripts/txt2imghd.py:
--prompt the prompt to render (in quotes), examples below
--img only do detailing, using the path to an existing image (image will also be copied to output dir)
--generated only do detailing, on a an image in the output folder, using the image's index (example "00003")
--n_iter 25 number of images to generate
default = 1
--gobig_overlap overlap size for GOBIG
default = 128
--detail_steps number of sampling steps when detailing
default = 150
--wm watermark text using WatermarkEncoder
default = "txt2imghd"
--passes number of upscaling/detailing passes
default = 1
--strength strength for noising/unnoising. 1.0 corresponds to full destruction of information in init image (especially useful when using an existing image)
default = 0.3