Claude Skill

image-fusion

多单品融合成一整套 Look。最多 8 张单品图 → 同一模特身上的完整搭配商拍图,每件单品保真。当用户说「多件搭配」「融图」「组一套 look」「搭配图」「几件衣服合成一张」时使用。

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_image-fusion-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/image-fusion
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

image-fusion — 多单品自由搭配融图

一次给最多 8 张单品图,融合成同一个模特身上的一整套 Look。

和 flat-lay 的「多件上身」(只支持上装+下装两张)不同,本技能是任意品类的自由组合:毛衣 + 阔腿裤 + 帽子 + 项链 + 包 + 鞋,一次出一张完整搭配图。


生成效果示例

输入单品 1 输入单品 2 输入单品 3
item-sweater.jpg — 军绿麻花针织毛衣 item-hat.jpg — 彩色编织渔夫帽 item-necklace.jpg — 珍珠项链

实际执行的命令:

dlazy seedream-5.0 \
  --prompt '电商搭配商拍图。将参考图中的多件单品组合到同一个模特身上:图1 的军绿色麻花针织圆领毛衣作为上装,图2 的彩色编织渔夫帽戴在头上,图3 的珍珠项链戴在颈部。每件单品必须与参考图完全一致——颜色、织法纹理、图案、材质与细节都不能改。下装自动补一条米白色阔腿长裤,脚穿白色运动鞋。青年亚洲女模特,正面站姿,全身入画,纯浅灰色摄影棚背景,柔和顶光,真实照片质感,无文字无水印。' \
  --images docs/image-fusion/item-sweater.jpg docs/image-fusion/item-hat.jpg docs/image-fusion/item-necklace.jpg \
  --size 3:4 --resolution 2k \
  --save docs/image-fusion/example-output.jpg

输出

example-output.jpg — 3:4 / 2K,5 credits。三件单品同时到位,毛衣的麻花织法、渔夫帽的编织配色与项链的珠径都被保留;未提供的下装与鞋按 prompt 指定补齐。


1、能力边界

能力 说明
单品数量 最多 8 张
品类组合 上装 / 下装 / 外套 / 连衣裙 / 鞋 / 包 / 帽子 / 围巾 / 首饰 任意混搭
参考图(可选) 决定模特姿势、拍摄角度、景别、场景与光线
模特图(可选) 锁定人脸与身材,多套 Look 保持同一个模特
缺件自动补齐 只给上装时,下装与鞋由模型按风格自动搭配

不做:不改单品的颜色、图案、材质与版型;不做尺码推荐;不用于伪造他人肖像代言。


2、输入素材规则

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

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

本技能的素材约束比其他技能宽:

  • 数量:最多 8 张
  • 大小:20KB ~ 15MB
  • 分辨率:不超过 8192×8192
  • 格式:jpg / jpeg / png / heic / webp

输入建议

做法 说明
✅ 每张只放一件单品 一张图里混着上衣和裤子,模型会分不清该穿哪件
✅ 纯色/透明背景平铺图 干扰最少,颜色最准
✅ 按穿着顺序传图 上装 → 下装 → 外套 → 鞋 → 包 → 配饰,prompt 里的 image N 与之对应
❌ 同类目重复 传两件上衣,模型只会选一件或把它们混在一起
❌ 已经有人穿着的图 会把原模特的身体一起带进来

3、单品清单 → prompt 映射

融图的关键是逐件点名:每张图对应一个明确的穿着位置,不点名的单品会被忽略。

图1 → 上装:军绿色麻花针织圆领毛衣(作为上装穿在身上)
图2 → 帽子:彩色编织渔夫帽(戴在头上)
图3 → 项链:珍珠项链(戴在颈部)
未提供 → 下装:自动补米白色阔腿长裤
未提供 → 鞋:自动补白色运动鞋

写成 prompt:

将参考图中的多件单品组合到同一个模特身上:
图1 的<单品描述>作为上装,图2 的<单品描述>戴在头上,图3 的<单品描述>戴在颈部。
每件单品必须与参考图完全一致——颜色、织法纹理、图案、材质与细节都不能改。
下装自动补一条<描述>,脚穿<描述>。

