NVIDIA SoL-Refiner Hits 4K in One Step and Cuts 2K Refine Latency 8.91× vs LTX-2.3

SoL-Refiner: Speed-of-Light One-Step Refinement for High-Resolution Video

Haozhe Liu, Tian Ye, Shuchen Xue, Yitong Li, Junsong Chen, Haopeng Li, Jincheng Yu, Duomin Wang, Ruihua Zhang, Lei Zhu, Song Han, Enze Xie

cs.CV

2026-09-30

SoL-Refiner refines low-res video to 4K in one step. At 2K it leads external refiners (VBench 0.810, UniPercept 60.4); stack cuts latency 57.5s to 6.4s, 8.91× vs 3-step LTX-2.3.

What problem this solves

High-resolution video generation is expensive because every denoising step walks the full spatiotemporal token grid. A larger backbone makes each step heavier; a larger frame makes every step longer. Sampling at low resolution is cheaper, and fine texture plus local structure drop out.

Cascaded pipelines split the job. A base model sets motion, composition, and scene content on a small grid; a refiner then adds detail at the target resolution. The base can be distilled harder, and the refiner is supposed to clean up the artifacts that creates. Released refiners still take multiple target-resolution steps: three for LTX-2.3, eight for LingBot. That second sampling loop is the bottleneck here. Many of those refiners are also locked to one upstream generator, and transfer is rarely measured.

Method

SoL-Refiner starts from pretrained LTX-2.3 and maps a low-resolution clip to a high-resolution one in a single denoising step, without changing the base model. Training has three stages.

Continual training uses paired videos. The main pairs come from an internal real-video set: the original is the target, spatial downsample-then-upsample is the low-quality condition. A small synthetic set is warmup only, with a supported generator on the low side and the LTX-2.3 Refiner on the high side. The objective is truncated-σ flow matching. The noisiest endpoint still contains the low-quality latent (σstart=0.91), so the velocity field is a refinement map. Text and a reference image condition the model; reference tokens are concatenated but left out of the reconstruction loss so they guide without being copied.

RL post-training applies Reward Feedback Learning to the multi-step refiner, because flow matching does not optimize perceptual scores. Training uses 12 Euler updates and samples the reward step from updates 6-12; earlier high-noise predictions are too unreliable for the reward models. The decoded clip is split into three temporal thirds, one frame each. HPSv3++ scores prompt-conditioned preference; DeQA scores degradation-aware quality. Normalized weights are about 0.2 and 0.4, with clipping at 10 and 4.5 to limit reward hacking. Evaluation uses a 23-update schedule.

Distillation first compresses the teacher with distribution matching distillation into a three-step student, then initializes a one-step generator from that student. The one-step stage keeps the DMD gradient and adds a projected DiT discriminator that pools tokens from blocks 21, 34, and 47. The discriminator is separate from the fake-score network so the adversarial loss does not contaminate distribution matching. Approximate R1 keeps the discriminator from separating real and fake bridges too quickly. At inference a tiny autoencoder replaces the full video VAE, and Sol-Engine runs the single NFE with kernel fusion and SolAttn sparse attention.

RL then DMD scores 0.81048 VBench average; joint DMD-R scores 0.80098. The shipped recipe is the staged order.

Results

Refiner-Bench has 150 clips. Under the shared-input protocol every refiner sees the same 1024×576 resized sources. LingBot emits 1920×1088; the others emit 2048×1152.

MethodStepsVBench AVGUniPercept AVG
Resized input-0.7986654.1124
LingBot Stage-280.8017053.0473
LTX-2.330.8038856.1243
LTX-2.030.8079654.4600
SEEDVR210.8035156.8192
SoL-Refiner multi-step230.8169161.3170
SoL-Refiner one-step10.8104860.4150

