ComfyUI-SmartResize
Smart image resize nodes for ComfyUI — batch processing, LoRA prep & SeedVR support.
All nodes appear under the Craftopia category in the node menu.
Nodes
📐 Smart Resize
Resize any image (or batch) so the longest side equals max_pixels, with aspect ratio preserved.
Use this as a pipeline node — IMAGE in, IMAGE out. No files are saved to disk.
Typical usecases:
- Downscale a SeedVR (or other upscaler) result back to your target training size — the upscaler adds fine detail, Smart Resize brings it to the right dimensions for LoRA training
- Any workflow step that needs a clean resize before the next node
- Normalize mixed-resolution batches to a consistent size
| Input | Type | Default | Description |
|---|---|---|---|
| image | IMAGE | — | Single image or batch |
| max_pixels | INT | 1536 | Target size for longest side |
| multiple_of | INT | 8 | Snap dimensions to this multiple (8 = SD/Flux compatible) |
| interpolation | ENUM | lanczos | lanczos / bicubic / bilinear / nearest |
| upscale_if_smaller | BOOLEAN | false | Also upscale images already smaller than max_pixels |
Outputs: image, width, height
📁 Smart Batch Resize
Load all images from a folder, resize each one by longest side, and save with the original filename + a suffix into a subfolder. Original filenames are always preserved.
Use this for bulk preprocessing — e.g. preparing a LoRA dataset from a folder of high-res images.
| Input | Type | Default | Description |
|---|---|---|---|
| input_folder | STRING | D:/images/input | Source folder path |
| max_pixels | INT | 1536 | Target size for longest side |
| filename_suffix | STRING | _Small | Appended to each output filename before the extension |
| output_subfolder | STRING | resized | Subfolder created inside input_folder |
| multiple_of | INT | 8 | Snap dimensions to this multiple |
| interpolation | ENUM | lanczos | lanczos / bicubic / bilinear / nearest |
| skip_if_exists | BOOLEAN | false | Skip files that already exist in output |
Outputs: images (list), filenames (list), output_paths (list), count
📏 Smart Size Multiplier
Multiply image dimensions by a factor and output the results as integers.
SeedVR takes a single resolution INT (the longest side) — not a width and height separately. Standard math nodes give you a FLOAT or require multiple steps to get there. This node does it cleanly in one step: give it your image and a multiplier, and it outputs width, height, and resolution (longest side) ready to connect directly to SeedVR's max_resolution input.
Also useful for LoRA dataset prep — using mixed resolutions in your training set generally produces better results than training on a single fixed size. Smart Size Multiplier makes it easy to dynamically calculate the right target size per image rather than hardcoding a value.
| Input | Type | Default | Description |
|---|---|---|---|
| image | IMAGE | — | Source image |
| multiplier | FLOAT | 2.0 | Multiply width and height by this factor |
| multiple_of | INT | 8 | Snap dimensions to this multiple |
Outputs: width, height, resolution (longest side as INT → directly into SeedVR)
Why these nodes?
- ComfyUI's built-in
Resize Images by Longer Edge[BETA] has no Lanczos and nomultiple_ofsnapping JWImageResizeByLongerSide(comfyui-various) has no Lanczos in the official release- No existing node combines batch folder loading + longest-side resize + original filename preservation
- No existing node outputs a ready-to-use
resolutionINT for SeedVR
Installation
ComfyUI Manager: search for ComfyUI-SmartResize and install.
Manual:
cd ComfyUI/custom_nodes
git clone https://github.com/CraftopiaStudio/ComfyUI-SmartResize
Restart ComfyUI. All nodes appear under Craftopia in the node menu:
Craftopia→ Smart Resize 📐Craftopia→ Smart Batch Resize 📁Craftopia→ Smart Size Multiplier 📏
Requirements
Pillow, NumPy, PyTorch — all included with ComfyUI. No extra dependencies.