层次冲突要显式排序:同时给外套和上装时写 图2 的外套敞开穿在图1 的上装外面,露出内搭,否则模型会二选一。


4、统一整组视觉

一个店铺往往要出十几套 Look,视觉必须统一,否则详情页看起来像拼凑的。固定这四项:

要固定的 写法
模特 传同一张模特图,或 prompt 里固定 青年亚洲女模特,鹅蛋脸,中长黑直发
姿势与景别 传同一张参考图,或固定 正面站姿,全身入画
背景与光线 固定 纯浅灰色摄影棚背景,柔和顶光
构图留白 固定 人物居中,头顶留白约画面高度 8%

只换单品清单,其余 prompt 一字不改——这样出来的整组图才是一套。


5、工具调用

本技能使用 dLazy 的 seedream-5.0(支持最多 10 张参考图 + 2K/3K/4K 输出,多单品约束场景下性价比最高:单张 5 credits,适合一个店铺跑几十套 Look)。

调用方式

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

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

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

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

参数 取值 理由
--images [单品1, 单品2, …, (参考图), (模特图)],最多 10 张 顺序即 prompt 中的 图1 / 图2 / …
--size 3:4(全身 Look 主图);1:1(方图主图) 电商竖版为主
--resolution 2k 日常;3k/4k 印刷或大图详情 2K 已够上架
--batch 2 ~ 4 多单品组合随机性大,多出几张挑图
--save docs/image-fusion/output-look<N>.jpg 直接落盘

Command Examples

# basic call: 三件单品融合
dlazy seedream-5.0 \
  --prompt '电商搭配商拍图。将参考图中的多件单品组合到同一个模特身上:图1 的毛衣作为上装,图2 的帽子戴在头上,图3 的项链戴在颈部。每件单品必须与参考图完全一致——颜色、织法纹理、图案、材质与细节都不能改。青年亚洲女模特,正面站姿,全身入画,纯浅灰色摄影棚背景,柔和顶光,真实照片质感,无文字无水印。' \
  --images docs/image-fusion/item-sweater.jpg docs/image-fusion/item-hat.jpg docs/image-fusion/item-necklace.jpg \
  --size 3:4 --resolution 2k

# complex call: 6 件单品 + 姿势参考图 + 固定模特 + 出 4 张挑图
dlazy seedream-5.0 \
  --prompt '电商搭配商拍图。图1 的上装、图2 的下装、图3 敞开外穿的外套、图4 的鞋、图5 的手提包(左手提)、图6 的帽子,全部穿戴到同一个模特身上,外套敞开露出图1 的内搭。每件单品与参考图完全一致,颜色、图案、材质与版型不能改。图7 是姿势与场景参考,图8 是模特脸,人脸与身材沿用图8。真实照片质感,无文字无水印。' \
  --images docs/image-fusion/top.jpg docs/image-fusion/bottom.jpg docs/image-fusion/coat.jpg docs/image-fusion/shoes.jpg docs/image-fusion/bag.jpg docs/image-fusion/item-hat.jpg docs/image-fusion/pose.jpg docs/image-fusion/model-face.jpg \
  --size 3:4 --resolution 3k \
  --batch 4 --save docs/image-fusion/output-look01.jpg

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

延伸阅读

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

6、Prompt 模板

电商搭配商拍图。将参考图中的多件单品组合到同一个模特身上:
图1 的[单品描述]作为[穿着位置],
图2 的[单品描述][穿着位置],
图3 的[单品描述][穿着位置]。
[层次关系,例:图3 的外套敞开穿在图1 的上装外面,露出内搭。]

每件单品必须与参考图完全一致——颜色、织法纹理、图案、材质与细节都不能改。
[缺件补齐,例:下装自动补一条米白色阔腿长裤,脚穿白色运动鞋。]

[模特描述],[姿势与景别],[背景],[光线],真实照片质感,无文字无水印。

按问题追加的修正句

