flat-lay
服装平铺图一键上身试穿。服装平铺图 + 姿势参考图 → 模特上身商拍图,款式、颜色、织法、版型保持不变。当用户说「平铺图转模特图」「衣服上身」「虚拟试穿」「AI 试衣」「让模特穿上」时使用。
Install
npx skills add https://github.com/dlazy-ai/ecommerce-skills/tree/main/skills/flat-lay
claude plugin marketplace add https://llmmart.ai/marketplace.json && claude plugin install dlazy-ai-ecommerce-skills@llmmart
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
flat-lay — 服装图一键上身试穿
把一张服装平铺图变成模特上身商拍图,不用约模特、不用租场地、不用摄影棚。
本技能用 dLazy 的 gpt-image-2 实现:以「服装图 + 参考图」双图参考做图像编辑合成,服装保真、姿势场景照抄参考图。
生成效果示例
| 输入:服装平铺图 | 输入:参考图 |
|---|---|
![]() |
![]() |
garment-flatlay.jpg — 军绿色麻花针织圆领毛衣,800×800 |
pose-reference.jpg — 男青年正面站姿、浅灰墙棚拍,768×1024 |
实际执行的命令:
dlazy gpt-image-2 \
--prompt 'E-commerce on-model product photography. Image 1 is the garment flat-lay: an olive-green cable-knit crewneck sweater. Image 2 is the pose/scene reference. Dress the model from image 2 in the garment from image 1, replacing the grey T-shirt. Keep the garment 100% faithful: identical olive-green color, cable-knit and diamond texture, oversized drop-shoulder fit, ribbed collar and cuffs, and the small woven label on the right cuff. Reproduce the reference exactly for pose, camera angle, crop, body proportions, lighting and the plain light-grey studio wall background. Photorealistic full-frame catalog shot, sharp fabric detail, natural soft light, no text or watermark.' \
--images docs/flat-lay/garment-flatlay.jpg docs/flat-lay/pose-reference.jpg \
--size 1024x1536 --quality high --imageFormat jpeg \
--save docs/flat-lay/example-output.jpg
输出
example-output.jpg — 1024×1536,60 credits,约 60s。
麻花织法、菱形提花、落肩版型、袖口罗纹与右袖织标均被保留;姿势、景别、光线与浅灰背景照抄参考图。
一、能力边界
| 能力 | 说明 |
|---|---|
| 单件上身 | 上传 1 张单件衣服(上装 / 连衣裙 / 连体衣)平铺图或真人上身图 |
| 多件上身 | 分别上传「上装图」+「下装图」,合成为同一个模特身上的一整套 Look |
| 参考图 | 决定模特姿势、拍摄角度、景别、场景与光线;可用素材库,也可用自有商拍图 |
| 指定模特 | 可选。锁定同一张脸,保证同店铺多 SKU 视觉统一;不指定则由参考图中的模特形象决定 |
| 生成策略 | 通用 / 颜色饱和度优化 / 材质增强 / 崩坏问题优化 / 精准选区 |
不做:不改款式、不改颜色、不改印花、不修改吊牌文字;不用于伪造他人肖像的商业代言。
二、输入素材规则
生成前先自检这几条硬性约束:
- 大小:20KB ~ 15MB
- 分辨率:大于 400×400
- 格式:jpg / jpeg / png / webp
推荐的输入类型(✅)
| 类型 | 说明 |
|---|---|
| 上装平铺图 | 纯色背景、平铺展开、完整可见 |
| 连体衣 / 连衣裙平铺图 | 单件整体 |
| 真人上身图 | 已有的真人商拍图,用于换姿势换场景 |
会明显拉低效果的输入(❌)
| 问题 | 说明 |
|---|---|
| 商品被遮挡 | 模特手臂、包袋、道具压住衣服主体 |
| 套装商品 | 一张图里上装+下装+鞋子,单件上身识别不了 → 请改用「多件上身」并拆成两张 |
| 商品不清晰 | 模糊、过曝、低分辨率、强色偏 |
三、参考图与模特的选择维度
参考图(决定姿势与场景,是出图风格的主导变量)
- 维度:
单图 / 套图 - 类目:
女装 / 男装 / 童装(多选) - 地区:
国内 / 海外(多选) - 类型:
电商 / 种草(多选) - 筛选:性别
男 / 女;年龄婴儿 / 小童 / 大童 / 青少年 / 青年人 / 中年人 / 老年人;肤色欧美人 / 非洲人 / 亚洲人 / 其他肤色 - 也可直接用自有参考图(支持批量),或按图搜同类姿势
模特(可选,锁定人脸)
- 维度:性别 / 年龄 / 肤色 / 身材,或随机指定
- 指定模特会增加约 1 分钟生成时间
选择建议:
- 想要款式还原优先 → 参考图选正面站姿、纯色背景、景别与商品一致(上装选半身,连衣裙选全身)。
- 想要氛围种草优先 → 参考图选带场景的街拍 / 室内生活场景,接受轻微版型偏差。
- 多 SKU 批量 → 固定同一张参考图 + 同一个模特,只换服装图。
四、工具调用
本技能使用 dLazy 的 gpt-image-2(多图参考的图像编辑合成模型,最多 5 张参考图,支持 1024×1536 竖版商拍比例)。
调用方式
两种等价写法,选一种。统一入口会自动选后端、失败重试、建目录落盘、估算成本:
# A. 统一入口(推荐):可切任意后端,加 --dry-run 不计费空跑
node scripts/gen.mjs --task flat-lay \
--prompt '<见下方 Prompt 模板>' \
--images <按下表顺序> \
--save output/flat-lay-<sku>.jpg
# B. 直接用 dLazy CLI(不想引入 Node 依赖时,效果等价)
dlazy gpt-image-2 --prompt '...' --images ... --save output/flat-lay.jpg
参数约定(本技能固定用法)
| 参数 | 取值 | 理由 |
|---|---|---|
--images |
[服装图, 参考图](多件上身时 [上装图, 下装图, 参考图]) |
顺序即 prompt 中的 image 1 / 2 / 3 |
--size |
1024x1536(竖版 3:4,商拍主图);平铺细节图用 1024x1024 |
电商主图默认竖版 |
--quality |
high |
面料纹理与针织结构需要高质量档位 |
--imageFormat |
jpeg |
电商上架通用格式 |
--batch |
2 ~ 4 |
一次多出几张挑图 |
--save |
docs/flat-lay/output-<sku>.jpg |
直接落盘,省一步下载 |
Command Examples
# basic call: 单件上身(服装图 + 参考图)
dlazy gpt-image-2 \
--prompt 'On-model e-commerce photo. Image 1 is the garment flat-lay, image 2 is the pose/scene reference. Dress the model from image 2 in the garment from image 1. Keep the garment identical in color, texture, print and fit. Copy the reference pose, camera angle, crop, lighting and background.' \
--images docs/flat-lay/garment-flatlay.jpg docs/flat-lay/pose-reference.jpg \
--size 1024x1536 --quality high
# complex call: 多件上身 + 指定模特 + 一次出 4 张挑图 + 直接落盘
dlazy gpt-image-2 \
--prompt 'Full-look on-model e-commerce photo. Image 1 is the top flat-lay, image 2 is the bottom flat-lay, image 3 is the pose/scene reference, image 4 is the fixed model face. Dress the model in the top from image 1 and the bottom from image 2. Preserve both garments exactly: color, knit/weave texture, print placement, hem and cuff details. Reproduce image 3 for pose, camera angle, crop, lighting and background. Keep the face and body type from image 4 unchanged. Photorealistic catalog shot, no text, no watermark.' \
--images docs/flat-lay/top.jpg docs/flat-lay/bottom.jpg docs/flat-lay/pose-reference.jpg docs/flat-lay/model-face.jpg \
--size 1024x1536 --quality high --imageFormat jpeg \
--batch 4 --save docs/flat-lay/output-sku001.jpg
# 先估价不真跑
dlazy gpt-image-2 --dry-run --prompt '...' --images a.jpg b.jpg --size 1024x1536
延伸阅读
| 要查什么 | 去哪 |
|---|---|
| 认证、多后端配置、输出结构、错误码 | references/provider-cli.md |
gpt-image-2 的全部可用参数 |
references/model-flags.md |
| 统一入口的全部选项 | node scripts/gen.mjs --help |
五、Prompt 模板
把中括号内容替换后填入 --prompt。英文 prompt 对服装保真更稳定。
E-commerce on-model product photography.
Image 1 is the garment flat-lay: [品类 + 颜色 + 面料,例:an olive-green cable-knit crewneck sweater].
Image 2 is the pose/scene reference.
Dress the model from image 2 in the garment from image 1, replacing the garment they are currently wearing.
Keep the garment 100% faithful: identical [颜色], [面料/织法纹理], [版型,例:oversized drop-shoulder fit],
[领口/袖口/下摆细节], and [印花/logo/吊牌位置].
Reproduce the reference exactly for pose, camera angle, crop, body proportions, lighting and background.
Photorealistic full-frame catalog shot, sharp fabric detail, natural soft light, no text or watermark.
按生成策略追加的句子
| 策略 | 追加到 prompt 末尾 |
|---|---|
| 通用(默认) | 不加 |
| 颜色饱和度优化 | Match the garment color to image 1 exactly — same hue, saturation and brightness; do not boost or wash out the color. |
| 材质增强 | Emphasize fabric micro-texture: visible knit loops / weave grain / pile direction, realistic fiber sheen and soft shadow in the folds. |
| 崩坏问题优化 | Anatomy must be correct: five fingers per hand, symmetric shoulders, no extra limbs, no melted collar or warped sleeve seams. |
| 精准选区 | Change only the garment region. Keep the face, hair, hands, lower body, accessories and background pixel-identical to image 2. |
六、执行流程
- 校验输入:尺寸 / 分辨率 / 格式,剔除遮挡、套装、模糊图(见第二节)。
- 判断模式:单件 → 1 张服装图;整套 → 上装图 + 下装图分开传。
- 准备参考图:选一张商拍图,维度对齐目标人群(性别/年龄/肤色/类目/国内海外/电商种草)。
- 可选固定模特:批量场景务必固定,保证多 SKU 同一张脸。
- 写 prompt:用第五节模板,把服装的颜色、织法、版型、细节写具体——写得越具体,还原度越高。
--dry-run估价,确认 credits 后去掉该参数真跑。--batch 2~4出多张挑图,落盘到docs/flat-lay/。- 质检:颜色是否偏、纹理是否糊、印花位置是否移动、手指与领口是否崩坏。不合格 → 按第五节表格追加对应策略句子重跑。
七、常见问题
| 现象 | 原因 | 处理 |
|---|---|---|
| 颜色偏了 | 平铺图有色偏 / 模型自行调色 | 追加「颜色饱和度优化」句;prompt 里写死具体色名 |
| 纹理糊成一片 | --quality medium,或平铺图分辨率低 |
改 --quality high;换更清晰的平铺图 |
| 印花 / logo 位置移动 | prompt 未描述位置 | 明确写 logo centered on left chest, 8cm wide 之类 |
| 手指、领口崩坏 | 生成随机性 | 追加「崩坏问题优化」句 + --batch 4 挑图 |
| 背景 / 人脸被改动 | 模型重绘了整图 | 追加「精准选区」句 |
| 只上传套装图,识别不了单件 | 输入违规 | 拆成上装图 + 下装图,走多件上身 |
| 版型明显不对(宽松变紧身) | 参考图景别与品类不匹配 | 上装选半身参考图,连衣裙选全身参考图 |
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 2.1 KB
# `gpt-image-2` 参数清单 本技能默认用的模型的完整参数。日常只需要「参数约定」里那几个, 这份清单在需要用到非常规参数时再看。 **CRITICAL INSTRUCTION FOR AGENT**: Run the `dlazy gpt-image-2` command to get results. ```bash dlazy gpt-image-2 -h Options: --prompt <prompt> Prompt --images [images...] Images [image: url or local path] (max 5) --size <size> Size [default: auto] (choices: "1024x1024", "1536x1024", "1024x1536", "2048x2048", "2048x1152", "3840x2160", "2160x3840", "auto") --imageFormat <imageFormat> Image Format [default: jpeg] (choices: "jpeg", "png", "webp") --quality <quality> Quality [default: medium] (choices: "low", "medium", "high") --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.1 KB
--- name: flat-lay description: 服装平铺图一键上身试穿。服装平铺图 + 姿势参考图 → 模特上身商拍图,款式、颜色、织法、版型保持不变。当用户说「平铺图转模特图」「衣服上身」「虚拟试穿」「AI 试衣」「让模特穿上」时使用。 --- # flat-lay — 服装图一键上身试穿 把一张**服装平铺图**变成**模特上身商拍图**,不用约模特、不用租场地、不用摄影棚。 本技能用 dLazy 的 `gpt-image-2` 实现:以「服装图 + 参考图」双图参考做图像编辑合成,服装保真、姿势场景照抄参考图。 --- ## 生成效果示例 | 输入:服装平铺图 | 输入:参考图 | | --- | --- | | <img src="../../docs/flat-lay/garment-flatlay.jpg" width="300"> | <img src="../../docs/flat-lay/pose-reference.jpg" width="300"> | | `garment-flatlay.jpg` — 军绿色麻花针织圆领毛衣,800×800 | `pose-reference.jpg` — 男青年正面站姿、浅灰墙棚拍,768×1024 | 实际执行的命令: ```bash dlazy gpt-image-2 \ --prompt 'E-commerce on-model product photography. Image 1 is the garment flat-lay: an olive-green cable-knit crewneck sweater. Image 2 is the pose/scene reference. Dress the model from image 2 in the garment from image 1, replacing the grey T-shirt. Keep the garment 100% faithful: identical olive-green color, cable-knit and diamond texture, oversized drop-shoulder fit, ribbed collar and cuffs, and the small woven label on the right cuff. Reproduce the reference exactly for pose, camera angle, crop, body proportions, lighting and the plain light-grey studio wall background. Photorealistic full-frame catalog shot, sharp fabric detail, natural soft light, no text or watermark.' \ --images docs/flat-lay/garment-flatlay.jpg docs/flat-lay/pose-reference.jpg \ --size 1024x1536 --quality high --imageFormat jpeg \ --save docs/flat-lay/example-output.jpg ``` **输出** <img src="../../docs/flat-lay/example-output.jpg" width="320"> `example-output.jpg` — 1024×1536,60 credits,约 60s。 麻花织法、菱形提花、落肩版型、袖口罗纹与右袖织标均被保留;姿势、景别、光线与浅灰背景照抄参考图。 --- ## 一、能力边界 | 能力 | 说明 | | --- | --- | | 单件上身 | 上传 1 张单件衣服(上装 / 连衣裙 / 连体衣)平铺图或真人上身图 | | 多件上身 | 分别上传「上装图」+「下装图」,合成为同一个模特身上的一整套 Look | | 参考图 | 决定模特姿势、拍摄角度、景别、场景与光线;可用素材库,也可用自有商拍图 | | 指定模特 | 可选。锁定同一张脸,保证同店铺多 SKU 视觉统一;不指定则由参考图中的模特形象决定 | | 生成策略 | 通用 / 颜色饱和度优化 / 材质增强 / 崩坏问题优化 / 精准选区 | **不做**:不改款式、不改颜色、不改印花、不修改吊牌文字;不用于伪造他人肖像的商业代言。 --- ## 二、输入素材规则 生成前先自检这几条硬性约束: - 大小:**20KB ~ 15MB** - 分辨率:**大于 400×400** - 格式:**jpg / jpeg / png / webp** **推荐的输入类型(✅)** | 类型 | 说明 | | --- | --- | | 上装平铺图 | 纯色背景、平铺展开、完整可见 | | 连体衣 / 连衣裙平铺图 | 单件整体 | | 真人上身图 | 已有的真人商拍图,用于换姿势换场景 | **会明显拉低效果的输入(❌)** | 问题 | 说明 | | --- | --- | | 商品被遮挡 | 模特手臂、包袋、道具压住衣服主体 | | 套装商品 | 一张图里上装+下装+鞋子,单件上身识别不了 → 请改用「多件上身」并拆成两张 | | 商品不清晰 | 模糊、过曝、低分辨率、强色偏 | --- ## 三、参考图与模特的选择维度 **参考图**(决定姿势与场景,是出图风格的主导变量) - 维度:`单图 / 套图` - 类目:`女装 / 男装 / 童装`(多选) - 地区:`国内 / 海外`(多选) - 类型:`电商 / 种草`(多选) - 筛选:性别 `男 / 女`;年龄 `婴儿 / 小童 / 大童 / 青少年 / 青年人 / 中年人 / 老年人`;肤色 `欧美人 / 非洲人 / 亚洲人 / 其他肤色` - 也可直接用自有参考图(支持批量),或按图搜同类姿势 **模特**(可选,锁定人脸) - 维度:性别 / 年龄 / 肤色 / 身材,或随机指定 - 指定模特会增加约 1 分钟生成时间 选择建议: - 想要**款式还原优先** → 参考图选正面站姿、纯色背景、景别与商品一致(上装选半身,连衣裙选全身)。 - 想要**氛围种草优先** → 参考图选带场景的街拍 / 室内生活场景,接受轻微版型偏差。 - **多 SKU 批量** → 固定同一张参考图 + 同一个模特,只换服装图。 --- ## 四、工具调用 本技能使用 dLazy 的 **`gpt-image-2`**(多图参考的图像编辑合成模型,最多 5 张参考图,支持 1024×1536 竖版商拍比例)。 ### 调用方式 两种等价写法,选一种。统一入口会自动选后端、失败重试、建目录落盘、估算成本: ```bash # A. 统一入口(推荐):可切任意后端,加 --dry-run 不计费空跑 node scripts/gen.mjs --task flat-lay \ --prompt '<见下方 Prompt 模板>' \ --images <按下表顺序> \ --save output/flat-lay-<sku>.jpg # B. 直接用 dLazy CLI(不想引入 Node 依赖时,效果等价) dlazy gpt-image-2 --prompt '...' --images ... --save output/flat-lay.jpg ``` **参数约定(本技能固定用法)** | 参数 | 取值 | 理由 | | --- | --- | --- | | `--images` | `[服装图, 参考图]`(多件上身时 `[上装图, 下装图, 参考图]`) | 顺序即 prompt 中的 image 1 / 2 / 3 | | `--size` | `1024x1536`(竖版 3:4,商拍主图);平铺细节图用 `1024x1024` | 电商主图默认竖版 | | `--quality` | `high` | 面料纹理与针织结构需要高质量档位 | | `--imageFormat` | `jpeg` | 电商上架通用格式 | | `--batch` | `2` ~ `4` | 一次多出几张挑图 | | `--save` | `docs/flat-lay/output-<sku>.jpg` | 直接落盘,省一步下载 | ### Command Examples ```bash # basic call: 单件上身(服装图 + 参考图) dlazy gpt-image-2 \ --prompt 'On-model e-commerce photo. Image 1 is the garment flat-lay, image 2 is the pose/scene reference. Dress the model from image 2 in the garment from image 1. Keep the garment identical in color, texture, print and fit. Copy the reference pose, camera angle, crop, lighting and background.' \ --images docs/flat-lay/garment-flatlay.jpg docs/flat-lay/pose-reference.jpg \ --size 1024x1536 --quality high # complex call: 多件上身 + 指定模特 + 一次出 4 张挑图 + 直接落盘 dlazy gpt-image-2 \ --prompt 'Full-look on-model e-commerce photo. Image 1 is the top flat-lay, image 2 is the bottom flat-lay, image 3 is the pose/scene reference, image 4 is the fixed model face. Dress the model in the top from image 1 and the bottom from image 2. Preserve both garments exactly: color, knit/weave texture, print placement, hem and cuff details. Reproduce image 3 for pose, camera angle, crop, lighting and background. Keep the face and body type from image 4 unchanged. Photorealistic catalog shot, no text, no watermark.' \ --images docs/flat-lay/top.jpg docs/flat-lay/bottom.jpg docs/flat-lay/pose-reference.jpg docs/flat-lay/model-face.jpg \ --size 1024x1536 --quality high --imageFormat jpeg \ --batch 4 --save docs/flat-lay/output-sku001.jpg # 先估价不真跑 dlazy gpt-image-2 --dry-run --prompt '...' --images a.jpg b.jpg --size 1024x1536 ``` ### 延伸阅读 | 要查什么 | 去哪 | | --- | --- | | 认证、多后端配置、输出结构、错误码 | [`references/provider-cli.md`](references/provider-cli.md) | | `gpt-image-2` 的全部可用参数 | [`references/model-flags.md`](references/model-flags.md) | | 统一入口的全部选项 | `node scripts/gen.mjs --help` | ## 五、Prompt 模板 把中括号内容替换后填入 `--prompt`。**英文 prompt 对服装保真更稳定**。 ```text E-commerce on-model product photography. Image 1 is the garment flat-lay: [品类 + 颜色 + 面料,例:an olive-green cable-knit crewneck sweater]. Image 2 is the pose/scene reference. Dress the model from image 2 in the garment from image 1, replacing the garment they are currently wearing. Keep the garment 100% faithful: identical [颜色], [面料/织法纹理], [版型,例:oversized drop-shoulder fit], [领口/袖口/下摆细节], and [印花/logo/吊牌位置]. Reproduce the reference exactly for pose, camera angle, crop, body proportions, lighting and background. Photorealistic full-frame catalog shot, sharp fabric detail, natural soft light, no text or watermark. ``` **按生成策略追加的句子** | 策略 | 追加到 prompt 末尾 | | --- | --- | | 通用(默认) | 不加 | | 颜色饱和度优化 | `Match the garment color to image 1 exactly — same hue, saturation and brightness; do not boost or wash out the color.` | | 材质增强 | `Emphasize fabric micro-texture: visible knit loops / weave grain / pile direction, realistic fiber sheen and soft shadow in the folds.` | | 崩坏问题优化 | `Anatomy must be correct: five fingers per hand, symmetric shoulders, no extra limbs, no melted collar or warped sleeve seams.` | | 精准选区 | `Change only the garment region. Keep the face, hair, hands, lower body, accessories and background pixel-identical to image 2.` | --- ## 六、执行流程 1. **校验输入**:尺寸 / 分辨率 / 格式,剔除遮挡、套装、模糊图(见第二节)。 2. **判断模式**:单件 → 1 张服装图;整套 → 上装图 + 下装图分开传。 3. **准备参考图**:选一张商拍图,维度对齐目标人群(性别/年龄/肤色/类目/国内海外/电商种草)。 4. **可选固定模特**:批量场景务必固定,保证多 SKU 同一张脸。 5. **写 prompt**:用第五节模板,把服装的颜色、织法、版型、细节写具体——**写得越具体,还原度越高**。 6. **`--dry-run` 估价**,确认 credits 后去掉该参数真跑。 7. **`--batch 2~4` 出多张挑图**,落盘到 `docs/flat-lay/`。 8. **质检**:颜色是否偏、纹理是否糊、印花位置是否移动、手指与领口是否崩坏。不合格 → 按第五节表格追加对应策略句子重跑。 --- ## 七、常见问题 | 现象 | 原因 | 处理 | | --- | --- | --- | | 颜色偏了 | 平铺图有色偏 / 模型自行调色 | 追加「颜色饱和度优化」句;prompt 里写死具体色名 | | 纹理糊成一片 | `--quality medium`,或平铺图分辨率低 | 改 `--quality high`;换更清晰的平铺图 | | 印花 / logo 位置移动 | prompt 未描述位置 | 明确写 `logo centered on left chest, 8cm wide` 之类 | | 手指、领口崩坏 | 生成随机性 | 追加「崩坏问题优化」句 + `--batch 4` 挑图 | | 背景 / 人脸被改动 | 模型重绘了整图 | 追加「精准选区」句 | | 只上传套装图,识别不了单件 | 输入违规 | 拆成上装图 + 下装图,走多件上身 | | 版型明显不对(宽松变紧身) | 参考图景别与品类不匹配 | 上装选半身参考图,连衣裙选全身参考图 | --- ## Tips Visit https://dlazy.com for more information.
Comments (0)
Sign in to join the conversation.
Reviews (0)
No reviews yet.


No comments yet.