etsy-listing-generator
Original:🇺🇸 English
Translated
1 scriptsChecked / no sensitive code detected
Generate Etsy listing images from HTML templates using Playwright. Supports single and batch rendering with customizable title, subtitle, badge text, and product images. Use when creating Etsy product listing images, mockups, or running batch generation for multiple products (e.g., puppet printables, digital downloads). Works with any HTML template that uses PRODUCT_IMAGE_URL, TITLE_TEXT, SUBTITLE_TEXT, BADGE_LEFT_TEXT placeholders.
3installs
Sourcemmcmedia/openclaw-agents
Added on
NPX Install
npx skill4agent add mmcmedia/openclaw-agents etsy-listing-generatorTags
Translated version includes tags in frontmatterSKILL.md Content
View Translation Comparison →Etsy Listing Image Generator
Generate professional Etsy listing images from HTML templates via Playwright screenshot rendering.
Quick Start — Single Image
bash
node scripts/render.mjs <template> <image-url> <title> <subtitle> <badge> <output>Example:
bash
node scripts/render.mjs \
assets/puppet-listing.html \
"http://localhost:3021/api/output/moses-characters.png" \
"Bible Story Puppet Printables" \
"Moses & The Exodus" \
"12 ELEMENTS + 4 BACKGROUNDS" \
output/moses-listing.pngQuick Start — Batch
Create a JSON file with an array of objects:
json
[
{ "file": "http://localhost:3021/api/output/moses-characters.png", "subtitle": "Moses & The Exodus" },
{ "file": "http://localhost:3021/api/output/david-characters.png", "subtitle": "David & Goliath" }
]Run:
bash
node scripts/render.mjs --batch assets/puppet-listing.html stories.json output/listings/Batch JSON Fields
| Field | Required | Default | Description |
|---|---|---|---|
| Yes | — | Product image URL (HTTP or file://) |
| No | "Bible Story Puppet Printables" | Large top text on banner |
| No | — | Smaller bottom text on banner |
| No | "12 ELEMENTS + 4 BACKGROUNDS" | Left badge text |
| No | Auto from subtitle | Output filename |
Template Placeholders
Templates are plain HTML files. The renderer replaces these strings:
- → product/character image
PRODUCT_IMAGE_URL - → large banner text
TITLE_TEXT - → smaller banner text
SUBTITLE_TEXT - → left pill badge
BADGE_LEFT_TEXT - → right badge (hardcoded, edit HTML to change)
INSTANT DOWNLOAD
Template Design — Current Base (puppet-listing.html)
- 1400×2000px portrait format
- White background, sage green (#4D6840) bottom banner
- Gold pill badges (top-left: custom, top-right: INSTANT DOWNLOAD)
- Poppins font throughout
- Product image uses
object-fit: cover; object-position: center center - Subtle TheSunDaisy watermark
Creating New Templates
Copy and modify. Key CSS to adjust:
assets/puppet-listing.html- width/height — canvas dimensions
.canvas - height — green section size
.banner - top/bottom — image boundaries
.product-area - styling — pill badge appearance
.badge - /
.title— typography.subtitle
Keep the placeholder strings (, etc.) for the renderer to replace.
PRODUCT_IMAGE_URLServing Local Images
If product images are local files, either:
- Serve via Image Forge backend: copy to → accessible at
/projects/image-forge/output/http://localhost:3021/api/output/filename.png - Use URLs (must be absolute paths)
file:// - Start any local HTTP server in the image directory
Dependencies
- Node.js
- Playwright (if not installed)
npx playwright install chromium