问题 追加到 prompt 末尾
某件单品被漏掉 务必同时出现全部 N 件单品:<逐件重述一遍>,缺一件视为失败。
两件单品混色了 图1 与图2 是两件独立单品,颜色不得互相污染:图1 保持<色>,图2 保持<色>。
层次穿错 穿着层次由内到外为:图1 → 图3;图3 必须敞开且能看到图1 的领口与前襟。
图案位置漂移 图案定位:<单品>的<图案>位于<位置>,尺寸约<描述>,不得移动或重复。
整组视觉不统一 保持第四节四项固定描述逐字不变,只替换单品清单

7、执行流程

  1. 拆清单:列出这套 Look 的每一件单品,去掉同类目重复项,确认不超过 8 件。
  2. 排序传图:按上装 → 下装 → 外套 → 鞋 → 包 → 配饰的顺序,prompt 里的 图N 与 --images 顺序严格对应。
  3. 点名每一件:一件一句,写清穿着位置;有层次关系的显式排序。
  4. 补齐缺件:没给下装/鞋就在 prompt 里指定,别让模型自由发挥。
  5. 固定整组视觉(第四节四项),多套 Look 之间只换单品清单。
  6. --dry-run 估价 → 真跑 → --batch 2~4 挑图,落盘到 docs/image-fusion/。
  7. 质检:件数是否齐、颜色是否串、层次是否对、图案位置是否漂移。

8、常见问题

