Install
$ agentstack add skill-buluslan-gpt-image2-ecommerce-gpt-image2-ecommerce Open-source listing — not yet scanned by AgentStack. Follow the source repository for install instructions.
Security review
⚠ Flagged1 finding(s); flagged for manual review. · v0.1.0 How review works →
- • Prompt-injection patterns
- • Secret / credential exfiltration
- • Dangerous shell & filesystem operations
- • Untrusted network calls
- • Known-malicious package signatures
- high Destructive filesystem operation.
What it can access
- ● Network access Used
- ✓ Filesystem access No
- ✓ Shell / process execution No
- ✓ Environment & secrets No
- ✓ Dynamic code execution No
From automated source analysis of v0.1.0. “Used” means the capability is present in the source — more access means more to trust, not that it’s unsafe.
About
Overview
Generate e-commerce images using GPT-Image-2 via Codex CLI. Match user intent to structured JSON prompt templates, assemble concise prompts, and invoke image generation.
Workflow
Step 1: Intent Recognition
From the user's request, extract:
- Scene type: hero image, lifestyle, flat lay, macro detail, poster/banner, social media, UGC, model showcase, before/after, packaging, infographic, creative concept, size spec, multi-product, livestream, virtual try-on, exploded view, ghost mannequin, multi-angle grid, magazine editorial, seasonal campaign, luxury atmospherics, device mockup, storefront, sports campaign
- Product info: category (beauty/electronics/food/fashion/home/jewelry/sports), description, material, key selling points
- Style preference: luxury, fresh, tech, minimal, or other variant
- Reference image: whether user provided a product photo path
If the user provides a product photo path, note it for --image parameter.
Step 2: Template Matching
Read the matching template from references/templates/. Match by scanning keywords and trigger_phrases in each template:
| Trigger Words | Template File | |---|---| | 白底图, 主图, hero image, packshot | 01-hero-image.json | | 场景图, 生活图, lifestyle | 02-lifestyle-scene.json | | 平铺图, flat lay, 俯拍 | 03-flat-lay.json | | 细节图, 微距, macro, 特写 | 04-detail-macro.json | | 海报, poster, banner, 促销 | 05-poster-banner.json | | 社交媒体, 小红书, Instagram, TikTok | 06-social-media.json | | UGC, 买家秀, GRWM | 07-ugc-style.json | | 模特, model, 人物展示 | 08-model-showcase.json | | 对比, before after, 前后 | 09-before-after.json | | 包装, packaging, 礼盒 | 10-packaging.json | | 信息图, A+, 详情页 | 11-infographic.json | | 创意, 概念, creative | 12-creative-concept.json | | 尺寸, 规格, 使用步骤 | 13-size-spec.json | | 套装, 组合, bundle | 14-multi-product.json | | 直播, livestream | 15-livestream.json | | 试穿, 融入, try on | 16-try-on-virtual.json | | 拆解图, 爆炸图, exploded view, 内部结构 | 17-exploded-view.json | | 隐形模特, ghost mannequin, 3D服装 | 18-ghost-mannequin.json | | 多角度, 网格, grid, 多色展示 | 19-multi-angle-grid.json | | 杂志, 封面, editorial, magazine | 20-magazine-editorial.json | | 季节, 四季, campaign, 春夏秋冬 | 21-seasonal-campaign.json | | 奢华, 氛围, 烟雾, luxury, atmospheric | 22-luxury-atmospherics.json | | 设备模型, 界面, mockup, SaaS, APP | 23-device-mockup.json | | 店铺, 门面, 空间, storefront, 实体店 | 24-storefront.json | | 运动, 健身, sports, fitness | 25-sports-campaign.json |
No match → default to 01-hero-image.json.
Only read the matched template file (progressive disclosure). Do not load all templates.
Step 3: Prompt Assembly
From the matched JSON template:
- Take
prompt_templateas the base structure - Replace
{variables}with user-provided info - If user specified a style variant → apply
variants..overrides - If product category known → apply
category_tips. - Simplify: keep only core fields with values, remove empty/null fields
- Output a concise JSON object (not the full template metadata)
Key principle: keep prompts simple. Only include essential information. Image2 performs best with concise, focused prompts rather than overly complex ones.
Example assembled prompt for a beauty hero image:
{
"type": "product photography",
"subject": "frosted glass serum bottle with matte white cap",
"background": "clean white background",
"lighting": "soft diffused studio lighting",
"composition": "centered, front view",
"quality": "8K, commercial e-commerce photography",
"category_note": "emphasize texture and glow"
}
Step 4: Image Generation
Run the generation script:
bash scripts/imagegen.sh --prompt-file ') --mode auto
Or call codex exec directly:
Without reference image:
codex exec --ephemeral --skip-git-repo-check --sandbox read-only --color never -
Requirements:
- Generate the image directly
- Do not provide explanation
- Return only the image result"
With reference image:
codex exec --ephemeral --skip-git-repo-check --sandbox read-only --color never \
--image /path/to/ref.png \
-
Reference image(s) are attached. Use them as visual identity/style references.
Requirements:
- Generate the image directly
- Do not provide explanation
- Return only the image result"
HTTP service mode: If curl -sf http://127.0.0.1:4312/health succeeds, submit via HTTP instead:
curl -sf -X POST http://127.0.0.1:4312/v1/images/generations \
-H 'content-type: application/json' \
-d '{"prompt":"","images":["/path/to/ref.png"],"timeout_sec":180}'
Step 5: Result Cleanup
After generation, images are saved to ~/.codex/generated_images//. Must clean up:
- Copy generated image to the user's working directory (or specified output path) and rename with descriptive name
- Delete the original codex session folder to avoid duplicate storage:
rm -rf ~/.codex/generated_images/
- Report the final image path to the user
Step 6: Suggestions
If applicable, suggest:
- Try a different style variant (list available variants from template)
- Adjust product category for more tailored results
- Add a reference image for better product consistency
- Try a different scene type
Anti-AI Tips (for UGC / Livestream / Social Media scenes)
When generating UGC, livestream, or social media content, these rules are critical:
- Specify exact phone model:
iPhone 14 Pro,iPhone 15 Pro - Add visible imperfections: pores, slight noise, warm color cast, imperfect framing
- Use candid language:
NOT professional photography,NOT AI-generated look - Show real environment: slightly messy, real objects, water stains, used towels
- Reference film tone:
Kodak Portra 400 color feel - Explicitly state:
NOT retouched, NOT smoothed - Avoid AI-signature words: no
perfect,flawless,stunning,hyper-realistic
Prompt Writing Guidelines
- Keep it simple: only core information, no excessive constraints
- Natural language preferred: Image2 understands descriptive sentences better than keyword lists
- Specify material: describe textures explicitly (frosted glass, brushed metal, matte finish)
- Lighting matters: always include lighting direction and quality
- Use references: passing a product photo via
--imagesignificantly improves consistency
Source & license
This open-source skill is cataloged on AgentStack and links to its original source — we do not rehost the code.
- Author: buluslan
- Source: buluslan/gpt-image2-ecommerce
- License: MIT
Install and usage instructions live in the source repository linked above.
Reviews
No reviews yet — be the first.
Write a review
Versions
- v0.1.0 Imported from the upstream source.