Nodes/ComfyUI-Hunyuan3d-2-1/Hunyuan 3D 2.1 Resize Images
ComfyUI Node

Hunyuan 3D 2.1 Resize Images

The quiet utility that keeps your view sizes consistent — and stops bakes from breaking

By visualbruno·Created about a year ago·Updated 5 days ago· 375
Hunyuan 3D 2.1 Resize Images
  • images
  • images
width1024
height1024
samplingBICUBIC

A Resize Images node is not an exciting node, and Hy3D21ResizeImages doesn't try to be one. It takes a batch of IMAGE tensors, resizes them to a target width and height with a chosen sampling filter, and hands the batch back. But in this pack it earns its place: the multiview pipeline has opinions about image sizes, and when you're feeding upscaled views back into a bake (the whole point of the pack's WithMetaData upscaling flow), mismatched sizes are exactly what makes things misbehave.

The inputs

  • images - any IMAGE tensor batch. Up to you to feed it views, textures, or plain old pictures.
  • width / height (both default 1024, range 16–8192) - the target dimensions. Aspect ratio is not preserved; it just stretches the batch to fit, so keep the ratio yourself if that matters.
  • sampling - the resampling filter: NEAREST, LANCZOS, BILINEAR, BICUBIC, BOX, HAMMING, default BICUBIC. For texture work, LANCZOS is the sharp choice when you're downscaling, and BICUBIC is the safe all-rounder. NEAREST is for pixel-art and masks only.

How it works

Plain Pillow resizing - it converts tensors to PIL images, calls .resize(), and converts back, handling single images, lists, and batches. Nothing clever, which is the point: it's the pack's own lightweight answer to "make these all the same size," tuned for the image formats the pipeline already uses. It's also a useful general-purpose resize node outside this pack's workflows - a batch-resize you can drop anywhere in a graph.

Where it fits

You'll reach for it in two spots. First, before Hy3DBakeMultiViews when your painted views came out at a different resolution than the pipeline expects - the bake compares view dimensions against the pipeline config, and the metadata variant explicitly checks whether an image is "upscaled" by comparing its width to pipeline.config.resolution. Second, in an upscale workflow: run your albedo/MR views through a real upscaler (the example Mesh_Texturing_UpscaleWithAuraSR workflow does exactly this), then this node to normalize sizes before baking. Consistency is the whole game here.

Installing it

Boring in the best way - it ships with the pack, needs only Pillow, and works even when the C++ extensions are still broken:

cd ComfyUI/custom_nodes
git clone https://github.com/visualbruno/ComfyUI-Hunyuan3d-2-1
cd ComfyUI-Hunyuan3d-2-1
pip install -r requirements.txt

Common issues

The only real trap is the aspect ratio - if you resize non-square views into a square canvas, you'll get distortion that shows up as stretched texture. And if you resize to something the bake can't handle (like 4096 views when you only planned for 1024), the memory bill is yours. Otherwise this is one of those nodes you forget exists until a bake silently produces smeared textures from a mismatched batch - then you remember.

CategoryHunyuan3D21Wrapper

Inputs (4)

NameTypeDefaultDescription
imagesIMAGE
widthINT102416–8192
heightINT102416–8192
samplingCOMBOBICUBIC6 options: NEAREST, LANCZOS, BILINEAR, BICUBIC, BOX, HAMMING

Outputs (1)

NameTypeDescription
imagesIMAGE