| name | image-optimizer |
| description | Comprehensive image optimization toolkit for web performance. Converts images to WebP, generates thumbnails with aspect ratios, removes white backgrounds with smart edge smoothing, and processes images in parallel batches. Use when Claude needs to optimize images for web performance, generate responsive thumbnails, remove backgrounds from product photos, or batch process image directories. Supports transparency modes, supersampling for smooth edges, custom dimensions, and multiple aspect ratios (16:9, 4:3, 21:9, 1:1, 3:2). |
Image Optimizer
Image optimization toolkit using Sharp for high-performance WebP conversion, thumbnail generation, and intelligent background removal.
Quick Start
All scripts are in scripts/. Use pnpm to run them:
node scripts/optimize-images.js
node scripts/optimize-small-images.js
node scripts/optimize-images-advanced.js
Thumbnail Generation
Generate thumbnails with specific dimensions or aspect ratios:
pnpm optimize:128
pnpm optimize:256
pnpm optimize:16-9
pnpm optimize:128 public/image.png public/logo.png
node scripts/optimize-thumbnails.js --size=128 --dir=public/icons
Aspect Ratio Thumbnails
Generate thumbnails with preset aspect ratios:
pnpm optimize:16-9 --size=small
pnpm optimize:16-9 --size=medium
pnpm optimize:16-9 --size=large
pnpm optimize:4-3 --size=medium
pnpm optimize:1-1 --size=large
node scripts/optimize-aspect-ratio.js --width=1280 --height=720
Background Removal
Remove white backgrounds with smart edge smoothing:
pnpm optimize:128 public/product.png --transparency=white-to-transparent
pnpm optimize:256 public/product.jpg \
--transparency=white-to-transparent \
--threshold=250 \
--quality=90
pnpm optimize:128 public/icon.png --transparency=white-to-transparent --threshold=230
Configuration
WebP Quality
- 85-90: Product photos, high-quality images
- 75-85: Standard web images (default)
- 60-75: Thumbnails, non-critical images
Fit Strategies
cover: Fill entire area (recommended, exact dimensions)
inside: Maintain aspect ratio, may not fill completely
fill: Force stretch (distorts, not recommended)
Crop Position
entropy: Smart crop, keeps subject (recommended)
center: Center crop
attention: AI attention-based (requires Sharp 0.29+)
top, bottom, left, right: Edge-aligned
Transparency Modes
auto: Auto-detect based on input (PNG/WebP preserve, others remove)
preserve: Keep existing transparency
remove: Remove transparency, fill with background color
white-to-transparent: Smart white background removal
add: Add transparency with alpha level
Background Removal Options
--threshold: White threshold (0-255, default 240). Use 230-245 for off-white, 250-255 for pure white
--smooth-edges: Enable edge smoothing (default true)
--supersample: 2x supersampling for smooth edges (default true)
--gaussian-smoothing: Use 5x5 Gaussian kernel (default true, false=3x3 simple)
--smoothing-iterations: Edge smoothing passes (default 1, max 2)
Common Use Cases
E-commerce Product Photos
pnpm optimize:256 public/products/*.jpg \
--transparency=white-to-transparent \
--threshold=250 \
--quality=90 \
--supersample=true \
--gaussian-smoothing=true
Blog Thumbnails (16:9)
pnpm optimize:16-9 --size=medium --dir=public/blog-images
Social Media Avatars (1:1)
pnpm optimize:1-1 --size=large --dir=public/avatars
Icon Optimization (128x128)
pnpm optimize:128 public/icons/logo.png --transparency=preserve
Processing Directories
Batch process entire directories:
node scripts/optimize-thumbnails.js \
--dir=public/uploads \
--size=256 \
--output=public/thumbnails
node scripts/optimize-thumbnails.js \
--dir=public/products \
--size=512 \
--transparency=white-to-transparent \
--threshold=245
Tips
- Use supersampling for product photos to eliminate jagged edges
- Higher quality (90+) for images that will be further edited
- Standard quality (75) for final web images
- Entropy position preserves important image content
- Test thresholds on sample images before batch processing
- Lower threshold (230-240) for off-white backgrounds
- Higher threshold (250-255) for pure white backgrounds
Dependencies
All scripts require:
pnpm add sharp
Sharp is a high-performance Node.js image processing library.