Product Image Processor

A Claude Code skill that reads image URLs from a Google Sheet, downloads at full resolution, normalizes sizing to max 2000px PNG, and removes backgrounds via rembg — saving output at each processing stage.

What it does

Type /product-image-processor in Claude Code and point it at a Google Sheet with image URLs. The skill downloads every image, resizes to a consistent max dimension, and removes backgrounds using AI — saving clean, transparent PNGs ready for spec books, presentations, or procurement documents.

Three output folders, one per stage: originals/, resized/, nobg/.

Install

Claude Desktop:

  1. Open CustomizeBrowse plugins
  2. Click +Add marketplace from GitHub
  3. Enter AlpacaLabsLLC/skills-for-architects
  4. Install the Product & Materials Research plugin

Claude Code (terminal):

claude install github:AlpacaLabsLLC/skills-for-architects/05-materials-research

Dependencies

Requires Python 3.9+ with Pillow, rembg, and onnxruntime. The skill auto-installs missing packages on first run. The u2net background removal model (~170MB) downloads once and is cached.

Usage

/product-image-processor

Then provide a Google Sheet ID and tell it which column has image URLs. Optionally specify a name column and output path.

/product-image-processor

Sheet: 1FMScYW9guezOWc_...
Image URL column: AC
Name column: C (Product Name)
Output: ~/Documents/Work-Docs/product-images-2026-03-04/

Processing pipeline

StageWhat happensTool
Downloadcurl -L each URL, preserve original formatcurl
ResizeScale to max 2000px longest edge, convert to PNG, skip upscalingPillow
BG RemoveAI background removal via u2net, output transparent PNGrembg

Files are named sequentially with slugified product names: 001-eames-lcw.png, 002-vardagen-vaso.png, etc.

How it handles failures

The skill never stops a batch on a single failure:

  • Download failures (404, timeouts) — logged and skipped, batch continues
  • Resize failures (corrupt files) — logged and skipped in subsequent stages
  • rembg failures (vectors, icons) — logged, original kept in resized/
  • Sheet read errors — stops and asks to verify the spreadsheet ID and column

After every batch: success/failure counts per stage with reasons.

Pairs with

Use /product-spec-bulk-fetch to extract product specs and image URLs from vendor pages into a Google Sheet, then run /product-image-processor on that sheet. Fetch specs → process images → spec-ready assets.