沐阳 H3 · 纯像素放大(不经 VAE)
Upscale without the VAE round trip that eats your sharpness
- images
- images
One of the few non-internal nodes in this pack, and one of the few that earns its place with a single sentence: it resizes pixels and never touches the VAE.
That sounds like a non-feature until you've watched a good result get ruined. If you run a clip through a great pixel upscaler - RTX VSR, a clean Lanczos, whatever - and then a VAE round trip for any reason, you've decoded and re-encoded the whole thing and handed back a softer picture than you started with. The sharpness you just paid for is gone, and it looks like the upscaler did nothing.
What it does
Seven required inputs; three of them matter, and the rest are the canvas template:
images(IMAGE) - the decoded clip.resolution- a preset dropdown:540P,640P,720P,768P,832P(default),928P,1024P,1080P,自定义.aspect_ratio-1:1,2:3,3:2,3:4,4:3,9:16,16:9(default),21:9.width/height(defaults 1664 × 928, multiples of 32) - used only whenresolutionis自定义.upscale_method-pixel (像素放大·自用版工作流方式)ornvidia_rtx_vsr (NVIDIA RTX 视频超分·实验).chunk_frames(1-64, default 4) - how many frames are staged at a time.
Output: images, the upscaled frames.
The canvas resolution uses the same resolver the sampling path uses, which is the point: switching between "upscale only" and "upscale + second pass" can't silently change your output size. Short edge in, aspect applied, rounded to a multiple of 32 - so 832P at 16:9 resolves to 1472×832 in both modes, and you can compare the two without a size difference muddying it.
Two methods, one of them experimental
The default pixel path is a Lanczos resize run in chunks: frames go to the GPU in chunk_frames batches, come back as compact float16 CPU storage. There's no diffusion involved, so it's fast. What you pay for is that it can only interpolate - it invents no detail. On a decent source that's exactly right. On a soft one you're enlarging softness.
The nvidia_rtx_vsr path is the interesting one and the labelled-experimental one. It needs NVIDIA's VFX runtime installed separately - it is not a Python package the pack can pull in - and it's the same family of thing the community has been replacing paid Topaz subscriptions with for a couple of years now. When it works it produces genuinely better edges than Lanczos. The caveat is right there in the option name.
chunk_frames: 4 is the default and it's a good one. Memory scales linearly with it, and there's no quality benefit to large chunks, only speed. If you OOM on a long clip, drop it to 1 or 2 before you go looking elsewhere.
The refusal that saves you
If your target canvas is smaller than the source, the node raises rather than silently shrinking: "二采目标 WxH 小于一采 WxH;这是放大节点,不做降采样". That's the honest behaviour. A node labelled upscale that quietly downsamples when you get the preset wrong is a debugging nightmare, and you'd find out three segments later.
Where it fits
The pack's second-pass menu offers three modes: upscale + second pass, second pass at the same resolution, and upscale only. This node is the machinery for the third, the fastest one, where you've decided the picture is good and you just want more pixels. It's also the right tool when your pixel upscaler of choice lived outside this pipeline.
Worth knowing about the road not taken: the pack deliberately removed a bislerp latent upscale option from the second-pass menu after finding that blending cells on H3's temporally compressed latent overlays motion states and ghosts - and that the documented fix for it turns it into the pixel path anyway. Its commentary on that is unusually clear-eyed, and it's a decent argument for treating pixel-space upscaling as the safe default on any temporally compressed latent. Background in upscaling.
Install
cd ComfyUI/custom_nodes
git clone https://github.com/civilcoco/ComfyUI-MiniMaxH3-Myang
Restart, hard-refresh, category 沐阳 H3. Or search "ComfyUI MiniMax H3 Myang" in ComfyUI Manager. The pack declares no Python dependencies at all; the only extra requirement is NVIDIA's VFX runtime if you want the VSR path. You still supply the H3 weights, Qwen text encoder and both VAEs.
Inputs (7)
| Name | Type | Default | Description |
|---|---|---|---|
| images | IMAGE | — | |
| resolution | COMBO | 832P | 9 options: 540P, 640P, 720P, 768P, 832P, 928P, +3 |
| aspect_ratio | COMBO | 16:9 | 8 options: 1:1, 2:3, 3:2, 3:4, 4:3, 9:16, +2 |
| width | INT | 166432–8192 | — |
| height | INT | 92832–8192 | — |
| upscale_method | COMBO | pixel (像素放大·自用版工作流方式) | 2 options: pixel (像素放大·自用版工作流方式), nvidia_rtx_vsr (NVIDIA RTX 视频超分·实验) |
| chunk_frames | INT | 41–64 | — |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| images | IMAGE | — |