LUA-FLUX: Latent Upscale Adapter for FLUX

GitHub arXiv Paper Demo

Official weights for LUA (Latent Upscale Adapter) from the paper "One Small Step in Latent, One Giant Leap for Pixels".

LUA is a lightweight (~250M params) SwinIR-based module that upscales diffusion model latents before VAE decoding. It enables high-resolution image generation (2K/4K) from a 1024x1024 base generation, significantly faster than generating at full resolution directly.

Key Features

  • Drop-in adapter: works with any FLUX model, no fine-tuning needed
  • Dual-head: x2 (1024->2048) and x4 (1024->4096) upscaling from a single model
  • Fast: operates in latent space (~250ms for x2, ~900ms for x4 on A100)
  • Quality: comparable perceptual quality to direct high-resolution generation

Quick Start

from lua import load_model, upscale_latent

# Auto-downloads this checkpoint
lua_model = load_model(device="cuda")

# Upscale a FLUX VAE latent (B, 16, H, W)
upscaled = upscale_latent(lua_model, latent, head="x2")  # or "x4"

See the GitHub repo for full usage examples including CLI and Gradio demo.

Model Details

Architecture SwinIR with multi-head upsampling
Parameters ~250M
Input 16-channel VAE latent (FLUX latent space)
Heads x2 (2x upscaling), x4 (4x upscaling)
Training Trained on high-quality image pairs in FLUX latent space
Precision float32 (recommended), bfloat16 compatible

Citation

@article{razin2024lua,
  title={One Small Step in Latent, One Giant Leap for Pixels: Fast Latent Upscale Adapter for Your Diffusion Models},
  author={Razin, Aleksandr and Kazantsev, Danil and Makarov, Ilya},
  journal={arXiv preprint arXiv:2511.10629},
  year={2024}
}

License

Apache 2.0

Downloads last month

-

Downloads are not tracked for this model. How to track
Inference Providers NEW
This model isn't deployed by any Inference Provider. 🙋 Ask for provider support

Paper for vaskers5/LUA-FLUX