JR MiniMax H3 RTX Upscaler & Refiner
RTX VSR for your H3 frames — Windows and a specific SDK required
- images
- images
NVIDIA's Video Super Resolution and its sibling denoise/deblur effects are real, GPU-accelerated video post-processing - the same tech behind "watch this video look better in the NVIDIA app" - and this node exposes it on decoded H3 frames. You feed it an IMAGE batch and get back a processed IMAGE batch: denoise, deblur, upscale (VSR or "High Bitrate"), or any combination, with the resize logic handled in-node. The natural place in the JR chain is right after VAE Decode, before the Enhanced Video Combine: VAE Decode → Resolution Scale Calculator → RTX Upscaler & Refiner → Enhanced Video Combine.
This slots into the community's upscaling consensus nicely: for "more pixels on an already-clean source," NVIDIA RTX VSR is the widely recommended path - the read on it is that it cleans and sharpens more naturally than generative restorers, which are the better tool when the source is genuinely damaged and needs invented detail. This node is that VSR path, on your frames. The RTX 2-pass pattern (DeBlur then VSR) is a known-good combination worth trying.
The honest constraint, repeated in the README and confirmed in the code: this is Windows/NVIDIA only, and it needs the NVIDIA VFX SDK binding. The pip package is distributed as nvidia-vfx (import name nvvfx), installed from requirements-rtx.txt - it's not in the base requirements, and it's gated to Windows with a platform_system == "Windows" marker. The node deliberately does not import nvvfx or touch CUDA at import time; it loads the SDK lazily at execution, so the pack installs fine on machines that can never use this node. When the SDK is missing, you get a clear error at run, not a broken import.
The settings that matter
denoise/deblurtoggles withLow/Medium/High/Ultraquality,upscale(Off/VSR/High Bitrate) with its own quality level. All of these map onto thenvvfx.VideoSuperResQualityLevelenum.resize_type-Same Size,Scale(ascalemultiplier, 1–4),Keep Ratio,Preset Ratio(16:9, 21:9, etc.), orManual(width/height).divisible_bysnaps output dimensions (8/16/32/64/128), andresize_methodpicks Center Crop (Fill) vs Letterbox (Fit) when the aspect changes.device_id- which GPU to run the SDK on (default 0).
A note on the quality enums: not every binding exposes every level. The README says VSR being available doesn't guarantee Denoise or Deblur, and the node reports a clear error when an effect isn't supported rather than guessing. If a toggle errors, that's your SDK build, not the node.
Install
cd ComfyUI/custom_nodes
git clone https://github.com/Goldlionren/ComfyUI_JR_MiniMaxH3Node
<your-comfyui-python> -m pip install -r ComfyUI_JR_MiniMaxH3Node/requirements.txt
<your-comfyui-python> -m pip install -r ComfyUI_JR_MiniMaxH3Node/requirements-rtx.txt
or ComfyUI Manager → search ComfyUI_JR_MiniMaxH3Node, then add the RTX extra manually. NVIDIA SDK licensing and driver compatibility apply - read the NVIDIA terms before installing.
Troubleshooting
- "nvvfx not found" at run - you skipped
requirements-rtx.txt, or you're on Linux/Mac, where this node simply can't work. - Denoise/Deblur error but VSR works - your binding's
QualityLevelset doesn't include that effect. It's a runtime capability check, not something you can toggle around. - Output frames at an unexpected size - check
resize_typeanddivisible_by; the resize logic only applies when upscaling is enabled, and crop-vs-letterbox changes the frame composition, not just the size. - Slow - these effects are heavy; start at
Mediumquality and only climb to Ultra when the result justifies the time.
Inputs (16)
| Name | Type | Default | Description |
|---|---|---|---|
| images | IMAGE | — | |
| denoise | BOOLEAN | false | — |
| denoise_quality | COMBO | Ultra | 4 options: Low, Medium, High, Ultra |
| deblur | BOOLEAN | false | — |
| deblur_quality | COMBO | Ultra | 4 options: Low, Medium, High, Ultra |
| upscale | COMBO | VSR | 3 options: Off, VSR, High Bitrate |
| upscale_quality | COMBO | Ultra | 4 options: Low, Medium, High, Ultra |
| resize_type | COMBO | Scale | 5 options: Same Size, Scale, Keep Ratio, Preset Ratio, Manual |
| scale | FLOAT | 2.001–4 | — |
| megapixels | FLOAT | 2.000.01–64 | — |
| width | INT | 192064–8192 | — |
| height | INT | 108064–8192 | — |
| divisible_by | COMBO | 8 | 5 options: 8, 16, 32, 64, 128 |
| ratio_preset | COMBO | 16:9 | 5 options: 1:1, 4:3, 3:2, 16:9, 21:9 |
| resize_method | COMBO | Center Crop (Fill) | 2 options: Center Crop (Fill), Letterbox (Fit) |
| device_id | INT | 00–8 | — |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| images | IMAGE | — |