32k Creative Landscape Upscale
created a year ago
upscale
96 nodes

1.9k

302

Outputs
example image output optimized_comfy_workflows_user_uploads/3b159c36-5a30-4db4-879c-04a336020258/assets/180894764619042_1_20240516211502_0001.webp for workflow.
Description

A set of nodes that creatively upscales an image (in this case SDXL with a OneButton prompt) to 30720x17568 or in-between. By creative upscalling, I mean that detail is created based on the prompt. This can lead to a lot of issues depending on your subject matter.

Note:

  • This workflow requires quite a large system and a lot of time.

  • The output nodes are set to output to a custom folder: C:\Quick Cache\Working Photos\ComfyUI\Outputs\Experiment\16k

    • Change that if you like but remember to change it in the inputs of all of the save nodes or easier, just disconnect the output directory connector and convert it back to a widget.

  • The final image generation can run to 3 hours on my system.

  • The outputs are currently set to webp for the small images and PNG for the large images. This is because:

    • Webp is efficient as well for read and write and the small images are for reference.

    • Webp is limited to resolution and the largest image is too large for the format. I have had crashes at lower resolutions as well when I get over about 8k. PNG keeps all of the colour information and is capable of doing this but very slow. If you don't mind colour loss, I think you could try JPG.

  • This workflow works with landscape prompts only as far as I have seen so far. Upscaling things like figures or portraits or vehicles or other single subjects just becomes a mess. Stick with something like Ultimate SD Upscale or SUPIR in those cases.

The creativity is set by adjusting the start_at_step in each of the KSamplers in the upscale groups.

  • I found with limited experimentation that 11 steps worked pretty well.

  • I found little difference changing the start_at_step and end_at_step to higher values, e.g. 55-65 (ending at the same steps as the initial generation) changed very much.

  • Lowering the steps (e.g. to 38-40) will keep the generation more true to the original while adding less creative detail.

  • Going under 3 steps generally begins to create a blurry image at higher resolutions

  • Going over 10 steps generally looses too much cohesion on the higher resolutions

  • Tiling lines are also an issue that is influenced by this.

Play around with these settings as you like.

Some info about my set-up:

  • Nvidia 3090 with 24gb of VRAM.

  • Threadripper with 64 cores.

  • 128Gb of RAM.

There are important as while I have been able to limit the issues of VRAM with the tiled approach, tiled is needed for anything in-between the 10k limit and over. Also the CR Upscale Image nodes need a lot of RAM to hand over the images to the next node. The 32k handover from CR Upscale Image to the VAE Encode (Tiled) runs up to about 250Gb of RAM and therefore swaps a lot to disk. Your swap file will need to be able to handle this.

Or course this can be nicely used for the lower resolutions as well. I found this trick when doing 4k upscales, which can be generated with the To 5k group (a bit larger but change the upscale sizes) within very fast times. 4k images come out of this workflow in around 2 minutes, given my setup. Your milage may vary.

I hope this workflow and the concepts in it are useful to you.

Happy generating and hope you have an awesome day.

Built-in nodes
Custom nodes
CR Text
CLIPTextEncode
CR SDXL Aspect Ratio
CR Text Concatenate
CR Integer To String
KSampler SDXL (Eff.)
VAEEncodeTiled
CR Upscale Image
PreviewImage
DPRandomGenerator
Eff. Loader SDXL
VAEDecodeTiled
OneButtonPrompt
Image Save
VAEDecode
KSamplerAdvanced
BNK_TiledKSamplerAdvanced
Seed Everywhere
ShowText|pysssss
Unpack SDXL Tuple
Models
0
0
1
0