etsy-listing-generator

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.

Safety Notice

This listing is imported from skills.sh public index metadata. Review upstream SKILL.md and repository scripts before running.

Copy this and send it to your AI assistant to learn

Install skill "etsy-listing-generator" with this command: npx skills add mmcmedia/openclaw-agents/mmcmedia-openclaw-agents-etsy-listing-generator

Etsy Listing Image Generator

Generate professional Etsy listing images from HTML templates via Playwright screenshot rendering.

Quick Start — Single Image

node scripts/render.mjs <template> <image-url> <title> <subtitle> <badge> <output>

Example:

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.png

Quick Start — Batch

Create a JSON file with an array of objects:

[
  { "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:

node scripts/render.mjs --batch assets/puppet-listing.html stories.json output/listings/

Batch JSON Fields

FieldRequiredDefaultDescription
file / image / urlYesProduct image URL (HTTP or file://)
titleNo"Bible Story Puppet Printables"Large top text on banner
subtitle / nameNoSmaller bottom text on banner
badgeNo"12 ELEMENTS + 4 BACKGROUNDS"Left badge text
outputNoAuto from subtitleOutput filename

Template Placeholders

Templates are plain HTML files. The renderer replaces these strings:

  • PRODUCT_IMAGE_URL → product/character image
  • TITLE_TEXT → large banner text
  • SUBTITLE_TEXT → smaller banner text
  • BADGE_LEFT_TEXT → left pill badge
  • INSTANT DOWNLOAD → right badge (hardcoded, edit HTML to change)

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 assets/puppet-listing.html and modify. Key CSS to adjust:

  • .canvas width/height — canvas dimensions
  • .banner height — green section size
  • .product-area top/bottom — image boundaries
  • .badge styling — pill badge appearance
  • .title / .subtitle — typography

Keep the placeholder strings (PRODUCT_IMAGE_URL, etc.) for the renderer to replace.

Serving Local Images

If product images are local files, either:

  1. Serve via Image Forge backend: copy to /projects/image-forge/output/ → accessible at http://localhost:3021/api/output/filename.png
  2. Use file:// URLs (must be absolute paths)
  3. Start any local HTTP server in the image directory

Dependencies

  • Node.js
  • Playwright (npx playwright install chromium if not installed)

Source Transparency

This detail page is rendered from real SKILL.md content. Trust labels are metadata-based hints, not a safety guarantee.

Related Skills

Related by shared tags or category signals.

Automation

etsy-listing-analyzer

No summary provided by upstream source.

Repository SourceNeeds Review
Automation

ga4-analytics

No summary provided by upstream source.

Repository SourceNeeds Review
Automation

etsy-expert

No summary provided by upstream source.

Repository SourceNeeds Review
Automation

chief-of-ai

No summary provided by upstream source.

Repository SourceNeeds Review