Texture Scaler
The plain resize knob every material pipeline needs
- image
- image
Texture Scaler is the pack's plain multiplier resize: you tell it "2x" or "0.5x", it resizes, done. There's no target-megapixel logic, no GPU-friendly rounding, no cleverness. In a pack full of opinionated tools, this one is refreshingly dumb - and for a lot of texture work, dumb is exactly what you want.
Reach for it when you need a LOD variant of a material (half the resolution, half the VRAM cost), when you're upscaling one map in a set to match the others, or when you want a quick higher-res preview of a normal or height map without dragging an AI upscaler into it. Resizing textures is a different job from upscaling images for display: you almost always want the boring, faithful result, not invented detail.
How it works
It's a single F.interpolate call under the hood, with four methods on the dial:
- nearest - hard pixels, for pixel art and height maps where you want zero blending.
- bilinear - fast, soft.
- bicubic - the default, and the right call for photographic albedo.
- lanczos - here's the honest bit: PyTorch has no Lanczos implementation, so the code maps "lanczos" to bicubic with antialiasing enabled. The label oversells slightly, but bicubic+antialias is genuinely the best interpolator this node can produce, so pick it when you want the cleanest downscale and don't sweat the branding.
Note what it doesn't do: it won't snap your dimensions to a multiple of 8 or 16. Feed it a 1003×1003 texture and you'll get a 2006×2006 out, which some engines quietly choke on. For GPU-safe sizes, the same pack's Smart Texture Resizer is the better tool; this node is for when you want a plain factor.
Inputs
- image - the texture.
- scale_factor (0.125–8.0) - the multiplier. 0.5 = half size, 2.0 = double. This is the whole decision.
- method - nearest, bilinear, bicubic, lanczos.
One output, image, which slots straight into Save Image or into the rest of your material graph.
Installing it
Texture Scaler ships in ComfyUI-TextureAlchemy. Easiest: ComfyUI Manager → search "Texture Alchemy" → install → restart. Or:
cd ComfyUI/custom_nodes
git clone https://github.com/amtarr/ComfyUI-TextureAlchemy
# restart ComfyUI
No requirements.txt, no model files - pure PyTorch on ComfyUI's bundled environment. Find it under Add Node → Texture Alchemist → Texture. Ignore the README's stale "copy the ComfyUI_PBR_MaterialProcessor folder" line; that's the pack's pre-rebrand name, and Manager or git clone is the real install.
The usual move
For a material set, generate everything at full res, then drop a Texture Scaler at 0.5x on each map and save to a _LOD1 folder. If you're working from scanned or photographed textures, bicubic downscaling to 1024 or 2048 is also a solid anti-aliasing step before you run the equalizer and seamless tiling - clean your source, then resize, then process.
Inputs (3)
| Name | Type | Default | Description |
|---|---|---|---|
| image | IMAGE | — | |
| scale_factor | FLOAT | 2.0000.125–8 | Scale multiplier (0.5 = half size, 2.0 = double size) |
| method | COMBO | bicubic | Scaling method: nearest (pixel art), bilinear (fast), bicubic (quality), lanczos (best) |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| image | IMAGE | — |