Claude Skill

item-selling-point

商品图生成带文案排版的转化主图。商品图 + 卖点 → 带中文文案的电商主图。当用户说「主图」「加卖点文案」「转化图」「促销图」「主图文案」时使用。

LLM Mart · 0 points · 0 views 0 listing impressions 0 install-command copies
Virus-scanned Reviewed automatically before listing.

Full trust report

Download dlazy-ai-ecommerce-skills-skills_item-selling-point-c022f20.zip · 23 KB
Part of dlazy-ai/ecommerce-skills — 26 skills

Install

skills CLI npx skills add https://github.com/dlazy-ai/ecommerce-skills/tree/main/skills/item-selling-point
Claude Code claude plugin marketplace add https://llmmart.ai/marketplace.json && claude plugin install dlazy-ai-ecommerce-skills@llmmart
Git git clone https://github.com/dlazy-ai/ecommerce-skills.git

The skills CLI installs just this skill, for any of its supported agents. Claude Code installs the whole dlazy-ai/ecommerce-skills collection as a plugin from our marketplace. Git is the plain clone.

Skill manifest

item-selling-point — 商品图生成电商主图

商品图 + 卖点文案 → 带排版的转化型电商主图。

和 item-detail 的分工:item-detail 出详情页长图的各个模块(信息量大、多模块),本技能出主图位的单张方图(信息密度低、要在缩略图尺寸下也能看清)。


生成效果示例

输入:商品图
product-shoes.jpg — 黑色鳄鱼纹亮面皮革布洛克德比鞋,白底,800×800

实际执行的命令:

dlazy seedream-5.0-pro \
  --prompt '电商正方形主图。主体是图1 中的黑色亮面皮革布洛克德比鞋,鞋型、雕花孔、鞋带与厚底必须与图1完全一致,商品去底后放在画面中央偏左,下方带柔和投影。背景为深灰到浅灰渐变,右侧竖排中文卖点文案:主标题大字「真皮软底 通勤久站不累」,下方两行小字卖点「牛皮鞋面 · 防滑厚底」「三防涂层 · 雨天不怕」。左上角一枚红色圆形促销角标写「满300减30」。无衬线黑体,字号层级分明,排版整齐,中文字清晰正确无乱码,商业电商主图设计。' \
  --images docs/item-selling-point/product-shoes.jpg --size 1:1 \
  --save docs/item-selling-point/example-output.jpg

输出

example-output.jpg — 1:1 / 2048×2048,5 credits。鞋的鳄鱼纹压花、雕花孔、鞋带与厚齿底保持一致,去底后居中偏左带柔和投影;右侧主标题「真皮软底 通勤久站不累」与两行小字卖点字形正确、层级分明;左上红色圆形角标「满300减30」;深灰渐变背景。


1、能力边界

输入 说明
商品图 1 张
去除商品图背景 开关;开启后商品去底再合成
商品类目 决定背景与配色基调
参考图 可选,决定版式与配色
商品功能点 ≤100 字,多个用 / 分隔,例:持久续航/防水防汗
营销利益点 ≤100 字,多个用 / 分隔,例:年货狂欢节/满300-30

功能点和利益点要分开:功能点是产品能力(排在主标题/副标题),利益点是促销信息(排在角标/腰带)。混在一起排版会乱。

不做:不编造商品没有的功能;不生成虚假促销(不存在的活动、虚假折扣、虚假原价);不使用绝对化用语(最、第一、国家级);不改商品外形与颜色。


2、输入素材规则

生成前先自检这几条硬性约束:

  • 大小:20KB ~ 15MB
  • 分辨率:大于 400×400
  • 格式:jpg / jpeg / png / webp

输入建议

做法 说明
✅ 白底或纯色底商品图 去底最干净
✅ 文案精简 主图在列表页只有 200px 左右,长句根本看不见
✅ 主标题 ≤10 字,小字 ≤12 字/行,角标 ≤8 字 缩略图可读性的经验值
❌ 塞五条卖点 主图最多承载 1 个主标题 + 2 行小字 + 1 个角标
❌ 未经核实的功效/促销 平台合规风险

3、主图版式的三个区

把方图切成三个区,每个区只放一种信息:

┌─────────────────────────┐
│ ⓐ 角标区(左上/右上)      │  ← 营销利益点:「满300减30」
│                         │
│      ⓑ 商品区(中央偏左)  │  ← 商品去底 + 投影
│                         │
│              ⓒ 文案区(右侧)│  ← 功能点:主标题 + 2 行小字
└─────────────────────────┘

写进 prompt:

商品去底后放在画面中央偏左,下方带柔和投影。
右侧竖排中文卖点文案:主标题大字「[≤10字]」,下方两行小字卖点「[≤12字]」「[≤12字]」。
左上角一枚[形状]促销角标写「[≤8字]」。

缩略图检查:把输出缩到 200×200 看一眼——主标题还认得出来吗?认不出就再缩短文案或加大字号层级。


