Reference-product ecommerce image workflow for generating a compact set of product-faithful main, feature, and lifestyle images from real product reference phot
复制下面这句话,粘贴给 Claude Code、Codex、Cursor 等 AI 编程工具,它会读取安装说明并在你确认后完成安装。
请阅读 https://ai.atlankj.com/install/asset/gh-ecommerce-image-workflow-dcfc35de5a45 ,按照其中的说明把「ecommerce-image-workflow」安装到你(当前 AI 工具)中。执行前先告诉我将运行的命令和写入的位置,等我确认。
查看 AI 将读取的安装说明正在读取 GitHub 原文…
内容来自 GitHub 原始文件,由原作者维护。在 GitHub 查看
Create a compact ecommerce image set from real product reference imagery. This V1 skill is intentionally narrow: it supports reference-product mode only. If the user only describes a product and does not provide a product photo, ask for one and stop. Do not create a brief-only concept product in this version.
ecommerce-image-workflow/
|-- SKILL.md
|-- example.html
`-- references/
`-- checklist.md
By default, generate three ecommerce-ready image assets for one product:
Also create:
image-manifest.json describing reference inputs, slots, prompts, outputs,
aspect ratios, and fidelity notes.ecommerce-gallery.html as a small preview gallery linking the generated
files and summarizing the image roles.Required:
Ask only for missing essentials:
Do not ask broad discovery questions. Keep the workflow moving.
Before planning, verify that the current project includes a real product reference image.
If no product image is available, reply:
Please upload at least one product reference image first. This V1 workflow preserves a real product from reference photos; brief-only concept generation is deferred to a later version.
Then stop.
Inspect the reference image and write a short internal identity lock:
Use these anchors in every generation prompt.
Create a compact shot plan before dispatch:
| Slot | Default aspect | Goal |
|---|---|---|
| main | 1:1 | Product-first marketplace image on white or soft neutral background |
| feature | 4:5 | One clear selling point with close-up detail or simple callout space |
| lifestyle | 4:5 | Realistic use context with the product still visually faithful |
If the project metadata provides imageAspect, use it when the user expects a
single aspect across the set. Otherwise use the slot defaults above.
Every prompt must include this product fidelity instruction near the top:
Preserve the exact product identity from the reference image: shape,
silhouette, color, material, logo/label placement, visible construction
details, and proportions. Do not redesign the product. Do not add, remove,
or relocate product features.
Then add slot-specific instructions:
Use the unified OpenDesign media dispatcher. Do not call provider APIs or custom model commands directly.
For each slot, run the standard generate/wait loop:
# POSIX bash. Do not call provider APIs directly.
out=$("$OD_NODE_BIN" "$OD_BIN" media generate \
--project "$OD_PROJECT_ID" \
--surface image \
--model "<imageModel from metadata>" \
--aspect "<slot aspect or imageAspect from metadata>" \
--image "<project-relative product reference image>" \
--output "<product-slug>-<slot>.png" \
--prompt "<full slot prompt>")
ec=$?
if [ "$ec" -ne 0 ]; then echo "$out" >&2; exit "$ec"; fi
last=$(printf '%s\n' "$out" | tail -1)
task_id=$(printf '%s\n' "$last" |
python3 -c "import sys,json; d=json.load(sys.stdin); print(d.get('taskId',''))" 2>/dev/null)
since=$(printf '%s\n' "$last" |
python3 -c "import sys,json; d=json.load(sys.stdin); print(d.get('nextSince',0))" 2>/dev/null)
since="${since:-0}"
while [ -n "$task_id" ]; do
out=$("$OD_NODE_BIN" "$OD_BIN" media wait "$task_id" --since "$since")
ec=$?
last=$(printf '%s\n' "$out" | tail -1)
since=$(printf '%s\n' "$last" |
python3 -c "import sys,json; d=json.load(sys.stdin); print(d.get('nextSince',0))" 2>/dev/null)
since="${since:-0}"
if [ "$ec" -eq 0 ]; then
task_id=""
elif [ "$ec" -ne 2 ]; then
echo "$out" >&2
exit "$ec"
fi
done
printf '%s\n' "$last"
The final line must be JSON with {"file": {"name": "...", ...}}.
Record each final returned filename in image-manifest.json.
If the active image model or provider cannot use --image, stop and tell the
user that this workflow needs a reference-capable image generation path for
product fidelity.
image-manifest.jsonAfter generation, create a project file named image-manifest.json:
{
"workflow": "ecommerce-image-workflow",
"mode": "reference-product",
"productName": "Example product",
"referenceImages": ["reference-product.png"],
"fidelityNotes": [
"Preserve product identity, color, material, construction, and proportions.",
"Do not treat these outputs as platform-compliance proof without human review."
],
"slots": [
{
"id": "main",
"role": "marketplace packshot",
"aspect": "1:1",
"output": "example-product-main.png",
"promptSummary": "Centered product-first packshot on a clean neutral background."
},
{
"id": "feature",
"role": "single feature highlight",
"aspect": "4:5",
"output": "example-product-feature.png",
"promptSummary": "Close-up or negative-space composition for one verified selling point."
},
{
"id": "lifestyle",
"role": "usage context",
"aspect": "4:5",
"output": "example-product-lifestyle.png",
"promptSummary": "Realistic scene with the product as the focal point."
}
]
}
Keep the manifest honest. If a detail is unknown, write null or a short note
instead of inventing claims.
ecommerce-gallery.htmlCreate a simple single-file HTML gallery that:
image-manifest.json.Reply with:
Do not emit an <artifact> tag.
"$OD_NODE_BIN" "$OD_BIN" media generate; do not call provider APIs
directly.image-manifest.json after generation.references/checklist.md before handoff.