现象 原因 处理
少穿了一件 单品数量多、prompt 没逐件点名 逐件点名,并追加「缺一件视为失败」句
帽子和头发穿模 缺少交互描述 追加 头发从帽檐下自然垂落,帽子与头顶贴合无缝隙
两件单品颜色互串 色彩相近 追加「颜色不得互相污染」句,写死每件的色名
外套把内搭全挡住 未写层次 追加层次排序句,要求露出内搭领口与前襟
整组图风格不统一 每次 prompt 都改了背景/光线 固定第四节四项描述逐字不变
单品数量超过 8 超出能力 拆成两套 Look,或先用 image-fusion 出主体、再用 wear-everything 单独加配饰

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` 参数清单
      
      本技能默认用的模型的完整参数。日常只需要「参数约定」里那几个,
      这份清单在需要用到非常规参数时再看。
      
      **CRITICAL INSTRUCTION FOR AGENT**:
      Run the `dlazy seedream-5.0` command to get results.
      
      ```bash
      dlazy seedream-5.0 -h
      
      Options:
        --prompt <prompt>          Prompt
        --images [images...]       Images [image: url or local path] (max 10)
        --resolution <resolution>  Resolution [default: 2k] (choices: "2k", "3k",
                                   "4k")
        --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: image-fusion
    description: 多单品融合成一整套 Look。最多 8 张单品图 → 同一模特身上的完整搭配商拍图,每件单品保真。当用户说「多件搭配」「融图」「组一套 look」「搭配图」「几件衣服合成一张」时使用。
    ---
    
    # image-fusion — 多单品自由搭配融图
    
    一次给**最多 8 张单品图**,融合成同一个模特身上的**一整套 Look**。
    
    和 [flat-lay](../flat-lay/skill.md) 的「多件上身」(只支持上装+下装两张)不同,本技能是**任意品类的自由组合**:毛衣 + 阔腿裤 + 帽子 + 项链 + 包 + 鞋,一次出一张完整搭配图。
    
    ---
    
    ## 生成效果示例
    
    | 输入单品 1 | 输入单品 2 | 输入单品 3 |
    | --- | --- | --- |
    | <img src="../../docs/image-fusion/item-sweater.jpg" width="200"> | <img src="../../docs/image-fusion/item-hat.jpg" width="200"> | <img src="../../docs/image-fusion/item-necklace.jpg" width="200"> |
    | `item-sweater.jpg` — 军绿麻花针织毛衣 | `item-hat.jpg` — 彩色编织渔夫帽 | `item-necklace.jpg` — 珍珠项链 |
    
    实际执行的命令:
    
    ```bash
    dlazy seedream-5.0 \
      --prompt '电商搭配商拍图。将参考图中的多件单品组合到同一个模特身上:图1 的军绿色麻花针织圆领毛衣作为上装,图2 的彩色编织渔夫帽戴在头上,图3 的珍珠项链戴在颈部。每件单品必须与参考图完全一致——颜色、织法纹理、图案、材质与细节都不能改。下装自动补一条米白色阔腿长裤,脚穿白色运动鞋。青年亚洲女模特,正面站姿,全身入画,纯浅灰色摄影棚背景,柔和顶光,真实照片质感,无文字无水印。' \
      --images docs/image-fusion/item-sweater.jpg docs/image-fusion/item-hat.jpg docs/image-fusion/item-necklace.jpg \
      --size 3:4 --resolution 2k \
      --save docs/image-fusion/example-output.jpg
    ```
    
    **输出**
    
    <img src="../../docs/image-fusion/example-output.jpg" width="320">
    
    `example-output.jpg` — 3:4 / 2K,5 credits。三件单品同时到位,毛衣的麻花织法、渔夫帽的编织配色与项链的珠径都被保留;未提供的下装与鞋按 prompt 指定补齐。
    
    ---
    
    ## 1、能力边界
    
    | 能力 | 说明 |
    | --- | --- |
    | 单品数量 | 最多 **8 张** |
    | 品类组合 | 上装 / 下装 / 外套 / 连衣裙 / 鞋 / 包 / 帽子 / 围巾 / 首饰 任意混搭 |
    | 参考图(可选) | 决定模特姿势、拍摄角度、景别、场景与光线 |
    | 模特图(可选) | 锁定人脸与身材,多套 Look 保持同一个模特 |
    | 缺件自动补齐 | 只给上装时,下装与鞋由模型按风格自动搭配 |
    
    **不做**:不改单品的颜色、图案、材质与版型;不做尺码推荐;不用于伪造他人肖像代言。
    
    ---
    
    ## 2、输入素材规则
    
    生成前先自检这几条硬性约束:
    
    - 大小:**20KB ~ 15MB**
    - 分辨率:**大于 400×400**
    - 格式:**jpg / jpeg / png / webp**
    
    本技能的素材约束比其他技能宽:
    
    - 数量:**最多 8 张**
    - 大小:**20KB ~ 15MB**
    - 分辨率:**不超过 8192×8192**
    - 格式:**jpg / jpeg / png / heic / webp**
    
    **输入建议**
    
    | 做法 | 说明 |
    | --- | --- |
    | ✅ 每张只放一件单品 | 一张图里混着上衣和裤子,模型会分不清该穿哪件 |
    | ✅ 纯色/透明背景平铺图 | 干扰最少,颜色最准 |
    | ✅ 按穿着顺序传图 | 上装 → 下装 → 外套 → 鞋 → 包 → 配饰,prompt 里的 image N 与之对应 |
    | ❌ 同类目重复 | 传两件上衣,模型只会选一件或把它们混在一起 |
    | ❌ 已经有人穿着的图 | 会把原模特的身体一起带进来 |
    
    ---
    
    ## 3、单品清单 → prompt 映射
    
    融图的关键是**逐件点名**:每张图对应一个明确的穿着位置,不点名的单品会被忽略。
    
    ```text
    图1 → 上装:军绿色麻花针织圆领毛衣(作为上装穿在身上)
    图2 → 帽子:彩色编织渔夫帽(戴在头上)
    图3 → 项链:珍珠项链(戴在颈部)
    未提供 → 下装:自动补米白色阔腿长裤
    未提供 → 鞋:自动补白色运动鞋
    ```
    
    写成 prompt:
    
    ```text
    将参考图中的多件单品组合到同一个模特身上:
    图1 的<单品描述>作为上装,图2 的<单品描述>戴在头上,图3 的<单品描述>戴在颈部。
    每件单品必须与参考图完全一致——颜色、织法纹理、图案、材质与细节都不能改。
    下装自动补一条<描述>,脚穿<描述>。
    ```
    
    **层次冲突要显式排序**:同时给外套和上装时写 `图2 的外套敞开穿在图1 的上装外面,露出内搭`,否则模型会二选一。
    
    ---
    
    ## 4、统一整组视觉
    
    一个店铺往往要出十几套 Look,视觉必须统一,否则详情页看起来像拼凑的。固定这四项:
    
    | 要固定的 | 写法 |
    | --- | --- |
    | 模特 | 传同一张模特图,或 prompt 里固定 `青年亚洲女模特,鹅蛋脸,中长黑直发` |
    | 姿势与景别 | 传同一张参考图,或固定 `正面站姿,全身入画` |
    | 背景与光线 | 固定 `纯浅灰色摄影棚背景,柔和顶光` |
    | 构图留白 | 固定 `人物居中,头顶留白约画面高度 8%` |
    
    只换单品清单,其余 prompt 一字不改——这样出来的整组图才是一套。
    
    ---
    
    ## 5、工具调用
    
    本技能使用 dLazy 的 **`seedream-5.0`**(支持最多 10 张参考图 + 2K/3K/4K 输出,多单品约束场景下性价比最高:单张 5 credits,适合一个店铺跑几十套 Look)。
    
    ### 调用方式
    
    两种等价写法,选一种。统一入口会自动选后端、失败重试、建目录落盘、估算成本:
    
    ```bash
    # A. 统一入口(推荐):可切任意后端,加 --dry-run 不计费空跑
    node scripts/gen.mjs --task image-fusion \
      --prompt '<见下方 Prompt 模板>' \
      --images <按下表顺序> \
      --save output/image-fusion-<sku>.jpg
    
    # B. 直接用 dLazy CLI(不想引入 Node 依赖时,效果等价)
    dlazy seedream-5.0 --prompt '...' --images ... --save output/image-fusion.jpg
    ```
    
    **参数约定(本技能固定用法)**
    
    | 参数 | 取值 | 理由 |
    | --- | --- | --- |
    | `--images` | `[单品1, 单品2, …, (参考图), (模特图)]`,最多 10 张 | 顺序即 prompt 中的 图1 / 图2 / … |
    | `--size` | `3:4`(全身 Look 主图);`1:1`(方图主图) | 电商竖版为主 |
    | `--resolution` | `2k` 日常;`3k`/`4k` 印刷或大图详情 | 2K 已够上架 |
    | `--batch` | `2` ~ `4` | 多单品组合随机性大,多出几张挑图 |
    | `--save` | `docs/image-fusion/output-look<N>.jpg` | 直接落盘 |
    
    ### Command Examples
    
    ```bash
    # basic call: 三件单品融合
    dlazy seedream-5.0 \
      --prompt '电商搭配商拍图。将参考图中的多件单品组合到同一个模特身上:图1 的毛衣作为上装,图2 的帽子戴在头上,图3 的项链戴在颈部。每件单品必须与参考图完全一致——颜色、织法纹理、图案、材质与细节都不能改。青年亚洲女模特,正面站姿,全身入画,纯浅灰色摄影棚背景,柔和顶光,真实照片质感,无文字无水印。' \
      --images docs/image-fusion/item-sweater.jpg docs/image-fusion/item-hat.jpg docs/image-fusion/item-necklace.jpg \
      --size 3:4 --resolution 2k
    
    # complex call: 6 件单品 + 姿势参考图 + 固定模特 + 出 4 张挑图
    dlazy seedream-5.0 \
      --prompt '电商搭配商拍图。图1 的上装、图2 的下装、图3 敞开外穿的外套、图4 的鞋、图5 的手提包(左手提)、图6 的帽子,全部穿戴到同一个模特身上,外套敞开露出图1 的内搭。每件单品与参考图完全一致,颜色、图案、材质与版型不能改。图7 是姿势与场景参考,图8 是模特脸,人脸与身材沿用图8。真实照片质感,无文字无水印。' \
      --images docs/image-fusion/top.jpg docs/image-fusion/bottom.jpg docs/image-fusion/coat.jpg docs/image-fusion/shoes.jpg docs/image-fusion/bag.jpg docs/image-fusion/item-hat.jpg docs/image-fusion/pose.jpg docs/image-fusion/model-face.jpg \
      --size 3:4 --resolution 3k \
      --batch 4 --save docs/image-fusion/output-look01.jpg
    
    # 先估价不真跑
    dlazy seedream-5.0 --dry-run --prompt '...' --images a.jpg b.jpg --size 3:4
    ```
    
    ### 延伸阅读
    
    | 要查什么 | 去哪 |
    | --- | --- |
    | 认证、多后端配置、输出结构、错误码 | [`references/provider-cli.md`](references/provider-cli.md) |
    | `seedream-5.0` 的全部可用参数 | [`references/model-flags.md`](references/model-flags.md) |
    | 统一入口的全部选项 | `node scripts/gen.mjs --help` |
    
    ## 6、Prompt 模板
    
    ```text
    电商搭配商拍图。将参考图中的多件单品组合到同一个模特身上:
    图1 的[单品描述]作为[穿着位置],
    图2 的[单品描述][穿着位置],
    图3 的[单品描述][穿着位置]。
    [层次关系,例:图3 的外套敞开穿在图1 的上装外面,露出内搭。]
    
    每件单品必须与参考图完全一致——颜色、织法纹理、图案、材质与细节都不能改。
    [缺件补齐,例:下装自动补一条米白色阔腿长裤,脚穿白色运动鞋。]
    
    [模特描述],[姿势与景别],[背景],[光线],真实照片质感,无文字无水印。
    ```
    
    **按问题追加的修正句**
    
    | 问题 | 追加到 prompt 末尾 |
    | --- | --- |
    | 某件单品被漏掉 | `务必同时出现全部 N 件单品:<逐件重述一遍>,缺一件视为失败。` |
    | 两件单品混色了 | `图1 与图2 是两件独立单品,颜色不得互相污染:图1 保持<色>,图2 保持<色>。` |
    | 层次穿错 | `穿着层次由内到外为:图1 → 图3;图3 必须敞开且能看到图1 的领口与前襟。` |
    | 图案位置漂移 | `图案定位:<单品>的<图案>位于<位置>,尺寸约<描述>,不得移动或重复。` |
    | 整组视觉不统一 | 保持第四节四项固定描述**逐字不变**,只替换单品清单 |
    
    ---
    
    ## 7、执行流程
    
    1. **拆清单**:列出这套 Look 的每一件单品,去掉同类目重复项,确认不超过 8 件。
    2. **排序传图**:按上装 → 下装 → 外套 → 鞋 → 包 → 配饰的顺序,prompt 里的 图N 与 `--images` 顺序严格对应。
    3. **点名每一件**:一件一句,写清穿着位置;有层次关系的显式排序。
    4. **补齐缺件**:没给下装/鞋就在 prompt 里指定,别让模型自由发挥。
    5. **固定整组视觉**(第四节四项),多套 Look 之间只换单品清单。
    6. **`--dry-run` 估价** → 真跑 → `--batch 2~4` 挑图,落盘到 `docs/image-fusion/`。
    7. **质检**:件数是否齐、颜色是否串、层次是否对、图案位置是否漂移。
    
    ---
    
    ## 8、常见问题
    
    | 现象 | 原因 | 处理 |
    | --- | --- | --- |
    | 少穿了一件 | 单品数量多、prompt 没逐件点名 | 逐件点名,并追加「缺一件视为失败」句 |
    | 帽子和头发穿模 | 缺少交互描述 | 追加 `头发从帽檐下自然垂落,帽子与头顶贴合无缝隙` |
    | 两件单品颜色互串 | 色彩相近 | 追加「颜色不得互相污染」句,写死每件的色名 |
    | 外套把内搭全挡住 | 未写层次 | 追加层次排序句,要求露出内搭领口与前襟 |
    | 整组图风格不统一 | 每次 prompt 都改了背景/光线 | 固定第四节四项描述逐字不变 |
    | 单品数量超过 8 | 超出能力 | 拆成两套 Look,或先用 [image-fusion](./skill.md) 出主体、再用 [wear-everything](../wear-everything/skill.md) 单独加配饰 |
    
    ---
    
    ## 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