4、类目 → 背景与配色

类目 背景 文字色 角标色
服饰 米灰 / 燕麦色渐变 深灰 砖红
箱包 / 鞋品 深灰到浅灰渐变 黑 正红
婴童 / 宠物 奶油 / 浅粉 暖棕 珊瑚粉
美妆 大理石 / 丝绒 黑金 酒红
3C / 电器 深色科技渐变 白 荧光蓝
家居 / 家具灯饰 实景房间浅景深 深棕 橄榄绿
食品厨具 木质台面暖调 深棕 橙红
珠宝饰品 深色绒布聚光 白金 深红

5、工具调用

本技能使用 dLazy 的 seedream-5.0-pro(专业档图像模型,中文字形与版面控制最稳;主图上的文案必须一眼可读、零乱码,字形正确率是首要指标)。

调用方式

两种等价写法,选一种。统一入口会自动选后端、失败重试、建目录落盘、估算成本:

# A. 统一入口(推荐):可切任意后端,加 --dry-run 不计费空跑
node scripts/gen.mjs --task item-selling-point \
  --prompt '<见下方 Prompt 模板>' \
  --images <按下表顺序> \
  --save output/item-selling-point-<sku>.jpg

# B. 直接用 dLazy CLI(不想引入 Node 依赖时,效果等价)
dlazy seedream-5.0-pro --prompt '...' --images ... --save output/item-selling-point.jpg

参数约定(本技能固定用法)

参数 取值 理由
--images [商品图];带版式参考时 [商品图, 参考图] 顺序即 prompt 中的 图1 / 图2
--size 1:1(主图位标准方图)/ 3:4(部分平台竖版主图) 跟随平台主图规范
--resolution 2k 主图通常 800~1200px
--batch 3 中文排版随机性,挑字形正确的
--save docs/item-selling-point/output-<sku>-<活动>.jpg 按活动归档,大促换角标只需重跑

Command Examples

# basic call
dlazy seedream-5.0-pro \
  --prompt '电商正方形主图。主体是图1 商品,鞋型与材质必须与图1完全一致,去底后放在画面中央偏左,下方带柔和投影。背景深灰到浅灰渐变。右侧竖排中文卖点:主标题大字「真皮软底 通勤久站不累」,下方两行小字「牛皮鞋面 · 防滑厚底」「三防涂层 · 雨天不怕」。左上角红色圆形角标写「满300减30」。无衬线黑体,排版整齐,中文字清晰正确无乱码。' \
  --images docs/item-selling-point/product-shoes.jpg --size 1:1

# complex call: 一个 SKU 铺多个大促角标版本(文案区不变,只换角标)
SRC=docs/item-selling-point/product-shoes.jpg
BODY='主体是图1 中的黑色亮面皮革布洛克德比鞋,鞋型、雕花孔、鞋带与厚底必须与图1完全一致,商品去底后放在画面中央偏左,下方带柔和投影。背景为深灰到浅灰渐变,右侧竖排中文卖点文案:主标题大字「真皮软底 通勤久站不累」,下方两行小字卖点「牛皮鞋面 · 防滑厚底」「三防涂层 · 雨天不怕」。'
STYLE='无衬线黑体,字号层级分明,排版整齐,中文字清晰正确无乱码,商业电商主图设计。'
for A in daily d11 newyear; do
  case $A in
    daily)   BADGE='左上角一枚红色圆形促销角标写「满300减30」' ;;
    d11)     BADGE='左上角一枚红色圆形促销角标写「双11 5折起」' ;;
    newyear) BADGE='左上角一枚红色圆形促销角标写「年货节 直降100」' ;;
  esac
  dlazy seedream-5.0-pro \
    --prompt "电商正方形主图。${BODY}${BADGE}。${STYLE}" \
    --images "$SRC" --size 1:1 --resolution 2k \
    --batch 3 --save "docs/item-selling-point/output-sku001-$A.jpg"
done

# 先估价不真跑
dlazy seedream-5.0-pro --dry-run --prompt '...' --images a.jpg --size 1:1

延伸阅读

要查什么 去哪
认证、多后端配置、输出结构、错误码 references/provider-cli.md
seedream-5.0-pro 的全部可用参数 references/model-flags.md
统一入口的全部选项 node scripts/gen.mjs --help

6、Prompt 模板

电商正方形主图。

主体是图1 中的[商品品类 + 颜色 + 材质],[外形/工艺/结构]必须与图1完全一致,
商品去底后放在画面中央偏左,下方带柔和投影。

背景为[类目对应背景,见第四节]。

右侧竖排中文卖点文案:
  主标题大字「[功能点主标题 ≤10 字]」,
  下方两行小字卖点「[≤12 字]」「[≤12 字]」。

左上角一枚[形状]促销角标写「[营销利益点 ≤8 字]」。

