Install
openclaw skills install skill-listing-optimizerClawHub Security found sensitive or high-impact capabilities. Review the scan results before using.
Audit Amazon product listing images for non-square dimensions, auto-pad them to 2000×2000 white background, and push corrected images to live listings via SP-API. Works with any marketplace and seller account.
openclaw skills install skill-listing-optimizerAutomatically fix non-square product images on Amazon listings — download, pad to 2000×2000 white background, and push back to live listings via SP-API. No manual Seller Central work required.
Amazon penalizes listings with non-square images (aspect ratio != 1:1). Common offenders:
This skill detects, fixes, and re-uploads — all automatically.
pip3 install Pillow
npm install amazon-sp-api
{
"lwaClientId": "amzn1.application-oa2-client.YOUR_CLIENT_ID",
"lwaClientSecret": "YOUR_CLIENT_SECRET",
"refreshToken": "Atzr|YOUR_REFRESH_TOKEN",
"region": "eu",
"marketplace": "YOUR_MARKETPLACE_ID",
"sellerId": "YOUR_SELLER_ID"
}
Set AMAZON_SPAPI_PATH env var to point to it (default: ./amazon-sp-api.json).
audit.js — Detect non-square imagesnode scripts/audit.js --sku "MY-SKU" # audit single SKU
node scripts/audit.js --all # audit all FBA SKUs
node scripts/audit.js --all --out report.json # save report
Outputs: list of non-conforming image slots with dimensions.
pad_to_square.py — Fix images locally# After audit.js downloads originals to ./image_fix/
python3 scripts/pad_to_square.py ./image_fix/
Pads all *_orig.jpg files to 2000×2000 white background, outputs *_fixed.jpg.
push_images.js — Upload fixed images to Amazonnode scripts/push_images.js --dir ./image_fix/ --sku "MY-SKU" --slots PT03,PT05
Spins up a local HTTP server on a public port, submits image URLs to SP-API, then auto-kills the server after 15 minutes (time for Amazon to crawl).
fix_title.js — Patch listing titlenode scripts/fix_title.js --sku "MY-SKU" --title "New optimized title here"
node scripts/audit.js --all --out report.json
python3 scripts/pad_to_square.py ./image_fix/
node scripts/push_images.js --dir ./image_fix/ --from-report report.json
| Slot | Attribute | Description |
|---|---|---|
| MAIN | main_product_image_locator | Hero image (must be white bg) |
| PT01–PT08 | other_product_image_locator_1 … _8 | Secondary images |