MiniMax H3 DLSS-NR Video File / 文件视频超分 (T8 Advanced)
The file-streaming DLSS-NR node
- dlss_nr_runtime
- source_video
- candidate_video
- source_video
- saved_path
- report_json
The DLSS-NR frame node is great - right up until the clip is long enough that holding the whole thing as one IMAGE batch would eat your VRAM or your patience. That's what this node is for. It takes a file-backed VIDEO, not a frame batch, and streams it through the DLSS-NR runtime in chunks while it reads from disk. You never build the full-frame tensor in memory, which is exactly the difference between upscaling a 30-second H3 clip comfortably and watching ComfyUI choke on it.
It's also an output node in the ComfyUI sense: it encodes its own candidate video, copies the source audio through, and publishes the result atomically to ComfyUI/output - then hands you a candidate_video you can preview or feed onward. If that all sounds unusually careful, it is. This is the "finished deliverable" end of the pipeline, and the failure mode it's engineered against is publishing a half-written or corrupt file.
What it does under the hood
The source is an untrimmed SDR 8-bit Rec.709 constant-frame-rate file. The candidate video is encoded separately from the source (the source file is never mutated), the source audio packets are copied and then packet- and PCM-checked so a silent audio corruption can't slip through, and the final file only appears at its destination once everything else succeeded. Because it can't be sure your media is well-behaved, it fails closed on inputs it won't guess about: HDR content, variable frame rates, rotated video, crop metadata, odd target dimensions after scaling, and audio codecs it can't verify all get rejected up front rather than producing garbage.
The inputs that matter
Start with dlss_nr_runtime (the READY handle from the Runtime Audit), source_video, and leave mode = sr_nr, scale = 2.0, quality_profile = standard alone for a first pass. Two things you may actually change:
filename_prefix- defaultMiniMaxH3/DLSS-NR/dlss_nr_candidate. This is where the finished file lands underoutput/.crf- default 18, the H.264 quality knob. Lower is better-but-bigger; 18 is a sensible "I can't see artifacts" setting. If you're re-encoding someone else's heavily-compressed source, you're not gaining much by going below it.
Everything from mode down through nr_auto_mask is the shared DLSS-NR control set you've already met on the image and frame nodes, including the sr_preset (K is the DLSS 4 Transformer network, L/M the newer DLSS 4.5 ones) and motion_engine (auto / nvof / lk).
Outputs: candidate_video, source_video, saved_path, and report_json.
Installing and running it
Same pack, same drill:
cd ComfyUI/custom_nodes
git clone https://github.com/T8mars/comfyui-minimax-h3-audio-T8.git minimax-h3-audio-T8
Restart fully. The one extra requirement unique to the file route: ffprobe must be on your PATH (installing FFmpeg normally gives it to you), because the node needs to read the source container's streams properly. Plus the usual Windows/RTX prerequisites - driver 616.56+, the full video2dlssnr v1.3 release under ComfyUI/models/DLSS-NR/1.3/, and a green audit.
Gotchas
- Feed it a VIDEO, not frames. If your "video" is really an IMAGE batch in the graph, this is the wrong node - use the Video Frames variant. This one wants a file-backed stream with a real container.
- An RTX-less or non-Windows setup can't pass the audit, and this node correctly refuses to do anything without a
READYhandle. That's the pack being honest, not pedantic. - Fails closed on "fancy" sources. That HDR flag on your footage, a rotation tag, or a VFR source means a hard error, not a best-effort output. Convert or trim first.
- No pip installs - the requirements are empty by design, but you do need
ffprobe, which is a PATH-level thing many people forget after a fresh FFmpeg setup.
Inputs (20)
| Name | Type | Default | Description |
|---|---|---|---|
| dlss_nr_runtime | T8_DLSS_NR_RUNTIME | — | |
| source_video | VIDEO | — | |
| mode | COMBO | sr_nr | 3 options: nr_only, sr_only, sr_nr |
| scale | COMBO | 2.0 | 4 options: 1.0, 1.5, 2.0, 3.0 |
| quality_profile | COMBO | standard | 画质方案。命名预设覆盖下方所有 nr_* 手动值;仅 custom 使用手动值。 Named profiles override NR sliders; choose custom to edit. |
| sr_preset | COMBO | default | SR 超分网络预设,default 由运行时选择;字母不是质量等级。 SR model preset, not a quality ranking. |
| nr_style | COMBO | 0 Default | NR 风格:0 默认、1 自然、2 电影感。仅 custom 生效。 |
| nr_preset | COMBO | 0 Default | NR 内部预设编号,不是放大倍数或步数;通常保留 0。仅 custom 生效。 |
| nr_intensity | FLOAT | 1.500–2 | 神经渲染增强强度,越大不一定越自然。仅 custom 生效。 |
| nr_detail | FLOAT | 1.000–1 | NR 合成占比:0 不混入 NR,1 完整采用 NR。sr_only 固定为 0。仅 custom 生效。 |
| nr_color | FLOAT | 1.000–1 | 采用 NR 色彩变化的程度;偏色时可降低。仅 custom 生效。 |
| nr_skin | FLOAT | -1.00-1–2 | 皮肤结构控制,-1 使用运行时默认值。仅 custom 生效。 |
| nr_local_structure | FLOAT | 1.000–2 | 局部结构和细纹理的调整强度。仅 custom 生效。 |
| nr_local_tone | FLOAT | 1.000–2 | 局部光影和对比的调整强度。仅 custom 生效。 |
| nr_global_tone | FLOAT | -1.00-1–2 | 整体色调控制,-1 使用运行时默认值。仅 custom 生效。 |
| nr_ui_correction | BOOLEAN | false | UI/界面元素修正选项,不是 ComfyUI 界面开关。仅 custom 生效。 |
| nr_auto_mask | BOOLEAN | false | 自动遮罩,针对文字/UI 等区域;不保证所有字幕都不变。仅 custom 生效。 |
| motion_engine | COMBO | auto | 3 options: auto, nvof, lk |
| filename_prefix | STRING | MiniMaxH3/DLSS-NR/dlss_nr_candidate | — |
| crf | FLOAT | 180–51 | — |
Outputs (4)
| Name | Type | Description |
|---|---|---|
| candidate_video | VIDEO | — |
| source_video | VIDEO | — |
| saved_path | STRING | — |
| report_json | STRING | — |