v106-v109 童装支持 + 标题模板外部化 + 模板导出增强
- 新增男童/女童检测(gender_from_category 优先判童装)与童装场景图生成
(configs/kids_features.yaml:模特/场景/服装风格,同一商品固定同一组)
- 童装 SPU 字段映射:kids_type→SPU商品属性-类型、kids_age→适用年龄段、
target_audience 按性别映射、kids_type_map 女童「上衣」→「针织上衣」
- 标题生成提示词外部化:prompts/title_prompt_{1,2,3}.md + config.yaml 路由表
- 模板多站点匹配:经营站点可配多个,命中任意一个即匹配
- 种草图生成失败自动重试(seed_shot.retries,换场景/模特/风格)
- 模板导出新增 Preview 文件夹(成功产品 _composite.oss.jpg + result.xlsx)
- 修复 SKU 尺码未按从小到大排序(_size_rank 支持单一年龄码 6Y/10Y)
This commit is contained in:
+39
-68
@@ -185,6 +185,22 @@ pattern_map:
|
||||
female:
|
||||
印花: 卡通
|
||||
|
||||
# 适用人群值映射表(童装模板专用):key=db target_audience 值,value=模板下拉框精确选项。
|
||||
# 女童模板遇到「男童」→「女童」;男童模板遇到「女童」→「男童」(内置默认,可在此覆盖/新增)。
|
||||
# 成人男/女装模板保留 db 原值(不查此表,不在此配置)。
|
||||
target_audience_map:
|
||||
kids:
|
||||
girl_kids:
|
||||
男童: 女童
|
||||
boy_kids:
|
||||
女童: 男童
|
||||
|
||||
# kids_type 值映射表(童装模板专用):key=db kids_type 值,value=模板「SPU商品属性-类型」下拉框精确选项。
|
||||
# 仅女童模板映射(女童遇到「上衣」→「针织上衣」);男童模板保留 db 原值(不查此表)。
|
||||
kids_type_map:
|
||||
girl_kids:
|
||||
上衣: 针织上衣
|
||||
|
||||
# 合规黑名单(全局,生效于所有国家;各国专属侵权盲区写在 prompts/<country>/aesthetics.yaml 的 extra_blacklist)
|
||||
blacklist:
|
||||
- disney
|
||||
@@ -313,6 +329,7 @@ oss:
|
||||
seed_shot:
|
||||
enabled: true
|
||||
count: 1 # 每个产品选取几张种草图(从三合一主图中随机取,传入数量即可)
|
||||
retries: 3 # 单张失败重试次数(图像 API 偶发安全拦截 400 时自动换一组场景/模特/风格重试)
|
||||
size: "1536x2048" # 种草图生成尺寸(3:4,与合成图一致)
|
||||
|
||||
# —— 第四阶段 product:热点 → SPU/颜色选品 → 底图 → 三图合成(图1模特+图2设计稿+图3底图)→ 模板 ——
|
||||
@@ -326,80 +343,18 @@ product:
|
||||
basemap_dir: "basemap"
|
||||
material_library_dir: "material_library"
|
||||
model_category: "T-shirt" # 备用模特目录优先品类;为空/无图时取 material_library 第一个有图的子目录;SPU.mark==1 才启用试穿/平铺合成
|
||||
# 三方关系映射:SPU.mark → material_library 下的图文件夹 + 对应提示词。
|
||||
# 三方关系映射:SPU.mark → material_library 下的图文件夹。
|
||||
# 每个 mark 可配置两个图源(模特图文件夹 / 平铺图文件夹),运行时在「有图的文件夹」间随机抽图:
|
||||
# - 抽到 model_dir(模特图)→ 用 model_prompt(模特三图:图1模特+图2印花+图3底图)
|
||||
# - 抽到 flat_dir(平铺图) → 用 flat_prompt(平铺三图:图1平铺实拍+图2印花+图3底图)
|
||||
# model_prompt/flat_prompt 留空则用内置默认提示词(MODEL_WEAR_PROMPT / FLAT_LAY_PROMPT)。
|
||||
# - 抽到 model_dir(模特图)→ 用模特三图提示词(图1模特+图2印花+图3底图)
|
||||
# - 抽到 flat_dir(平铺图) → 用平铺三图提示词(图1平铺实拍+图2印花+图3底图)
|
||||
# 三图合成提示词模板已迁移到独立 md 文件(不再在此配置):
|
||||
# prompts/model_prompt.md 模特三图提示词;prompts/flat_prompt.md 平铺三图提示词
|
||||
# 读取优先级:运行根(exe 旁)prompts/ > 数据根 prompts/;文件缺失/留空回退代码内置默认。
|
||||
# 该映射完全可配置、不写死在代码里。
|
||||
mark_dirs:
|
||||
"1":
|
||||
model_dir: "模特图" # 模特图文件夹名(material_library 下)
|
||||
flat_dir: "平铺图" # 平铺图文件夹名(material_library 下)
|
||||
model_prompt: "" # 留空=内置模特三图提示词 MODEL_WEAR_PROMPT
|
||||
flat_prompt: |-
|
||||
|
||||
**你是一个专业的电商AI视觉合成工具**,核心任务是执行"高保真印花与色彩移植/印花替换"。
|
||||
|
||||
## 1. 图片角色定义
|
||||
* **图1 (基底图):** 衣服平铺实拍图。
|
||||
* **功能:** 仅提供版型、轮廓、褶皱形态、光影结构、拍摄角度与构图。
|
||||
* **限制:** 输出必须保留图1的摆放角度、背景和光影逻辑,但**彻底摒弃**其原有的面料颜色。
|
||||
* **图2 (设计稿):** 纯印花设计稿。
|
||||
* **功能:** 仅提供“图案元素”(线条、色号、比例)。
|
||||
* **限制:** 提取图案时必须**完全去除**图2自带的背景色。
|
||||
* **图3 (底图):** 平铺衣服底图。
|
||||
* **功能:** 仅作为“皮肤”,提供衣服的**唯一基底颜色**与面料材质纹理。
|
||||
* **限制:** 忽略其背景/场景,100%保留其衣服底色与质感。
|
||||
|
||||
## 2. 核心任务
|
||||
构建一张最终合成的平铺图,必须同时满足:
|
||||
1. **结构:** 保留图1的版型与褶皱细节。
|
||||
2. **底色:** 强制应用图3的颜色与材质。
|
||||
3. **图案:** 叠加图2的印花设计。
|
||||
|
||||
**最终效果 = 图1版型光影 + 图3底色材质 + 图2印花图案**
|
||||
|
||||
## 3. 执行规则 (严格执行,权重由高到低)
|
||||
|
||||
### 0. 禁止人物
|
||||
* 严禁出现任何人体、模特、头颈、手臂或穿着效果。
|
||||
* 必须保持纯平铺俯拍商品图形式。
|
||||
|
||||
### 1. 底色强制锁定 (Color Lock - 最高优先级)
|
||||
* **基底替换:** 必须强制使用**图3的颜色**作为衣服的**唯一**基底色。
|
||||
* **100%覆盖:** 彻底清除图1原有的面料颜色,严禁图1旧底色透出、混合或泛灰。
|
||||
* **色调一致性:** 最终成衣的固有色必须与图3肉眼完全一致,不得因光影合成而发生色相偏移。
|
||||
|
||||
### 2. 纯印花剥离与叠加
|
||||
* **去底处理:** 从图2中**仅提取**设计元素、线条、色块,**完全丢弃/移除**图2自身可能存在的任何背景色或画布底色。
|
||||
* **叠加逻辑:** 将提取的纯图案,以“纹理融合”的方式叠加在图3的底色之上。印花必须依附于图3的底色,不可遮盖或改变图3的底色范围。
|
||||
|
||||
### 3. 印花尺寸适配
|
||||
* 将提取的印花居中印在胸/背/衣身主体区域。
|
||||
* 印花面积占比严格控制在衣身主体的30%-45%。
|
||||
* 四周必须留白,严禁印花过大撑满衣服,或过小(<20%)。
|
||||
|
||||
### 4. 主体遮罩重建
|
||||
* 精准识别图1的衣服本体完整区域(包含领口到下摆、袖子)。
|
||||
* 用“图3底色+图2印花”合成出的新面料,完全覆盖图1的原有面料区域。
|
||||
* 清除原区域的所有旧色和旧图案,只保留图1的边缘轮廓形态。
|
||||
|
||||
### 5. 精准形态贴合
|
||||
* 合成后的面料必须严格遵循图1的平铺形态。
|
||||
* 领口、袖口、下摆、侧缝等结构必须清晰。
|
||||
* **自然变形:** 印花在遇到褶皱、翻折处时,必须随面料纹理发生自然的拉伸、挤压和变形,杜绝僵硬的“贴纸感”。
|
||||
|
||||
### 6. 光影重塑与色相锁定
|
||||
* **借用光影:** 仅借用图1的光照方向、明暗对比度和投影位置。
|
||||
* **色相锁定:** 在应用明暗变化时,只调整亮度和对比度,**严禁改变色相(Hue)**。
|
||||
* 确保阴影处依然是图3颜色的深色版,高光处是图3颜色的亮色版,保持投影与图1完全一致。
|
||||
|
||||
### 7. 纯净输出
|
||||
* 仅输出一张最终合成的平铺图。
|
||||
* 背景环境、桌面、构图、拍摄角度必须与图1保持100%一致。
|
||||
* 画面中不得出现人像、肢体、人台。
|
||||
#留空=内置平铺三图提示词 FLAT_LAY_PROMPT
|
||||
brief_index: 0 # 用第几个 safe 简报的提示词生成(0=第一个)
|
||||
spu_code: "" # 款号(留空自动选第一个有本地底图的)
|
||||
sku_code: "" # 颜色编码(留空自动选该款第一个有底图的);多个颜色用逗号分隔(如 "DG015-VT01,DG015-DARK HEATHER")
|
||||
@@ -412,3 +367,19 @@ product:
|
||||
template_path: "templates/商品上传模版.xlsx" # 商品上传模板(可改为自由上传)
|
||||
concurrency: 5 # Pinterest 模式 pipeline 总并发(设计生成→三合一→种草图→标题 同一管道串行,总并发=此值)
|
||||
|
||||
# —— 商品标题生成(多模态:分析服装图片 → SEO 标题)——
|
||||
# 国家 → 提示词模板编号路由(TITLE_TEMPLATE_ROUTE);模板内容存 prompts/title_prompt_<编号>.md(可自由编辑)。
|
||||
# 模板 1:英语市场(US/GB/AU/MX)→ en_title + cn_title
|
||||
# 模板 2:日本市场(JP)→ en_title + cn_title + ja_title
|
||||
# 模板 3:西班牙市场(ES)→ es_title + cn_title
|
||||
# 读取优先级:运行根(exe 旁)prompts/ > 数据根 prompts/;文件缺失/留空回退代码内置默认。
|
||||
# 新增国家/改路由只需在此配置;模板内可用 {year}/{month}/{season} 占位符(运行时自动替换为当前时间)。
|
||||
title_templates:
|
||||
route:
|
||||
US: "1"
|
||||
GB: "1"
|
||||
JP: "2"
|
||||
AU: "1"
|
||||
MX: "1"
|
||||
ES: "3"
|
||||
|
||||
|
||||
Reference in New Issue
Block a user