From 254358790fb2ad8c38189619f162c85ceb2188c2 Mon Sep 17 00:00:00 2001 From: rubz Date: Tue, 28 Jul 2026 12:21:35 +0200 Subject: [PATCH] readme cleaned up --- README.md | 50 +++++++++++++++++++++++++------------------------- 1 file changed, 25 insertions(+), 25 deletions(-) diff --git a/README.md b/README.md index c9c5bd6..10062f0 100644 --- a/README.md +++ b/README.md @@ -38,7 +38,7 @@ The node displays a status label showing the current position: `List 1 — 4/5 | -Maps an active index (1–4) to a label, width, and height. Pairs directly with Smart Prompt Controller's `active_list` output to switch resolution and filename label per category in one node — no separate Aspect Ratio + Primitive + Switch combo needed. +Maps an active index (1–4) to a label, width, and height. Pairs directly with Smart Prompt Controller's `active_list` output to switch resolution and filename label per category in one node - no separate Aspect Ratio + Primitive + Switch combo needed. **Typical usecases:** - Driving `EmptyLatentImage` / `EmptySD3LatentImage` width/height per prompt category @@ -64,17 +64,17 @@ The node displays a status label showing the active slot: `Slot 2: Halfbody | 83 Resize any image (or batch) so the **longest side** equals `longest_side`, with aspect ratio preserved. -Use this as a **pipeline node** — IMAGE in, IMAGE out. No files are saved to disk. +Use this as a **pipeline node** - IMAGE in, IMAGE out. No files are saved to disk. **Typical usecases:** -- Downscale a SeedVR2 (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 +- Downscale a SeedVR2 (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 | -| Longest side (px) | INT | 1536 | Target size for longest side. Quick presets: 512 / 768 / 1024 / 1536 — or type any custom value directly into the field | +| Image | IMAGE | - | Single image or batch | +| Longest side (px) | INT | 1536 | Target size for longest side. Quick presets: 512 / 768 / 1024 / 1536 - or type any custom value directly into the field | | Round to multiple of | INT | 8 | Snap dimensions to this multiple (8 = SD/Flux compatible) | | Interpolation method | ENUM | lanczos | lanczos / bicubic / bilinear / nearest | | Upscale if smaller | BOOLEAN | true | Upscale images smaller than longest_side. Turn off to only ever downscale, never upscale | @@ -87,32 +87,32 @@ Use this as a **pipeline node** — IMAGE in, IMAGE out. No files are saved to d -Load **all images from a folder**, resize each one by longest side, and save into a subfolder. Build clean dataset filenames from a prefix, the original name, and/or a sequential counter — combined with an optional resolution suffix. +Load **all images from a folder**, resize each one by longest side, and save into a subfolder. Build clean dataset filenames from a prefix, the original name, and/or a sequential counter - combined with an optional resolution suffix. -Use this for **bulk preprocessing** — e.g. preparing a LoRA dataset from a folder of high-res images, or a batch of frames/renders for After Effects where transparency needs to survive the resize. It works as a **standalone node**: it needs no upstream input and no downstream connection to do its job — drop it on the canvas, point it at a folder, hit **Run Batch**, and it reads, resizes, and saves everything itself. Connecting the `images`/`count` outputs is entirely optional, e.g. for previewing results. +Use this for **bulk preprocessing** - e.g. preparing a LoRA dataset from a folder of high-res images, or a batch of frames/renders for After Effects where transparency needs to survive the resize. It works as a **standalone node**: it needs no upstream input and no downstream connection to do its job - drop it on the canvas, point it at a folder, hit **Run Batch**, and it reads, resizes, and saves everything itself. Connecting the `images`/`count` outputs is entirely optional, e.g. for previewing results. -Includes a **Browse folder** button to pick the input folder directly from the node, and quick presets (512 / 768 / 1024 / 1536) for the longest side — or type any custom value directly into the field. Widgets are grouped into labeled sections (Resize, Filename, Output Location, Output Format, Options) to keep the node scannable despite the number of settings. +Includes a **Browse folder** button to pick the input folder directly from the node, and quick presets (512 / 768 / 1024 / 1536) for the longest side - or type any custom value directly into the field. Widgets are grouped into labeled sections (Resize, Filename, Output Location, Output Format, Options) to keep the node scannable despite the number of settings. | Input | Type | Default | Description | |---|---|---|---| -| Input folder | STRING | — | Source folder path (use Browse button or paste manually) | -| Longest side (px) | INT | 1024 | Target size for longest side. Quick presets: 512 / 768 / 1024 / 1536 — or type any custom value directly into the field | +| Input folder | STRING | - | Source folder path (use Browse button or paste manually) | +| Longest side (px) | INT | 1024 | Target size for longest side. Quick presets: 512 / 768 / 1024 / 1536 - or type any custom value directly into the field | | Round to multiple of | INT | 8 | Snap dimensions to this multiple | | Interpolation method | ENUM | lanczos | lanczos / bicubic / bilinear / nearest | | Upscale if smaller | BOOLEAN | true | Upscale images smaller than the target longest side. Turn off to only ever downscale, never upscale | -| Filename prefix | STRING | — | Label prepended to filename — e.g. `headshot` → `headshot_photo_001_1024.jpg` | +| Filename prefix | STRING | - | Label prepended to filename - e.g. `headshot` → `headshot_photo_001_1024.jpg` | | Keep original filename | BOOLEAN | true | Include the original filename in the output name | | Add counter | BOOLEAN | false | Add a sequential 3-digit counter to each filename (001, 002, ...) | | Counter start | INT | 1 | Starting number for the counter | -| Add resolution to filename | BOOLEAN | true | Append resolution to filename — e.g. `photo_1024.png` | +| Add resolution to filename | BOOLEAN | true | Append resolution to filename - e.g. `photo_1024.png` | | Filename delimiter | STRING | _ | Separator between filename parts | -| Create resolution subfolder | BOOLEAN | false | Append resolution to subfolder name — e.g. `resized_1024` | +| Create resolution subfolder | BOOLEAN | false | Append resolution to subfolder name - e.g. `resized_1024` | | Custom output subfolder | STRING | resized | Subfolder name inside the input folder | -| Output format | ENUM | keep_source | keep_source / png / webp / jpg — keep_source preserves each file's original extension; jpg cannot store transparency | +| Output format | ENUM | keep_source | keep_source / png / webp / jpg - keep_source preserves each file's original extension; jpg cannot store transparency | | Alpha mode | ENUM | auto | auto: keep transparency only if the source has it · flatten: always composite onto white and output opaque RGB · keep: always output RGBA | | Quality | INT | 95 | Compression quality for jpg/webp output (1–100). Ignored for png (always lossless) | -| Skip existing files | BOOLEAN | true | Skip files that already exist in the output folder **and** still match the current size settings — a settings change (e.g. a different longest_side) triggers a reprocess instead of silently serving a stale file | -| Preview limit | INT | 32 | Max images kept in memory for the preview output. All files are still processed and saved to disk regardless — this only caps what's returned for preview. 0 = no limit | +| Skip existing files | BOOLEAN | true | Skip files that already exist in the output folder **and** still match the current size settings - a settings change (e.g. a different longest_side) triggers a reprocess instead of silently serving a stale file | +| Preview limit | INT | 32 | Max images kept in memory for the preview output. All files are still processed and saved to disk regardless - this only caps what's returned for preview. 0 = no limit | **Outputs:** Images (list), Count @@ -124,13 +124,13 @@ Includes a **Browse folder** button to pick the input folder directly from the n Multiply image dimensions by a factor and output the results as integers. -SeedVR2 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 SeedVR2's `resolution` input. +SeedVR2 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 SeedVR2's `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 Resolution Multiplier makes it easy to dynamically calculate the right target size per image rather than hardcoding a value. +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 Resolution 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 — its current width/height are read directly, no separate Get Image Size node needed | +| Image | IMAGE | - | Source image - its current width/height are read directly, no separate Get Image Size node needed | | Multiplier | FLOAT | 2.0 | Multiply width and height by this factor | | Round to multiple of | INT | 8 | Snap dimensions to this multiple | @@ -142,9 +142,9 @@ Also useful for LoRA dataset prep — using mixed resolutions in your training s Ready-to-load workflows are included in [`example_workflows/`](example_workflows): -- **`smart_prompt_controller_demo.json`** — Smart Prompt Controller + Smart Profile Switch driving 4 prompt categories with auto-switching resolution and filename label -- **`seedvr2_smartresize_demo.json`** — Smart Resolution Multiplier → SeedVR2 upscale → Smart Resize, a clean pattern for upscaling without hardcoding target resolution -- **`smart_batch_resize_demo.json`** — minimal Smart Batch Resize setup with a Note explaining outputs and settings +- **`smart_prompt_controller_demo.json`** - Smart Prompt Controller + Smart Profile Switch driving 4 prompt categories with auto-switching resolution and filename label +- **`seedvr2_smartresize_demo.json`** - Smart Resolution Multiplier → SeedVR2 upscale → Smart Resize, a clean pattern for upscaling without hardcoding target resolution +- **`smart_batch_resize_demo.json`** - minimal Smart Batch Resize setup with a Note explaining outputs and settings --- @@ -153,11 +153,11 @@ Ready-to-load workflows are included in [`example_workflows/`](example_workflows - ComfyUI's built-in `Resize Images by Longer Edge` [BETA] has no Lanczos and no `multiple_of` snapping - `JWImageResizeByLongerSide` (comfyui-various) has no Lanczos in the official release - No existing node combines batch folder loading + longest-side resize + original filename preservation -- Smart Batch Resize handles transparency deliberately instead of by accident — choose whether alpha is preserved, always kept, or flattened onto a solid background, and force a specific output format (png/webp/jpg) independent of the source files' own extensions +- Smart Batch Resize handles transparency deliberately instead of by accident - choose whether alpha is preserved, always kept, or flattened onto a solid background, and force a specific output format (png/webp/jpg) independent of the source files' own extensions - No existing node outputs a ready-to-use `resolution` INT for SeedVR2 - No existing node cycles through multiple prompt lists with automatic list switching and an index - No existing node switches label + width + height together per category in one place -- Smart Prompt Controller + Smart Profile Switch handle **uneven category sizes automatically** — 5 headshot prompts and 10 fullbody prompts cycle correctly without padding lists to match or manually tracking where one category ends and the next begins +- Smart Prompt Controller + Smart Profile Switch handle **uneven category sizes automatically** - 5 headshot prompts and 10 fullbody prompts cycle correctly without padding lists to match or manually tracking where one category ends and the next begins --- @@ -181,4 +181,4 @@ Restart ComfyUI. All nodes appear under **CraftKit** in the node menu: --- ## Requirements -Pillow, NumPy, PyTorch — all included with ComfyUI. No extra dependencies. +Pillow, NumPy, PyTorch - all included with ComfyUI. No extra dependencies.