










Flux2.Klein Tile Upscaler Node (basically USDU with extra features)
About 2 weeks ago, I saw a post about tile upscaling using Flux2.Klein. In the comment section, I pointed out that this was a "glorified" Ultimate SD Upscale (USDU) workflow and proposed my own alternative. Later that day, I realized my workflow had a serious mistake: it did not use the reference latent node and instead relied on a SplitSigmas node to control denoising. Therefore, it didn't utilize the Klein model's abilities to its fullest. However, the workflow from the original author wasn't producing super clean results either. While it actually utilized the reference latent, it always produced vastly different tiles on my images, making the whole image look like a grid (I wasn't using upscale or consistency LoRAs).
So, I decided to vibecode a node that would work for USDU-style upscaling, since I have always been a fan of upscalers that can both upscale images and fix details. To this day, the best tool I have tried for "creative" upscaling was SeedVR2 + SDXL tile controlnet.
And I think I achieved a very good result, considering that I don't know how to code and this node is 100% vibecoded.
Features:
- Auto Slicing: Dynamically divides your canvas into identical, equal-sized tiles close to your target size.
- Adaptive Tiling: Dynamically reduces denoiser steps in low-detail zones (like skies or walls) to save render time. Flat areas scale down to 50% steps (2 steps), while detailed zones keep 100% steps (4 steps).
- Built-in Color Match: Performs linear histogram matching of each tile against the original upscaled canvas.
- Adaptive Tiling Strategy: Analyzes the scene and processes the highly textured tiles first. Flat zones are processed last, allowing them to anchor cleanly to the finalized, sharp boundaries of the foreground details.
- Not Only for Upscaling: You can do any type of work that Klein supports and that is applicable to a tile workflow. For example, you can change styles on large images without losing details due to downscaling.
- VRAM Friendly (mostly): Since tiles are processed one by one, you can choose a tile size that your graphics card can handle. The only bottleneck might be the VAE encode/decode process, as the standard Flux2 VAE increased color differences between tiles during my testing.
- LoRA Support (optional): All your LoRAs should work as expected, which is something you can't do with SeedVR2, for example.
The examples are a 2x upscale, but it can do more. The main reason for this is that a 4x upscale takes over 10 minutes for 1792x1392 px images (the resolution I got from Flux2Klein text-to-image) on 3090, and I don't want to wait a full day.