SoL-Refiner is a separate refinement stage for a video that has already been generated. The H3-specific release takes an existing MiniMax H3 clip and a prompt, then performs one denoising step using an LTX-2.5-based refiner. It does not replace the upstream H3 generation job.
A September 30, 2026 post linking the project and October 5 Japanese discussion describe H3 refinement toward 2K/4K. The useful next question is what the released H3 implementation actually accepts and exports. This article reviews the primary documentation as of October 6; H3Vid has not run a GPU benchmark or reproduced its inference results.

Separate the paper from the H3 extension
The NVlabs overview distinguishes two versions. The original paper builds on LTX-2.3 Refiner. A subsequent extension uses LTX-2.5 for MiniMax H3 enhancement and acceleration, with its own entry point and checkpoint.
This distinction matters when downloading files or reading a benchmark. A result from the paper's LTX-2.3 experiments does not establish the same result for the later H3 implementation. Likewise, H3 is the draft generator, while LTX supplies the refinement backbone. They are separate roles in the pipeline.
The method combines training on low/high-quality pairs, reward-based post-training, and distillation into a one-step student. For a user choosing a workflow, the practical consequence is simpler: retain your draft and evaluate the refinement separately. A sharper output cannot demonstrate that the original generator followed the prompt more accurately.
What the released H3 path does
The H3-specific README describes one Transformer forward pass and one Euler update, without classifier-free guidance. Video conditioning, text encoding, upsampling, and decoding remain parts of the surrounding computation.
| Property | Documented H3 implementation |
|---|---|
| Inputs | An existing video and a text prompt |
| Model | SoL-Refiner-LTX-2.5-for-MiniMax-H3 |
| Default delivered size | 1920 × 1080 |
| Internal canvas | 1920 × 1088, center-cropped for delivery |
| Frame rate | Input frame rate |
| Frame count | Truncated to a count of the form 8k + 1 |
| Sound | No audio in the exported result |
The frame rule has a concrete editing consequence: 124 input frames become 121. At 24fps, losing three frames changes duration by one eighth of a second. If the clip must land precisely on a musical beat or spoken ending, account for that before inserting the refined result into your timeline.
The public project studies refinement up to 4K, but the released H3 CLI's documented default is 1080p. A gallery headline and a default command describe different things. Inspect the current code and supported configuration before planning a 4K production; this article does not supply an unverified 4K flag.
Prepare an environment that matches the implementation
The H3 documentation reports testing on an H100 80GB, Python 3.12, PyTorch 2.9.1 with CUDA 12.6, and NATTEN 0.21.5. That identifies the authors' tested environment; it is not a published minimum-VRAM requirement or evidence of consumer-card speed.
Install the requirements from the H3 extension directory and select a NATTEN wheel matching the PyTorch/CUDA combination. Diffusers is pinned for the decoder APIs. Check those version relationships before treating an import error as a problem with the video itself.
The documented command accepts --model, --input, --prompt, --output, --seed, and --decoder-seed. Use the H3-specific checkpoint named above. Start from the current repository example and replace the video path, output path, and scene description. These are documentation-based setup directions, not a reproduced installation tutorial.
Choose a draft that answers a useful question
Start with a short H3 clip containing a face, textured clothing, or fine environmental detail. Keep a copy of the original MP4 and its soundtrack. Write a prompt that describes the existing scene accurately, rather than asking the refiner to introduce a new actor or camera move.
For a first comparison, keep the framing and source fixed. Inspect the original and refined clips at matched playback sizes, then examine individual frames. Look for useful detail, changes in identity, unstable textures, and boundary artifacts. A larger canvas can make a frame look more impressive without resolving temporal instability.
The CLI uses CPU offload and tiled decoding, with 768-pixel tiles and a 512-pixel stride. The authors note that tiled and untiled decoding can differ. If you compare outputs from different configurations, record the decoding settings alongside the checkpoint and both seeds.
Preserve audio and measure the full job
Because the released output contains no audio, retain the source track and restore it in your editor after checking the refined duration. If frame truncation shortens the picture, decide whether to trim the soundtrack or adjust the edit. Do not assume that copying the original audio automatically preserves the intended ending.
Measure upstream generation, refiner loading, encoding, the refinement pass, decoding, and file export separately. A one-step sampler describes one part of execution. It does not mean the entire video takes one unit of time or that every machine becomes ten times faster.
The authors report three complete H100 runs producing 121-frame, 24fps, 1080p files with one refiner call each. Their controlled similarity checks support those sample validations; they do not establish pixel equality or universal quality parity. Those are project-reported checks, not H3Vid test results.
Where this fits in an H3 workflow
Consider SoL-Refiner when you already have a usable draft and want to investigate a separate detail-restoration stage. For graph-based alternatives, see the H3 ComfyUI guide. Our H3 Upscaler page explains the existing online enhancement route and local resources; H3Vid has not integrated this SoL-Refiner checkpoint. Keep that product distinction clear when choosing where to generate, refine, and finish your video.