无衬线黑体,字号层级分明,排版整齐,中文字清晰正确无乱码,商业电商主图设计。

按问题追加的修正句

问题 追加到 prompt 末尾
中文乱码 所有中文必须是清晰可读的简体汉字,不得变形、缺笔或臆造字。 + 缩短文案
缩略图看不清主标题 主标题字号必须至少为画面高度的 8%,与其他文字形成明显层级差。
文字压在商品上 商品区与文字区不得重叠:商品占左侧 55%,文字占右侧 40%,中间留 5% 间距。
商品被重绘 商品必须与图1完全一致,不得改变外形、颜色、材质或 logo。
角标喧宾夺主 角标直径不超过画面宽度的 18%,不得遮挡商品主体。
出现了没给的文案 画面中只能出现上述指定的中文,不得添加任何其他文字。

7、执行流程

  1. 拆文案:功能点(进主标题/小字)和营销利益点(进角标)分开,别混。
  2. 压字数:主标题 ≤10 字,小字 ≤12 字/行,角标 ≤8 字。
  3. 定类目 → 背景与配色(第四节表格)。
  4. 按三个区写 prompt(第三节),商品保真句必写。
  5. --batch 3 挑字形正确的一张,落盘到 docs/item-selling-point/。
  6. 缩到 200×200 检查可读性——主图在列表页就是这个尺寸。
  7. 合规检查:功能点是否有依据、促销是否真实存在、有无绝对化用语。
  8. 大促换角标:文案区保持不变,只改角标那一句重跑(第四节循环)。

8、常见问题

现象 原因 处理
中文乱码 文案太长 / 缺约束 缩短文案 + 追加字形约束句
缩略图看不清 主标题字号不够 追加主标题占画面高度 8% 句
文字盖在商品上 未划分区域 追加区域占比句
角标太大抢戏 未限制尺寸 追加角标直径 ≤18% 句
出现了没给的文案 模型自行补文案 追加只允许指定中文句
商品外形被改 未写保真句 追加商品保真句
功能点和促销挤在一起 两类文案没分区 功能点进文案区,利益点只进角标

Tips

Visit https://dlazy.com for more information.