The one-step model leads all external refiners on VBench average, AQ, IQ, and UniPercept average, including one-step SEEDVR2. The VBench average lead is thin: 0.81048 versus 0.80796 for the strongest external, LTX-2.0. IQ (0.69196 vs 0.66337 for SEEDVR2) and UniPercept (60.415 vs 56.819) are the real gaps. Subject consistency, background consistency, and motion smoothness still favor LTX-2.0/2.3. Dynamic degree is 0.71333, below LingBot at 0.74000. LingBot's UniPercept average 53.047 falls below the unrefined input at 54.112. The 23-step variant reaches VBench 0.81691 and UniPercept 61.317, so the quality ceiling stays with multi-step.

Against the three-step LTX-2.3 baseline it was initialized from, relative gains at 720p / 2K / 4K are 0.60%, 0.82%, 3.86% on VBench and 7.65%, 7.64%, 22.79% on UniPercept. The 4K (3840×2176) gap is the largest.

Ablation: continual training scores VBench 0.80888 / UniPercept 56.662; RL post-training 0.81691 / 61.317; one-step distillation 0.81048 / 60.415, still above stage I. Dropping reward regularization or using only HPSv3++ drops VBench average to 0.81046 and 0.81415.

On one H100, 2048×1152, 241 frames, 24 fps, three-step LTX-2.3 takes 57.461 s. One-step distillation, TAE, and Sol-Engine add adjacent speedups of 1.82×, 2.37×, and 2.06×, reaching 6.447 s, 8.91× in total. The one-step change is only the first slice.

End-to-end: a 5 s 1344×768 24 fps clip on GB200 takes 152.3 s with 50-step full-resolution MiniMax H3, versus 5.64 s (27.03×) for four-step 896×512 H3 plus one-step refinement (4.06 s generation, 1.56 s refine). On a DGX Spark (GB10), 384p generation then 768p refine drops SoL-H3 from 56.17 s to 39.67 s, 9.43× versus direct four-step 768p at 374 s. With WAN-5B, WAN-1.3B, and Cosmos-Nano as bases, low-res generation plus one-step refine is about 2.81×, 3.46×, and 2.21× versus direct high-res on H100, with higher mean VBench and UniPercept than direct high-res.

Why it matters

High-resolution video does not have to be sampled on the target grid for every step. Keep multi-step denoising at low resolution and spend one NFE at target resolution. The refiner does not modify the base, so it can sit behind different generators.

Read 8.91× as a stack number. Without TAE and Sol-Engine, one-step versus three-step LTX is about 1.82×. The one-step weights are a compressed 23-step RL teacher; if the latency budget allows, the multi-step averages are higher.

This is engineering compression of cascaded generation, not a new generative paradigm. Teams already on LTX-class DiT video models and stuck on 2K/4K latency have a reason to try it. Layout and motion still belong to the low-resolution base; the refiner repairs texture and synthesis artifacts.

Limitations

The extracted paper has no dedicated Limitations section. The gaps sit in the setup and the numbers.

Refiner-Bench has 150 clips, all resized to 1024×576 first. The protocol measures refinement on a shared degraded input, not each model's native output. LingBot emits 1920×1088, so that row is not fully aligned with the 2048×1152 group.

Most training pairs are real videos with downsample-upsample degradation. Synthetic generator artifacts appear only in warmup. Structural distortion and texture tearing from a generator are a different distribution than bilinear downsampling. Transfer runs on WAN, Cosmos, and MiniMax show the refiner can move, with no failure counts on faces, text, or fast motion.

Rewards are three image frames, not a video-level temporal score. Motion smoothness and dynamic degree are not where the one-step model wins, which matches that choice. The extracted text has no separate human preference study, and HPSv3++ is used both as a training reward and in the quality story.

The 8.91× figure is 241-frame 2K refinement; the 27× end-to-end figure compares against 50-step full-res H3. Shorter clips and cheaper bases will shrink the multiplier. Initialization from LTX-2.3 gives a family advantage versus the LTX-2.3 Refiner; the SEEDVR2 and LingBot comparisons carry more weight.

Terms

Source

What people are saying

Related papers

All paper explainers