Physically-Guided Adaptation
Gated low-rank attention residuals receive luminance, gradient, saturation, and spectral-band cues.
SDR to HDR inverse tone mapping
1The University of Texas at Austin, 2Google, Inc.
Overview
LumaFlux converts 8-bit SDR content in BT.709 into 10-bit HDR in PQ and BT.2020. It adapts a frozen FLUX.1-dev MM-DiT using physical image cues and frozen perceptual features, while the backbone, VAE, and SigLIP encoder remain frozen. The resulting model is prompt-free and uses 71.3M trainable parameters, 0.57% of the backbone.
Physically-Guided Adaptation injects luminance, gradient, saturation, and spectral-band cues through gated low-rank attention residuals. Perceptual Cross-Modulation supplies FiLM conditioning from SigLIP, and the HDR Residual Coupler combines both paths under timestep-and-layer modulation. A monotone RQS tone-field decoder calibrates the frozen VAE output into display-referred HDR luminance. Inference follows an 8-step rectified-flow bridge with no text prompt or sampling-strength knob. For video, the same image model uses shared bridge noise and an EMA over applied RQS parameters, with no temporal training.
Approach
LumaFlux keeps the FLUX.1-dev MM-DiT and VAE frozen, and also keeps the SigLIP encoder frozen. It learns a compact physical and perceptual adaptation around that backbone, then calibrates the decoded result into HDR luminance.
Gated low-rank attention residuals receive luminance, gradient, saturation, and spectral-band cues.
FiLM conditioning carries perceptual features from a frozen SigLIP encoder into the adaptation.
The coupler fuses the physical and perceptual paths under timestep-and-layer modulation.
A monotone rational-quadratic spline calibrates the frozen VAE decode into display-referred HDR luminance.
Prompt-free bridge. Inference starts at z1 = VAEenc(SDR) + 0.05ยทฮต and integrates from t = 1 to t = 0 in K = 8 steps. There is no text prompt and no sampling-strength knob.
Training-free video stabilization. Video uses the same image model with one shared bridge-noise realization across frames and an EMA on the applied RQS parameters. It adds no temporal layers, optical flow, video fine-tuning, or temporal loss.
Evaluation
Luma-Eval covers synthetic tone-mapping and codec degradations, expert-graded SDR from LIVE-TMHDR, and native paired SDR/HDR. Every method is scored on identical inputs, output encoding, and metric implementations.
Run-by-us synthetic-track protocol on 100 held-out frames. Higher is better for PU21-PSNR, PU21-SSIM, and HDR-VDP-3. Lower is better for dE-ITP, HDR-LPIPS, and FR-HIDRO.
| Method | PU21-PSNR โ | PU21-SSIM โ | dE-ITP โ | HDR-LPIPS โ | HDR-VDP-3 โ | FR-HIDRO โ |
|---|---|---|---|---|---|---|
| BT.2446c inverse | 23.74 | 0.8291 | 61.60 | 0.307 | 5.611 | 0.753 |
| Reinhard inverse | 23.62 | 0.8286 | 61.76 | 0.295 | 5.726 | 0.753 |
| HDRTVNet++ | 23.03 | 0.8192 | 66.67 | 0.328 | 5.417 | 0.703 |
| FMNet | 22.86 | 0.8176 | 67.92 | 0.330 | 5.412 | 0.724 |
| KUNet | 22.27 | 0.8111 | 70.40 | 0.325 | 5.445 | 0.693 |
| ITM-LUT | 22.92 | 0.8142 | 67.41 | 0.315 | 5.496 | 0.761 |
| VAE+RQS (no-diffusion control) | 18.54 | 0.7647 | 111.67 | 0.381 | 3.673 | 0.924 |
| LumaFlux | 24.23 | 0.8294 | 56.54 | 0.269 | 5.812 | 0.631 |
LumaFlux is best in every column. Its margin over the strongest baseline is +0.49 dB in PU21-PSNR and -5.06 in dE-ITP. FR-HIDROVQA falls from 0.703 for HDRTVNet++ to 0.631.
Results on 117 published test pairs using the authors' protocol. The in-domain checkpoint and zero-shot main checkpoint are distinct.
| Model | PSNR | SSIM | SR-SIM | dE-ITP | HDR-VDP-3 |
|---|---|---|---|---|---|
LumaFlux in-domain (lumaflux-hdrtv1k) | 33.34 | 0.9427 | 0.9941 | 14.69 | 7.962 |
LumaFlux zero-shot (lumaflux-main) | 27.52 | 0.9307 | 0.9837 | 29.86 | 7.618 |
The 33.34 dB result comes from the HDRTV1K-trained checkpoint. The mixed-corpus main model was never trained on HDRTV1K, so its 27.52 dB result is zero-shot. Published baseline numbers on HDRTV1K retain their authors' own protocols and are not directly rankable against these results.
Like-for-like native-track comparison on 117 pairs.
| Method | Steps | PU21-PSNR | dE-ITP | s/megapixel | Trainable params |
|---|---|---|---|---|---|
| LEDiff | 50 | 10.99 | 198.58 | 17.0 | 860 M |
| X2HDR | 30 | 18.65 | 92.20 | 16.2 | 149 M |
| LumaFlux | 8 | 23.56 | 47.59 | 2.5 | 71 M |
Against the closest diffusion competitor, LumaFlux gains +4.9 dB, costs about 6x less per output pixel, uses 2x fewer trainable parameters, and requires fewer steps.
Shared noise and RQS-parameter EMA reduce signed excess PU21 flicker by 53.3%. Pooled raw temporal energy remains within 3.3% of the reference, with zero temporal training.
Across the HDRTV1K fixed QP 27 to 42 sweep, the mixed-corpus LumaFlux model loses 0.55 dB. HDRTVNet++ loses 2.78 dB and FMNet loses 2.71 dB.
Release
Download the adapter checkpoints from the LumaFlux Hugging Face repository. Each file contains adapters only. The frozen FLUX.1-dev backbone and SigLIP are downloaded separately.
lumaflux-main.safetensors
Trained for 100k steps on the mixed UGC+PGC corpus of 314,396 pairs. Use it by default, for video, and for Luma-Eval.
lumaflux-hdrtv1k.safetensors
Trained for 50k steps on the HDRTV1K train split. Use it for in-domain HDRTV1K comparisons.
huggingface-cli download shreshthsaini/LumaFlux lumaflux-main.safetensors --local-dir .
python -m lumaflux.inference.cli --config configs/model/flux_dev.yaml --adapters lumaflux-main.safetensors --input input_sdr.mp4 --output output_hdr.mp4 --num-steps 8
Gated backbone: FLUX.1-dev is gated on Hugging Face. Accept its license separately before running inference.
Scope
Citation
@article{saini2026lumaflux,
title = {LumaFlux: Lifting 8-Bit Worlds to HDR Reality with
Physically-Guided Diffusion Transformers},
author = {Saini, Shreshth and Gedik, Hakan and Birkbeck, Neil and
Wang, Yilin and Adsumilli, Balu and Bovik, Alan C.},
journal = {arXiv preprint arXiv:2604.02787},
year = {2026}
}