Back to Skills

image-ecommerce

E-commerce product photography: white-background hero shots, lifestyle scenes, flat lay, detail close-ups, packaging shots, group/collection displays, scale references, seasonal/holiday themes, 360-degree views, comparison layouts, infographics, and platform-optimized images (Amazon, Shopify, Taobao, Instagram, Xiaohongshu, Etsy, eBay). Use when generating professional product photos for e-commerce listings, catalogs, or marketing (e.g. product hero shot, Amazon listing image, lifestyle product

18stars9forksUpdated 7/16/2026

Security Assessment

Medium Risk(50/100)

Detected risks:

Remote Code Execution([SKILL.md] exec()
Security Score50/100

About image-ecommerce

image-ecommerce generates professional product photography for e-commerce listings, catalogs, and marketing on the Starchild platform. It covers white-background hero shots, lifestyle scenes, flat lay arrangements, detail and macro close-ups, packaging and unboxing shots, group/collection displays, scale references, seasonal themes, 360-degree views, comparison layouts, infographic-style feature callouts, and platform-optimized images for Amazon, Shopify, Taobao, Instagram, Xiaohongshu, Etsy, and eBay. Its core principle is to call the provided script rather than re-implement proxy or billing plumbing, and it clarifies when to use image-ecommerce versus related skills like image-edit, image-portrait, image-create, and image-tryon.

The main entry point is the product_photo() function (and product_photo_set() for a complete set). It supports three input modes: edit mode from a local file via product_path or a public HTTPS URL via product_url, and pure text-to-image mode when neither is provided (requiring a prompt). Parameters include style (default "hero"), background (default "white"), model ("nanopro" fast ~25s or "gpt" best quality ~150s), count (1-8), aspect_ratio (1:1, 3:4, 4:3, 9:16, 16:9), and platform, which overrides style, background, and aspect_ratio with platform-optimized values unless explicitly set. Photography style presets include hero, lifestyle, flat_lay, detail, packaging, group, scale, 360_view, comparison, infographic, and seasonal variants (seasonal_spring, seasonal_summer, seasonal_autumn, seasonal_winter). product_photo_set() generates 7 images (hero, lifestyle, detail, scale, alternate angle, packaging, flat lay). The script reads local files, base64-encodes them, and sends them to fal.ai as a data URI, and always downloads results on success to output/images/.

The skill is aimed at sellers and marketers producing listing and campaign imagery. It includes an important execution note: the code blocks are Python, not shell commands, and when calling via the bash tool you should use python3 - <<'EOF' with from exports import rather than exec(open(...)) inside python3 -c. For delivery, it warns never to hand the user the raw fal.media URL because fal serves files with restrictive CSP headers; instead use each image's downloaded local_path in output/images/, embed inline on Web, or send via send_to_telegram / send_to_wechat on those channels.

FAQ

What input modes does product_photo() support?

Three: edit mode from a local workspace file via product_path, edit mode from a public HTTPS URL via product_url, and pure text-to-image mode when neither is provided (which requires a prompt). If both product_path and product_url are given, product_path takes priority.

Which models and speeds are available?

The model parameter accepts "nanopro" (fast, roughly 25 seconds, the default) or "gpt" (best quality, roughly 150 seconds).

How do platform presets work?

Setting platform (amazon, shopify, taobao, instagram, xiaohongshu, etsy, or ebay) overrides the default style, background, and aspect_ratio with platform-optimized values unless you explicitly set those parameters. For example, amazon applies style=hero, background=white, aspect_ratio=1:1.

How should generated images be delivered to the user?

Never hand over the raw fal.media URL because fal serves files with restrictive CSP headers. Use each image's downloaded local_path in output/images/, embed inline on Web, or send via send_to_telegram or send_to_wechat with file_path and message_type="image".

Why can't the Python snippets be pasted directly into bash?

The code blocks are Python, not shell commands. Starchild's bash tool runs /bin/bash -c, which cannot parse exec(open(...)), and exec(open(...)) inside python3 -c fails on __file__. Use python3 - <<'EOF' with from exports import instead, which preserves quotes and newlines.

All Files

4 files
_cost_track.py7.4 KB
View
exports.py1.0 KB
View
SKILL.md19.1 KB
View
product_photo.py30.7 KB
View

Install image-ecommerce

Download and extract the skill files to your .claude/skills/ directory.

Quick Setup:

  1. Copy the skill folder to .claude/skills/
  2. Claude will automatically detect and use the skill