Files (ecommerce-skills)
  • examples
    • brand.yaml 1.6 KB
      # ⚠️ 由 scripts/build-skills.mjs 从 shared/examples/brand.yaml 同步生成,不要直接改这里。
      # 店铺品牌视觉规范 —— 所有生图技能读这一份,保证几百个 SKU 看起来像同一家店。
      #   node scripts/brand.mjs --brand brand.yaml --for flat-lay
      #   node scripts/gen.mjs --task flat-lay --brand brand.yaml --prompt '...'
      
      brand:
        name: 示例品牌
        # 一句话概括调性,会原样进 prompt
        tone: quiet minimalist, warm and lived-in, never glossy or commercial
      
      model:
        # 锁模特:给一张脸的参考图,所有技能都会把它作为最后一张参考图传入
        reference: assets/model/face-a.jpg
        description: East Asian woman, late twenties, natural makeup, shoulder-length black hair
        body: slim, height around 168cm
      
      photography:
        background: seamless off-white studio backdrop, RGB 248 248 246
        lighting: soft large softbox from camera left, gentle fill, no hard shadows
        camera: 85mm equivalent, eye level, shallow depth of field
        grade: neutral white balance around 5200K, low contrast, slightly lifted blacks
        crop: full body with headroom, product centered
      
      layout:
        # 给带排版的技能(主图 / 详情页)用
        margin: at least 8% empty margin on all sides
        typeface: clean sans-serif, no decorative fonts
        text_color: near-black on light background
      
      forbid:
        - no visible brand logos other than the product's own
        - no text or watermark
        - no exaggerated poses or dramatic wind effects
        - no oversaturated colors
      
      # 可选:把这些直接写进合规目标,生成时就按平台要求出图
      compliance:
        platform: amazon
      
  • references
    • model-flags.md 1.8 KB
      # `seedream-5.0-pro` 参数清单
      
      本技能默认用的模型的完整参数。日常只需要「参数约定」里那几个,
      这份清单在需要用到非常规参数时再看。
      
      **CRITICAL INSTRUCTION FOR AGENT**:
      Run the `dlazy seedream-5.0-pro` command to get results.
      
      ```bash
      dlazy seedream-5.0-pro -h
      
      Options:
        --prompt <prompt>          Prompt
        --images [images...]       Images [image: url or local path] (max 10)
        --resolution <resolution>  Resolution [default: 2k] (choices: "2k")
        --size <size>              Size [default: 16:9] (choices: "1:1", "4:3",
                                   "3:4", "16:9", "9:16", "3:2", "2:3", "21:9")
        --dry-run                  Print payload without executing the tool
        --no-wait                  Return generateId immediately for async tasks
        --timeout <seconds>        Max seconds to wait for async completion (default:
                                   "1800")
        --input <jsonOrFile>       Inline JSON or @path/to/file.json — merged under
                                   flag values (flags win)
        --save <path>              Download the result asset to this local path
                                   (mkdir + retry handled for you). A destination
                                   path — NOT a response format; for stdout shape use
                                   --format
        --batch <n>                Fan-out N parallel runs (cloud tools only)
                                   (default: "1")
        -h, --help                 display help for command
      ```
      
      > Any flag also accepts pipe references — `-` (auto-pick from upstream stdin), `@N` (n-th output), `@N.path` (jsonpath into output), `@*` (all primary values), `@stdin` / `@stdin:path` (whole envelope). See `dlazy --help` for details.
      
      ---
      
      换其他后端时参数由 `scripts/gen.mjs` 统一翻译,见 [`provider-cli.md`](provider-cli.md)。
      
    • provider-cli.md 4.7 KB
      <!-- 由 scripts/build-skills.mjs 从 shared/references/provider-cli.md 同步生成,不要直接改这里。 -->
      # 后端调用参考
      
      技能正文只写「要生成什么」。认证、计费、错误码、输出结构这些每个技能都一样的东西放在这里,
      **用到时再读**,不占技能的常驻上下文。
      
      ---
      
      ## 一、认证
      
      ### 默认后端 dLazy
      
      ```bash
      dlazy login            # 设备码流程,远程 shell 也能用,自动写入本地配置
      dlazy auth set <KEY>   # 已有 key 时直接写入
      ```
      
      key 存在用户配置目录(macOS/Linux `~/.dlazy/config.json`,Windows `%USERPROFILE%\.dlazy\config.json`),
      权限限本机用户。也可以每次调用用环境变量 `DLAZY_API_KEY` 传入。
      
      手动获取:登录 [dlazy.com](https://dlazy.com) → [API Key 页面](https://dlazy.com/dashboard/organization/api-key)。
      key 按组织隔离,可随时轮换或吊销。
      
      ### 其他后端
      
      本技能库不锁定单一厂商。配好任意一家的 key 即可跑:
      
      | 后端 | 环境变量 | 说明 |
      | --- | --- | --- |
      | `dlazy` | `dlazy login` 或 `DLAZY_API_KEY` | 默认,最省事 |
      | `openai` | `OPENAI_API_KEY` | 走 `/v1/images/edits` 与 `/v1/images/generations` |
      | `gemini` | `GEMINI_API_KEY` | Nano Banana 系列 |
      | `fal` | `FAL_KEY` | |
      | `replicate` | `REPLICATE_API_TOKEN` | |
      | `ark` | `ARK_API_KEY` + `ARK_MODEL` | 火山方舟,模型 ID 需按开通情况填 |
      
      选路优先级:`--provider` 参数 > `PROVIDER` 环境变量 > 第一个配了 key 的 > `dlazy`。
      
      ```bash
      node scripts/gen.mjs --doctor     # 看当前哪个后端可用
      ```
      
      各后端的模型 ID 可用 `GEN_MODEL_OPENAI` / `GEN_MODEL_GEMINI` / `GEN_MODEL_FAL` /
      `GEN_MODEL_REPLICATE` / `GEN_MODEL_ARK` 覆盖。**厂商目录会变,以各家最新文档为准。**
      
      ---
      
      ## 二、两种调用方式
      
      ### 方式 A:统一入口(推荐)
      
      ```bash
      node scripts/gen.mjs --task <技能名> --prompt '...' --images a.jpg b.jpg --save out.jpg
      ```
      
      它负责:后端选路、默认尺寸档位、失败重试(429/5xx 指数退避)、落盘建目录、成本估算。
      
      ```bash
      node scripts/gen.mjs --task flat-lay --prompt '...' --dry-run   # 不调用不计费,只看要发什么
      node scripts/gen.mjs --help
      ```
      
      ### 方式 B:直接用 dLazy CLI
      
      不想引入 Node 依赖时,技能正文里的 `dlazy ...` 命令可以原样执行,效果等价。
      
      ```bash
      npx @dlazy/cli@1.2.3 <command>     # 不装全局二进制
      ```
      
      - CLI 源码:[github.com/dlazy-ai/cli](https://github.com/dlazy-ai/cli) · npm 包 `@dlazy/cli`
      
      ---
      
      ## 三、数据流向
      
      调用 dLazy 时:提示词与参数发往 `api.dlazy.com`;传入的本地图片会上传到 `files.dlazy.com`
      供模型读取;产出 URL 同样托管在 `files.dlazy.com`。这是云端生成 API 的通用形态。
      换成其他后端时,数据流向对应厂商,不经过 dLazy。
      
      ---
      
      ## 四、输出结构
      
      `gen.mjs`(加 `--json`):
      
      ```json
      {
        "ok": true,
        "task": "flat-lay",
        "provider": "dlazy",
        "model": "gpt-image-2",
        "files": ["docs/flat-lay/output-sku001.jpg"],
        "texts": [],
        "estimatedCredits": 60,
        "elapsedMs": 58213
      }
      ```
      
      dLazy CLI 原生:
      
      ```json
      {
        "ok": true,
        "result": {
          "tool": "gpt-image-2",
          "data": { "urls": ["https://files.dlazy.com/data/ai/....jpg"] },
          "savedPath": "docs/flat-lay/example-output.jpg"
        }
      }
      ```
      
      加 `--no-wait` 的异步任务不返回 `data`,返回 `task: { generateId, status }`,
      用 `dlazy status <generateId> --wait` 轮询。
      
      文本类模型(如质检)产出在 `result.data.texts[0]`:
      
      ```bash
      dlazy claude-sonnet-5 --prompt '...' --images x.jpg \
        | python3 -c 'import sys,json;print(json.load(sys.stdin)["result"]["data"]["texts"][0])'
      ```
      
      ---
      
      ## 五、错误处理
      
      | Code | 类型 | 示例 |
      | --- | --- | --- |
      | 401 | 未授权 / 无 key | `ok: false, code: "unauthorized"` |
      | 501 | 缺必填参数 | `error: required option '--prompt <prompt>' not specified` |
      | 502 | 本地文件读不到 | `Error: Image file not found: ...` |
      | 503 | 余额不足 | `ok: false, code: "insufficient_balance"` |
      | 503 | 服务端错误 | `HTTP status code error (500)` |
      | 504 | 异步任务失败 | `=== Generation Failed ===` / `Prompt violates safety policy` |
      
      **给 Agent 的硬性要求**
      
      1. 命中 `insufficient_balance` → 明确告诉用户算力不足,并给出充值入口
         <https://dlazy.com/dashboard/organization/settings?tab=credits>
      2. 命中 `unauthorized` / 缺 key → 告诉用户去 <https://dlazy.com/dashboard/organization/api-key>
         取 key,用 `dlazy auth set <key>` 存好再继续。
      3. 用 `gen.mjs` 时,429 与 5xx 已自动重试;仍失败才向用户报错。
      4. **不要**为了「跑通」而偷偷降级参数(尺寸、档位、批量),先问用户。
      
  • scripts
    • lib
      • miniyaml.mjs 2.8 KB · in bundle
      • providers.mjs 11.9 KB · in bundle
      • tasks.json 3.1 KB
        {
          "_note": "技能 → 默认模型与参数。dlazy 列为默认后端的模型名;其他后端走 providers.mjs 的通用映射,可用 GEN_MODEL_<PROVIDER> 覆盖。",
          "_credits": { "gpt-image-2": 60, "seedream-5.0": 30, "seedream-5.0-pro": 45, "banana-pro": 25, "claude-sonnet-5": 3 },
          "tasks": {
            "flat-lay":                { "model": "gpt-image-2",      "size": "1024x1536", "quality": "high",   "format": "jpeg" },
            "wear-everything":         { "model": "gpt-image-2",      "size": "1024x1536", "quality": "medium", "format": "jpeg" },
            "image-fusion":            { "model": "seedream-5.0",     "size": "3:4",       "resolution": "2k" },
            "one-shot":                { "model": "gpt-image-2",      "size": "1024x1536", "quality": "medium", "format": "jpeg" },
            "fission-pattern":         { "model": "gpt-image-2",      "size": "1024x1536", "quality": "medium", "format": "jpeg" },
            "item-detail":             { "model": "seedream-5.0-pro", "size": "3:4",       "resolution": "2k" },
            "creative-scene":          { "model": "banana-pro",       "size": "1024x1536", "format": "jpeg" },
            "batch-image":             { "model": "seedream-5.0",     "size": "3:4",       "resolution": "2k" },
            "to-3d":                   { "model": "gpt-image-2",      "size": "1024x1024", "quality": "high",   "format": "jpeg" },
            "clothing-extraction":     { "model": "gpt-image-2",      "size": "1024x1024", "quality": "high",   "format": "jpeg" },
            "fabric-on-body":          { "model": "gpt-image-2",      "size": "1024x1536", "quality": "high",   "format": "jpeg" },
            "clothing-detail":         { "model": "gpt-image-2",      "size": "1024x1024", "quality": "high",   "format": "jpeg" },
            "clothing-grass-planting": { "model": "gpt-image-2",      "size": "1024x1536", "quality": "medium", "format": "jpeg" },
            "item-selling-point":      { "model": "seedream-5.0-pro", "size": "1:1",       "resolution": "2k" },
            "item-change-background":  { "model": "gpt-image-2",      "size": "1024x1024", "quality": "high",   "format": "jpeg" },
            "remove-watermark":        { "model": "gpt-image-2",      "size": "1024x1024", "quality": "high",   "format": "jpeg" },
            "material-enhancement":    { "model": "gpt-image-2",      "size": "1024x1024", "quality": "high",   "format": "jpeg" },
            "item-repair":             { "model": "gpt-image-2",      "size": "1024x1024", "quality": "high",   "format": "jpeg" },
            "detect-task":             { "model": "claude-sonnet-5",  "text": true },
            "listing-optimizer":       { "model": "gpt-image-2",      "size": "1024x1024", "quality": "high",   "format": "jpeg" },
            "cross-border-localize":   { "model": "seedream-5.0-pro", "size": "1:1",       "resolution": "2k" },
            "brand-kit":               { "model": "gpt-image-2",      "size": "1024x1536", "quality": "high",   "format": "jpeg" },
            "platform-compliance":     { "model": "claude-sonnet-5",  "text": true },
            "main-image-video":        { "model": "$DLAZY_VIDEO_MODEL", "video": true },
            "product-video-ad":        { "model": "$DLAZY_VIDEO_MODEL", "video": true },
            "ugc-testimonial":         { "model": "$DLAZY_VIDEO_MODEL", "video": true }
          }
        }
        
    • brand.mjs 4.4 KB · in bundle
    • gen.mjs 9.3 KB · in bundle
  • skill.md 11.3 KB
    ---
    name: item-selling-point
    description: 商品图生成带文案排版的转化主图。商品图 + 卖点 → 带中文文案的电商主图。当用户说「主图」「加卖点文案」「转化图」「促销图」「主图文案」时使用。
    ---
    
    # item-selling-point — 商品图生成电商主图
    
    商品图 + 卖点文案 → **带排版的转化型电商主图**。
    
    和 [item-detail](../item-detail/skill.md) 的分工:item-detail 出**详情页长图的各个模块**(信息量大、多模块),本技能出**主图位的单张方图**(信息密度低、要在缩略图尺寸下也能看清)。
    
    ---
    
    ## 生成效果示例
    
    | 输入:商品图 |
    | --- |
    | <img src="../../docs/item-selling-point/product-shoes.jpg" width="280"> |
    | `product-shoes.jpg` — 黑色鳄鱼纹亮面皮革布洛克德比鞋,白底,800×800 |
    
    实际执行的命令:
    
    ```bash
    dlazy seedream-5.0-pro \
      --prompt '电商正方形主图。主体是图1 中的黑色亮面皮革布洛克德比鞋,鞋型、雕花孔、鞋带与厚底必须与图1完全一致,商品去底后放在画面中央偏左,下方带柔和投影。背景为深灰到浅灰渐变,右侧竖排中文卖点文案:主标题大字「真皮软底 通勤久站不累」,下方两行小字卖点「牛皮鞋面 · 防滑厚底」「三防涂层 · 雨天不怕」。左上角一枚红色圆形促销角标写「满300减30」。无衬线黑体,字号层级分明,排版整齐,中文字清晰正确无乱码,商业电商主图设计。' \
      --images docs/item-selling-point/product-shoes.jpg --size 1:1 \
      --save docs/item-selling-point/example-output.jpg
    ```
    
    **输出**
    
    <img src="../../docs/item-selling-point/example-output.jpg" width="320">
    
    `example-output.jpg` — 1:1 / 2048×2048,5 credits。鞋的鳄鱼纹压花、雕花孔、鞋带与厚齿底保持一致,去底后居中偏左带柔和投影;右侧主标题「真皮软底 通勤久站不累」与两行小字卖点字形正确、层级分明;左上红色圆形角标「满300减30」;深灰渐变背景。
    
    ---
    
    ## 1、能力边界
    
    | 输入 | 说明 |
    | --- | --- |
    | 商品图 | 1 张 |
    | 去除商品图背景 | 开关;开启后商品去底再合成 |
    | 商品类目 | 决定背景与配色基调 |
    | 参考图 | 可选,决定版式与配色 |
    | **商品功能点** | ≤100 字,多个用 `/` 分隔,例:`持久续航/防水防汗` |
    | **营销利益点** | ≤100 字,多个用 `/` 分隔,例:`年货狂欢节/满300-30` |
    
    **功能点和利益点要分开**:功能点是产品能力(排在主标题/副标题),利益点是促销信息(排在角标/腰带)。混在一起排版会乱。
    
    **不做**:不编造商品没有的功能;不生成虚假促销(不存在的活动、虚假折扣、虚假原价);不使用绝对化用语(最、第一、国家级);不改商品外形与颜色。
    
    ---
    
    ## 2、输入素材规则
    
    生成前先自检这几条硬性约束:
    
    - 大小:**20KB ~ 15MB**
    - 分辨率:**大于 400×400**
    - 格式:**jpg / jpeg / png / webp**
    
    **输入建议**
    
    | 做法 | 说明 |
    | --- | --- |
    | ✅ 白底或纯色底商品图 | 去底最干净 |
    | ✅ 文案精简 | 主图在列表页只有 200px 左右,长句根本看不见 |
    | ✅ 主标题 ≤10 字,小字 ≤12 字/行,角标 ≤8 字 | 缩略图可读性的经验值 |
    | ❌ 塞五条卖点 | 主图最多承载 1 个主标题 + 2 行小字 + 1 个角标 |
    | ❌ 未经核实的功效/促销 | 平台合规风险 |
    
    ---
    
    ## 3、主图版式的三个区
    
    把方图切成三个区,每个区只放一种信息:
    
    ```text
    ┌─────────────────────────┐
    │ ⓐ 角标区(左上/右上)      │  ← 营销利益点:「满300减30」
    │                         │
    │      ⓑ 商品区(中央偏左)  │  ← 商品去底 + 投影
    │                         │
    │              ⓒ 文案区(右侧)│  ← 功能点:主标题 + 2 行小字
    └─────────────────────────┘
    ```
    
    写进 prompt:
    
    ```text
    商品去底后放在画面中央偏左,下方带柔和投影。
    右侧竖排中文卖点文案:主标题大字「[≤10字]」,下方两行小字卖点「[≤12字]」「[≤12字]」。
    左上角一枚[形状]促销角标写「[≤8字]」。
    ```
    
    **缩略图检查**:把输出缩到 200×200 看一眼——主标题还认得出来吗?认不出就再缩短文案或加大字号层级。
    
    ---
    
    ## 4、类目 → 背景与配色
    
    | 类目 | 背景 | 文字色 | 角标色 |
    | --- | --- | --- | --- |
    | 服饰 | 米灰 / 燕麦色渐变 | 深灰 | 砖红 |
    | 箱包 / 鞋品 | 深灰到浅灰渐变 | 黑 | 正红 |
    | 婴童 / 宠物 | 奶油 / 浅粉 | 暖棕 | 珊瑚粉 |
    | 美妆 | 大理石 / 丝绒 | 黑金 | 酒红 |
    | 3C / 电器 | 深色科技渐变 | 白 | 荧光蓝 |
    | 家居 / 家具灯饰 | 实景房间浅景深 | 深棕 | 橄榄绿 |
    | 食品厨具 | 木质台面暖调 | 深棕 | 橙红 |
    | 珠宝饰品 | 深色绒布聚光 | 白金 | 深红 |
    
    ---
    
    ## 5、工具调用
    
    本技能使用 dLazy 的 **`seedream-5.0-pro`**(专业档图像模型,中文字形与版面控制最稳;主图上的文案必须一眼可读、零乱码,字形正确率是首要指标)。
    
    ### 调用方式
    
    两种等价写法,选一种。统一入口会自动选后端、失败重试、建目录落盘、估算成本:
    
    ```bash
    # A. 统一入口(推荐):可切任意后端,加 --dry-run 不计费空跑
    node scripts/gen.mjs --task item-selling-point \
      --prompt '<见下方 Prompt 模板>' \
      --images <按下表顺序> \
      --save output/item-selling-point-<sku>.jpg
    
    # B. 直接用 dLazy CLI(不想引入 Node 依赖时,效果等价)
    dlazy seedream-5.0-pro --prompt '...' --images ... --save output/item-selling-point.jpg
    ```
    
    **参数约定(本技能固定用法)**
    
    | 参数 | 取值 | 理由 |
    | --- | --- | --- |
    | `--images` | `[商品图]`;带版式参考时 `[商品图, 参考图]` | 顺序即 prompt 中的 图1 / 图2 |
    | `--size` | `1:1`(主图位标准方图)/ `3:4`(部分平台竖版主图) | 跟随平台主图规范 |
    | `--resolution` | `2k` | 主图通常 800~1200px |
    | `--batch` | `3` | 中文排版随机性,挑字形正确的 |
    | `--save` | `docs/item-selling-point/output-<sku>-<活动>.jpg` | 按活动归档,大促换角标只需重跑 |
    
    ### Command Examples
    
    ```bash
    # basic call
    dlazy seedream-5.0-pro \
      --prompt '电商正方形主图。主体是图1 商品,鞋型与材质必须与图1完全一致,去底后放在画面中央偏左,下方带柔和投影。背景深灰到浅灰渐变。右侧竖排中文卖点:主标题大字「真皮软底 通勤久站不累」,下方两行小字「牛皮鞋面 · 防滑厚底」「三防涂层 · 雨天不怕」。左上角红色圆形角标写「满300减30」。无衬线黑体,排版整齐,中文字清晰正确无乱码。' \
      --images docs/item-selling-point/product-shoes.jpg --size 1:1
    
    # complex call: 一个 SKU 铺多个大促角标版本(文案区不变,只换角标)
    SRC=docs/item-selling-point/product-shoes.jpg
    BODY='主体是图1 中的黑色亮面皮革布洛克德比鞋,鞋型、雕花孔、鞋带与厚底必须与图1完全一致,商品去底后放在画面中央偏左,下方带柔和投影。背景为深灰到浅灰渐变,右侧竖排中文卖点文案:主标题大字「真皮软底 通勤久站不累」,下方两行小字卖点「牛皮鞋面 · 防滑厚底」「三防涂层 · 雨天不怕」。'
    STYLE='无衬线黑体,字号层级分明,排版整齐,中文字清晰正确无乱码,商业电商主图设计。'
    for A in daily d11 newyear; do
      case $A in
        daily)   BADGE='左上角一枚红色圆形促销角标写「满300减30」' ;;
        d11)     BADGE='左上角一枚红色圆形促销角标写「双11 5折起」' ;;
        newyear) BADGE='左上角一枚红色圆形促销角标写「年货节 直降100」' ;;
      esac
      dlazy seedream-5.0-pro \
        --prompt "电商正方形主图。${BODY}${BADGE}。${STYLE}" \
        --images "$SRC" --size 1:1 --resolution 2k \
        --batch 3 --save "docs/item-selling-point/output-sku001-$A.jpg"
    done
    
    # 先估价不真跑
    dlazy seedream-5.0-pro --dry-run --prompt '...' --images a.jpg --size 1:1
    ```
    
    ### 延伸阅读
    
    | 要查什么 | 去哪 |
    | --- | --- |
    | 认证、多后端配置、输出结构、错误码 | [`references/provider-cli.md`](references/provider-cli.md) |
    | `seedream-5.0-pro` 的全部可用参数 | [`references/model-flags.md`](references/model-flags.md) |
    | 统一入口的全部选项 | `node scripts/gen.mjs --help` |
    
    ## 6、Prompt 模板
    
    ```text
    电商正方形主图。
    
    主体是图1 中的[商品品类 + 颜色 + 材质],[外形/工艺/结构]必须与图1完全一致,
    商品去底后放在画面中央偏左,下方带柔和投影。
    
    背景为[类目对应背景,见第四节]。
    
    右侧竖排中文卖点文案:
      主标题大字「[功能点主标题 ≤10 字]」,
      下方两行小字卖点「[≤12 字]」「[≤12 字]」。
    
    左上角一枚[形状]促销角标写「[营销利益点 ≤8 字]」。
    
    无衬线黑体,字号层级分明,排版整齐,中文字清晰正确无乱码,商业电商主图设计。
    ```
    
    **按问题追加的修正句**
    
    | 问题 | 追加到 prompt 末尾 |
    | --- | --- |
    | 中文乱码 | `所有中文必须是清晰可读的简体汉字,不得变形、缺笔或臆造字。` + 缩短文案 |
    | 缩略图看不清主标题 | `主标题字号必须至少为画面高度的 8%,与其他文字形成明显层级差。` |
    | 文字压在商品上 | `商品区与文字区不得重叠:商品占左侧 55%,文字占右侧 40%,中间留 5% 间距。` |
    | 商品被重绘 | `商品必须与图1完全一致,不得改变外形、颜色、材质或 logo。` |
    | 角标喧宾夺主 | `角标直径不超过画面宽度的 18%,不得遮挡商品主体。` |
    | 出现了没给的文案 | `画面中只能出现上述指定的中文,不得添加任何其他文字。` |
    
    ---
    
    ## 7、执行流程
    
    1. **拆文案**:功能点(进主标题/小字)和营销利益点(进角标)分开,别混。
    2. **压字数**:主标题 ≤10 字,小字 ≤12 字/行,角标 ≤8 字。
    3. **定类目 → 背景与配色**(第四节表格)。
    4. **按三个区写 prompt**(第三节),商品保真句必写。
    5. **`--batch 3`** 挑字形正确的一张,落盘到 `docs/item-selling-point/`。
    6. **缩到 200×200 检查可读性**——主图在列表页就是这个尺寸。
    7. **合规检查**:功能点是否有依据、促销是否真实存在、有无绝对化用语。
    8. **大促换角标**:文案区保持不变,只改角标那一句重跑(第四节循环)。
    
    ---
    
    ## 8、常见问题
    
    | 现象 | 原因 | 处理 |
    | --- | --- | --- |
    | 中文乱码 | 文案太长 / 缺约束 | 缩短文案 + 追加字形约束句 |
    | 缩略图看不清 | 主标题字号不够 | 追加主标题占画面高度 8% 句 |
    | 文字盖在商品上 | 未划分区域 | 追加区域占比句 |
    | 角标太大抢戏 | 未限制尺寸 | 追加角标直径 ≤18% 句 |
    | 出现了没给的文案 | 模型自行补文案 | 追加只允许指定中文句 |
    | 商品外形被改 | 未写保真句 | 追加商品保真句 |
    | 功能点和促销挤在一起 | 两类文案没分区 | 功能点进文案区,利益点只进角标 |
    
    ---
    
    ## Tips
    
    Visit https://dlazy.com for more information.
    

Comments (0)

Sign in to join the conversation.

No comments yet.

Reviews (0)

No reviews yet.

Related