chore(bug/qa): 归档测试清单、bug 报告与 QA 诊断脚本
- core/bug: 各轮电商项目测试清单 xlsx + 验证报告/套图提示词梳理 md - core/qa: consumption_summary / diag_login / diag_sessions / probe_usage 诊断脚本 Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
@@ -0,0 +1,998 @@
|
||||
# 平台套图线上提示词优化版
|
||||
|
||||
> 基于 `D:/feishudownload/平台套图提示词梳理.md` 和当前仓库代码整理。
|
||||
> 目标不是重写一套全新生图系统,而是在现在线上拼词链路上做最小可落地升级。
|
||||
|
||||
---
|
||||
|
||||
## 0. 结论
|
||||
|
||||
现在线上提示词的图片丰富度来源于 6 个 `本张` 轮换版式,这部分应该保留。
|
||||
|
||||
真正要改的是:
|
||||
|
||||
1. 删除 `详情 / 详情排版 / 详情套图`,平台套图只生成头图、主图、封面图候选。
|
||||
2. 平台差异不能再靠末尾一句 `{平台名}平台套图版式`,需要把 `platform_id` 传到后端。
|
||||
3. 后端 `build_platform_cover_prompt_refs()` 在固定模板里注入平台块、品类块、模型块、背景反差块、文案块,但所有块都必须遵守“头图低信息密度上限”。
|
||||
4. cover 参考图不要只取 `_product_cover_url()` 单张主图,应改用 `_product_reference_urls(limit=3)`,真实上传图优先、排除 AI 图。
|
||||
5. 普通客户不要选择模型;前端只暴露平台、张数、比例、是否真人上身、是否需要文案等业务选项,后端按 `slot_name / category / copy_policy / platform_id` 自动路由 Seedream 或 image2。
|
||||
6. 图片比例必须由后端 size / 后处理裁切保证,不能只在 prompt 里写比例。当前 `4:5` 会 fallback 成 `1:1`,这是比例错误的直接原因。
|
||||
|
||||
---
|
||||
|
||||
## 0.1 原 MD 逐条迁移对照
|
||||
|
||||
原文件 `D:/feishudownload/平台套图提示词梳理.md` 不是废弃材料,下面这些结论必须全部继承。本文件在原结论上做低信息密度和比例修正。
|
||||
|
||||
| 原 MD 内容 | 是否迁移 | 新文档处理方式 |
|
||||
| --- | --- | --- |
|
||||
| 10 个平台只有最后一句平台名不同 | 已迁移 | 改为必须传 `platform_id` 到后端,不再靠 `{平台名}平台套图版式`。 |
|
||||
| 前端 base_prompt 是平台套图入口第一段 | 已迁移并修正 | 保留前端入口,但删除 `详情排版`,默认词改为“平台商品头图”。 |
|
||||
| 后端 `build_platform_cover_prompt_refs()` 是真正发给模型的固定模板 | 已迁移 | 仍以这个函数为主改造点,新增 `platform_id / index / count / model_route / selected_model / target_ratio` 参数,其中 `selected_model` 仅内部覆盖。 |
|
||||
| 有模特时参考图2是出镜模特 | 已迁移 | 保留模特参考逻辑,但内衣上身图新增“不得被其他衣物遮挡”的强约束。 |
|
||||
| 6 个 `本张` 轮换版式能防雷同 | 已迁移并降噪 | 保留 6 个视觉骨架,但新增“头图低信息密度上限”,防止变成详情页。 |
|
||||
| 各平台完整提示词只是最后一句不同 | 已迁移 | 不再复制原来的 10 条重复 prompt,改为 `PLATFORM_COVER_BLOCKS` 平台块。 |
|
||||
| cover 参考图确实有传,但只传 1 张主图 | 已迁移 | P0 改为 `_product_reference_urls(product, limit=3)`。 |
|
||||
| 主图可能是 AI 生成图,误差会累积 | 已迁移 | 继续使用 `_product_reference_urls` 的“真实上传图优先、排除 AI 图”规则。 |
|
||||
| 模特上身图模式已经用多图真实参考 | 已迁移 | cover 向 model 模式看齐,也使用多张真实商品参考。 |
|
||||
| 是否真编辑参考图取决于模型能力 | 已补充 | 新增模型能力检查:支持 `image_edit` 的模型优先;Seedream 需要按图生图能力单独降级预期。 |
|
||||
| Seedream 只松散借色调,不锁主体 | 已迁移 | 内衣/商品一致性中把 Seedream 作为单独分支处理,不承诺同等参考锁定能力。 |
|
||||
| 平台差异没进提示词,也没进尺寸 | 已迁移并扩展 | 新增平台块 + 平台尺寸表 + `target_ratio` 最终比例校验。 |
|
||||
| 建议 1:cover 改用 `_product_reference_urls(limit=3)` | 已迁移 | P0 第 4 条。 |
|
||||
| 建议 2:每个平台写真正差异化模板,最好 admin 可编辑 | 已补充 | 新增 `platform_cover_{platform_id}` 模板 key 建议;配置缺失时 fallback 到内置平台块。 |
|
||||
| 建议 3:确认默认图像模型支持 image_edit | 已补充 | 新增模型能力与 fallback 规则,避免悄悄落到只会图生图的模型。 |
|
||||
| 注:当前 admin 只有共用 `platform_cover` | 已补充 | 新增 admin 配置迁移方案,从单一 key 拆到平台 key。 |
|
||||
|
||||
不再逐字复制原 MD 里的 10 条平台示例 prompt,因为那些示例的价值是证明“它们完全一样”。新的实现应保留这个诊断结论,而不是保留重复 prompt 本身。
|
||||
|
||||
---
|
||||
|
||||
## 1. 当前线上问题对应代码
|
||||
|
||||
### 1.1 前端默认提示词
|
||||
|
||||
当前代码:
|
||||
|
||||
```ts
|
||||
// core/frontend/src/routes/ai-tools.tsx
|
||||
promptTemplate: (title) => `${title},电商平台套图,统一视觉,主图 + 详情排版`
|
||||
```
|
||||
|
||||
问题:
|
||||
|
||||
- `详情排版` 会把模型引到详情页、长图、营销页。
|
||||
- `电商平台套图` 太宽泛,不等于平台头图。
|
||||
|
||||
建议改为:
|
||||
|
||||
```ts
|
||||
promptTemplate: (title) => `${title},平台商品头图,统一视觉,商品主体清晰`
|
||||
```
|
||||
|
||||
页面文案也建议从:
|
||||
|
||||
```text
|
||||
选择平台模板,一键生成主图 / 封面 / 详情套图。
|
||||
```
|
||||
|
||||
改为:
|
||||
|
||||
```text
|
||||
选择平台模板,一键生成平台商品头图。
|
||||
```
|
||||
|
||||
### 1.2 前端平台拼词
|
||||
|
||||
当前代码:
|
||||
|
||||
```ts
|
||||
// core/frontend/src/routes/ai-tools.tsx
|
||||
void startBatch({
|
||||
...base,
|
||||
prompt: platName ? `${base.prompt},${platName}平台套图版式` : base.prompt,
|
||||
platformIds: [pid]
|
||||
});
|
||||
```
|
||||
|
||||
问题:
|
||||
|
||||
- `platformIds` 只存在前端 batch 展示里,没有传给后端。
|
||||
- 后端实际只能看到 prompt 里那句平台名。
|
||||
- 另一个多商品入口只传 `platformIds`,甚至没有把平台名拼进 prompt,两个入口不一致。
|
||||
|
||||
建议:
|
||||
|
||||
```ts
|
||||
void startBatch({
|
||||
...base,
|
||||
prompt: base.prompt,
|
||||
platformId: pid,
|
||||
platformIds: [pid]
|
||||
});
|
||||
```
|
||||
|
||||
并在 `onGenerate / api.submitGenerateImage / GenerateImageView / enqueue_standalone_images / request_payload` 全链路新增:
|
||||
|
||||
```ts
|
||||
platform_id?: string
|
||||
```
|
||||
|
||||
后端任务需要保存:
|
||||
|
||||
```json
|
||||
{
|
||||
"platform_id": "taobao",
|
||||
"platform_name": "淘宝"
|
||||
}
|
||||
```
|
||||
|
||||
不要再把平台名作为用户提示词的一部分。
|
||||
|
||||
### 1.3 后端固定模板
|
||||
|
||||
当前代码:
|
||||
|
||||
```py
|
||||
def build_platform_cover_prompt_refs(product, has_model: bool, base_prompt: str = "") -> str:
|
||||
lines = [f"参考图1是「{name}」的真实商品主图。"]
|
||||
if has_model:
|
||||
lines += [
|
||||
"参考图2是出镜模特。请生成参考图2中的这位模特展示参考图1中商品的电商平台套图(主图 / 封面 / 详情);",
|
||||
"模特的五官、发型、肤色、身形必须与参考图2高度一致,不要换人;",
|
||||
]
|
||||
else:
|
||||
lines.append("请基于该商品生成电商平台套图(主图 / 封面 / 详情排版),统一视觉风格;")
|
||||
```
|
||||
|
||||
建议改为:
|
||||
|
||||
```py
|
||||
def build_platform_cover_prompt_refs(
|
||||
product,
|
||||
*,
|
||||
has_model: bool,
|
||||
base_prompt: str = "",
|
||||
platform_id: str = "taobao",
|
||||
index: int = 0,
|
||||
count: int = 4,
|
||||
model_route: str = "",
|
||||
selected_model: str = "", # 仅内部调试/强制覆盖使用,普通客户不传
|
||||
product_ref_count: int = 1,
|
||||
) -> str:
|
||||
...
|
||||
```
|
||||
|
||||
其中:
|
||||
|
||||
- `platform_id` 用于选择平台提示词块。
|
||||
- `index` 用于选择本张 slot。
|
||||
- `count` 用于 4/8/12 张变体。
|
||||
- `model_route` 是后端按 slot 自动算出的模型路由结果,用于 image2 / Seedream 分支。
|
||||
- `selected_model` 只作为内部调试或后台强制覆盖字段,普通客户不应看到也不应传。
|
||||
- `product_ref_count` 用于写 `参考图1~N`,避免多图参考时 prompt 仍写只有参考图1。
|
||||
|
||||
---
|
||||
|
||||
## 2. 参考图策略
|
||||
|
||||
当前 cover 使用:
|
||||
|
||||
```py
|
||||
product_url = _product_cover_url(product)
|
||||
edit_images = [product_url] + ([model_url] if model_url else [])
|
||||
```
|
||||
|
||||
建议 cover 也改为:
|
||||
|
||||
```py
|
||||
product_urls = _product_reference_urls(product, limit=3)
|
||||
edit_images = product_urls + ([model_url] if model_url else [])
|
||||
```
|
||||
|
||||
提示词写法:
|
||||
|
||||
```text
|
||||
参考图1~{{product_ref_count}} 是同一件商品的真实商品参考图,用于锁定商品外观、颜色、材质、结构、Logo、品牌文字和比例。
|
||||
这些参考图只锁定商品本体,不锁定原图里的床品、桌面、墙面、绿植、毛巾、窗帘、道具和拍摄光线。
|
||||
```
|
||||
|
||||
如果后端能生成 `product_cutout_ref`,商品图、结构图、细节图优先传去背景商品参考图。
|
||||
|
||||
---
|
||||
|
||||
## 3. 保留线上 6 个版式骨架
|
||||
|
||||
不要废掉线上这 6 类,它们是现在图片丰富度比较好的原因。
|
||||
|
||||
但不要原样写成“所有平台通用”,而是作为 slot,再被平台/品类/模型翻译。
|
||||
|
||||
```text
|
||||
slot_1_hero:
|
||||
正面居中主图版式,商品占画面主体,纯净背景,经典电商主图构图。
|
||||
|
||||
slot_2_selling_layout:
|
||||
商品偏置 + 卖点文案分区,场景化背景,杂志感构图。
|
||||
|
||||
slot_3_detail_closeup:
|
||||
特写细节版式,放大商品材质/做工,近景视角,突出质感。
|
||||
|
||||
slot_4_lifestyle_scene:
|
||||
生活场景套图版式,商品置于真实使用情境,环境光,氛围感构图。
|
||||
|
||||
slot_5_multi_angle:
|
||||
多角度组合版式,商品换一个朝向/视角,几何分区背景,现代简约风。
|
||||
|
||||
slot_6_promo_cover:
|
||||
促销封面版式,留出标题/价签区,高对比配色,强视觉冲击构图。
|
||||
```
|
||||
|
||||
4 张时不要总取前 4 个固定模板。应按平台和品类挑 4 个最适合的角色。
|
||||
|
||||
重要修正:
|
||||
|
||||
```text
|
||||
这 6 个版式只是“画面丰富度骨架”,不是信息密度许可。
|
||||
平台头图不是详情页。默认 4 张里不要出现参数表、长卖点列表、复杂箭头结构图、密集图标、2x3 信息宫格。
|
||||
结构说明和细节宫格只能作为 8 / 12 张里的轻量辅图,而且必须像单张商品轮播头图,不像详情页截图。
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## 3.1 头图低信息密度上限
|
||||
|
||||
所有平台、所有模型都必须遵守:
|
||||
|
||||
```text
|
||||
一张头图只讲一个视觉任务。
|
||||
画面第一优先级是商品/上身效果/使用场景,不是文字信息。
|
||||
商品或模特主体占画面 60%-80%,文字和装饰不能抢主体。
|
||||
```
|
||||
|
||||
允许的信息量:
|
||||
|
||||
```text
|
||||
无文案图:0 个字。适合首图、上身图、挂拍、生活场景、细节摄影。
|
||||
轻文案图:1 个短标题,最多 8 个汉字左右;可加 1-2 个极短标签。
|
||||
活动图:1 个品牌名 + 1 条活动短语,活动条只占底部或角落,不铺满画面。
|
||||
轻细节图:1-2 个局部特写,可有极短标签;不要做成详情页的 4 宫格说明。
|
||||
```
|
||||
|
||||
禁止的信息量:
|
||||
|
||||
```text
|
||||
不要参数表、规格表、长句卖点、三段式说明、大量箭头、密集图标、2x3/3x3 宫格、左右对比详情页。
|
||||
不要一张图同时出现品牌区、活动条、价格区、图标卖点、编号卖点、结构箭头和细节标签。
|
||||
不要为了平台感写很多文字;平台感主要靠背景、镜头、主体占比、轻量版式和调色。
|
||||
```
|
||||
|
||||
4 张默认角色应收敛为:
|
||||
|
||||
```text
|
||||
1. 商品/上身主视觉:无文案。
|
||||
2. 场景主视觉:挂拍、生活场景、手部整理、穿搭准备,无文案或 1 个极短标题。
|
||||
3. 轻卖点封面:商品主体 + 1 个短标题 + 最多 2 个短标签。
|
||||
4. 质感特写:材质/扣位/肩带/细节摄影,无文案或 1 个短标签。
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## 4. 平台提示词块
|
||||
|
||||
后端维护 `PLATFORM_COVER_BLOCKS`。
|
||||
|
||||
### 淘宝
|
||||
|
||||
```text
|
||||
平台:淘宝。
|
||||
画面像淘宝搜索货架和商品主图,移动端缩略图下商品一眼可识别。
|
||||
常见结构:左上小品牌区、中央或偏右商品主体、底部活动条或底部轻卖点条、成人模特上身、挂拍、局部质感特写。
|
||||
内衣类默认 4 张优先成人模特上身、挂拍/场景、轻卖点封面、质感特写;图标卖点、编号卖点、结构说明、细节宫格只作为 8/12 张轻量辅图,不进入默认 4 张。
|
||||
背景干净但不能单调,允许浅灰棚拍、浅色墙面、试衣间背景、窗边挂拍、干净台面。
|
||||
禁止生成详情页、长图、平台 UI、二维码、直播间界面、虚假价格和未提供折扣。
|
||||
```
|
||||
|
||||
### 天猫
|
||||
|
||||
```text
|
||||
平台:天猫。
|
||||
画面像品牌旗舰店商品首图,品牌感、质感、留白、材质光影更重要。
|
||||
常见结构:品牌主视觉、材质背景、精致展台、克制卖点区、少量品牌文案。
|
||||
促销感弱于淘宝,不要大红大黄低价感,不要拼多多式强利益区。
|
||||
```
|
||||
|
||||
### 京东
|
||||
|
||||
```text
|
||||
平台:京东。
|
||||
画面像京东商品主图,清晰、可信、理性、标准。
|
||||
常见结构:白底/浅灰商品图、克制品质短标题、包装/配件/材质细节。
|
||||
信息区要非常少,只允许 1 个短标题或 1-2 个短标签;不要参数表、功能说明长区、详情页式模块,不要小红书滤镜,不要强生活方式过度氛围。
|
||||
```
|
||||
|
||||
### 拼多多
|
||||
|
||||
```text
|
||||
平台:拼多多。
|
||||
画面像拼多多商品主图或活动头图,主体大、信息直接、利益区明显。
|
||||
可以有高对比活动区和大标题,但只讲一个利益点;不能编造价格、优惠、折扣、销量和平台补贴。
|
||||
背景明亮,商品边缘清楚,不要复杂品牌大片感。
|
||||
```
|
||||
|
||||
### 抖音电商
|
||||
|
||||
```text
|
||||
平台:抖音电商。
|
||||
画面像信息流商品封面和短视频电商封面,近景、强裁切、真实使用瞬间、动作感更强。
|
||||
常见背景:衣橱、梳妆台、卧室、开箱、手部整理、拿取、穿搭准备。
|
||||
文案更短,商品主体更大,适合快速停留。
|
||||
不要生成抖音 UI、播放按钮、直播间贴片、字幕条,也不要套淘宝底部活动条。
|
||||
```
|
||||
|
||||
### 小红书
|
||||
|
||||
```text
|
||||
平台:小红书。
|
||||
画面像生活方式笔记封面,自然光、真实体验、种草氛围。
|
||||
常见背景:卧室、衣橱、梳妆台、桌面、浴室、旅行收纳、通勤准备。
|
||||
标题像用户体验表达,少硬广、少参数表、少促销条。
|
||||
```
|
||||
|
||||
### 快手
|
||||
|
||||
```text
|
||||
平台:快手。
|
||||
画面像快手小店商品图或直播前置封面素材,真实、直接、可信。
|
||||
可以有桌面展示、手持展示、打包台、家中真实环境、开箱场景。
|
||||
不要生成直播 UI、主播贴片和平台水印。
|
||||
```
|
||||
|
||||
### 视频号
|
||||
|
||||
```text
|
||||
平台:视频号/微信小店。
|
||||
画面克制可信,适合社交分享和商品卡。
|
||||
背景可用干净家居、礼赠、办公、生活空间、柔和自然光。
|
||||
不要生成微信聊天界面、二维码、公众号 UI。
|
||||
```
|
||||
|
||||
### 亚马逊
|
||||
|
||||
```text
|
||||
平台:亚马逊。
|
||||
第 1 张必须是 MAIN 合规图:纯白背景,只展示售卖商品本体,无文字、无道具、无边框、无水印,商品占画面主要区域。
|
||||
第 2 张以后可以是 Lifestyle、Feature、Size、Detail、Package 辅图。
|
||||
不要生成 Amazon 徽章、评分、排名、优惠和平台 UI。
|
||||
```
|
||||
|
||||
### 1688
|
||||
|
||||
```text
|
||||
平台:1688。
|
||||
画面像批发采购图,商品清楚,偏规格、材质、工艺、包装、供货信息。
|
||||
背景可用白底、浅灰、工厂台面、仓储、包装台、材料/工艺背景。
|
||||
头图仍然保持低信息密度,只允许 1 个短标题或 1-2 个短标签;不要做成规格表详情页。不要虚构工厂资质、库存、起订量、认证和价格。
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## 4.1 Admin PromptTemplate 拆分
|
||||
|
||||
原 MD 里提到:当前 admin 提示词页可改的只有后端共用模板 `platform_cover`,不区分平台。这一点要保留为开发改造项。
|
||||
|
||||
建议模板 key:
|
||||
|
||||
```text
|
||||
platform_cover_base
|
||||
platform_cover_taobao
|
||||
platform_cover_tmall
|
||||
platform_cover_jd
|
||||
platform_cover_pdd
|
||||
platform_cover_douyin
|
||||
platform_cover_xhs
|
||||
platform_cover_kuaishou
|
||||
platform_cover_wechat
|
||||
platform_cover_amazon
|
||||
platform_cover_1688
|
||||
```
|
||||
|
||||
读取规则:
|
||||
|
||||
```text
|
||||
1. 先读 platform_cover_base,放商品锁定、头图范围、低信息密度、通用负面约束。
|
||||
2. 再读 platform_cover_{platform_id},放平台调性、默认比例、平台版式倾向。
|
||||
3. 如果平台 key 不存在,fallback 到代码内置 PLATFORM_COVER_BLOCKS。
|
||||
4. 不允许继续用一个 platform_cover 模板服务所有平台。
|
||||
```
|
||||
|
||||
这样 UI 设计师后续可以在 admin 中单独微调淘宝、抖音、小红书等平台的提示词,不需要每次改代码。
|
||||
|
||||
---
|
||||
|
||||
## 4.2 模型能力检查
|
||||
|
||||
原 MD 里提到:是否真“编辑参考图”取决于当前图像模型。这是参考不精准的核心原因之一,需要作为任务创建前的能力检查。
|
||||
|
||||
规则:
|
||||
|
||||
```text
|
||||
resolved_model = selected_model_override or model_route_result
|
||||
|
||||
if mode = cover and resolved_model supports image_edit:
|
||||
使用多图参考 edit_images,商品外观锁定预期较高。
|
||||
|
||||
if mode = cover and resolved_model does not support image_edit:
|
||||
明确标记 reference_lock_level = weak。
|
||||
prompt 中仍传商品参考,但不能承诺严格编辑参考图。
|
||||
需要更强商品锁定提示,并优先使用 product_cutout_ref。
|
||||
|
||||
if resolved_model = Seedream:
|
||||
按图生图 / 参考图生成能力处理,商品外观可能只松散继承。
|
||||
不要把 Seedream 和 gpt-image-2 写成同等参考锁定能力。
|
||||
|
||||
if resolved_model = gpt-image-2 / image2:
|
||||
优先使用 image_edit 能力;若当前网关实际不支持 reference image,则必须在 debug metadata 标记 image_edit_unavailable。
|
||||
```
|
||||
|
||||
任务 debug metadata 必须保存:
|
||||
|
||||
```json
|
||||
{
|
||||
"model_route": "auto / seedream / image2 / overlay_text",
|
||||
"resolved_model": "seedream / gpt-image-2 / image2",
|
||||
"selected_model": "",
|
||||
"model_route_reason": "slot_name + category + copy_policy",
|
||||
"override_by_user": false,
|
||||
"supports_image_edit": true,
|
||||
"reference_lock_level": "strong / weak",
|
||||
"product_ref_count": 3,
|
||||
"used_real_uploaded_refs": true,
|
||||
"used_ai_generated_cover_ref": false
|
||||
}
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## 4.3 自动模型路由策略
|
||||
|
||||
实测结论:不要让普通客户手动选择 Seedream / image2。商家只关心平台、张数、比例、是否真人上身、是否需要文案;模型选择应由后端按图片角色自动决定。
|
||||
|
||||
后台可以保留 `selected_model` 作为调试开关,但线上默认使用 `model_route = auto`。
|
||||
|
||||
```text
|
||||
默认模型分工:
|
||||
|
||||
Seedream:
|
||||
- 适合内衣/服饰真人上身图。
|
||||
- 适合淘宝感、卖货感、轻营销封面。
|
||||
- 可以生成少量中文卖点,但仍必须限制在 allowed_copy_text。
|
||||
|
||||
image2:
|
||||
- 适合无字商品摄影。
|
||||
- 适合挂拍、平铺、收纳、材质、肩带、背扣、边缘走线等细节图。
|
||||
- 对假品牌、假 Logo、信息图漂移更可控。
|
||||
- 不建议直接生成成人内衣真人上身图。
|
||||
|
||||
overlay_text:
|
||||
- 当文案必须准确时,模型只生成无字图,再由前端/后端叠字。
|
||||
- 不依赖模型生成价格、折扣、品牌名、卖点短句或平台合规文案。
|
||||
```
|
||||
|
||||
路由规则:
|
||||
|
||||
```text
|
||||
if category in ["服饰内衣", "内衣", "泳衣", "贴身衣物"] and slot_name = clean_on_model_hero:
|
||||
model_route = seedream
|
||||
display_mode = on_model
|
||||
copy_policy = none
|
||||
|
||||
if slot_name in ["product_hanging_scene", "flat_lay_lifestyle_scene", "texture_detail_photo", "package_or_material_context"]:
|
||||
model_route = image2
|
||||
copy_policy = none
|
||||
|
||||
if slot_name = light_selling_cover:
|
||||
if copy_must_be_accurate = true:
|
||||
model_route = image2 + overlay_text
|
||||
copy_policy = none_for_model_then_overlay
|
||||
else:
|
||||
model_route = seedream
|
||||
copy_policy = selling_point_copy
|
||||
|
||||
if platform_id = amazon and amazon_slot = MAIN:
|
||||
model_route = image2
|
||||
copy_policy = none
|
||||
background = pure_white
|
||||
|
||||
if selected_model is provided by internal debug/admin:
|
||||
selected_model can override model_route, but debug metadata must record override_by_user = true.
|
||||
```
|
||||
|
||||
内衣默认 4 张推荐路由:
|
||||
|
||||
```text
|
||||
1. clean_on_model_hero → Seedream
|
||||
成人模特直接穿着内衣,无文案。
|
||||
|
||||
2. product_hanging_scene → image2
|
||||
挂拍/衣架/窗边/衣橱,无文案。
|
||||
|
||||
3. light_selling_cover → Seedream 或 image2 + overlay_text
|
||||
若只要氛围卖点图,可用 Seedream 直接生成少量短文案;
|
||||
若要求文字准确、可控、可改,必须用 image2 生成无字图后叠字。
|
||||
|
||||
4. texture_detail_photo → image2
|
||||
面料、肩带、背扣、边缘走线等单个细节,无文案。
|
||||
```
|
||||
|
||||
前端交互原则:
|
||||
|
||||
```text
|
||||
普通客户不显示模型下拉框。
|
||||
普通客户只选择:平台、图片数量、比例、是否真人上身、是否需要文案、视觉偏好。
|
||||
高级调试/运营后台才显示模型覆盖选项。
|
||||
```
|
||||
|
||||
混合模型成套感约束:
|
||||
|
||||
```text
|
||||
Seedream 和 image2 可以混合生成同一套图,但不能只靠 slot 自己发挥。
|
||||
后端必须为同一批次生成 visual_system_guard,并注入每一张 prompt。
|
||||
|
||||
visual_system_guard 至少包含:
|
||||
- 统一商品主色:商品颜色、材质、结构不能随模型改变。
|
||||
- 统一背景色系:同一批次限定 1-2 个背景色族,例如冷灰 / 蓝灰 / 浅灰,不允许一张深灰商业棚拍、一张暖白生活大片差太远。
|
||||
- 统一背景明度:默认中浅灰到浅灰,不要 Seedream 过深、image2 过白;除白底合规图外,不要纯白大底。
|
||||
- 统一光线:柔和自然光或柔和棚拍二选一,同一批次不要混用夜景、强硬光、暖黄家居光和冷灰棚拍。
|
||||
- 统一构图气质:高端淘宝轮播商品摄影,主体大、低信息密度、留白克制。
|
||||
- 统一后处理:输出后可做轻量色温/亮度/对比度归一化,让不同模型看起来像同一品牌同一天拍摄。
|
||||
|
||||
若混合模型结果看起来不是一套,优先修 visual_system_guard 和后处理,不退回让客户手动选模型。
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## 5. 背景反差规则
|
||||
|
||||
新增后端字段:
|
||||
|
||||
```text
|
||||
product_color_family = 从商品图或商品数据识别出的主色
|
||||
background_contrast_guard = 根据主色生成的背景避让规则
|
||||
```
|
||||
|
||||
直接写进 prompt:
|
||||
|
||||
```text
|
||||
背景必须和商品主色形成清楚反差,不能让商品和背景同色相融。
|
||||
浅色商品不要使用奶白、浅米、浅粉等近似大面积背景;优先使用冷灰、蓝灰、浅绿、浅薰衣草、自然木色、明确投影或边缘光。
|
||||
黑色/深色商品不要使用黑色、深灰、深棕大背景;优先使用暖白、浅灰、肤色墙面、浅木色或日光窗边背景。
|
||||
粉色/红色商品不要使用同色粉红或红色大背景;优先白、浅灰、浅绿、浅蓝、自然木色。
|
||||
除亚马逊 MAIN 或明确白底 slot 外,不要把整组图片都做成白底/浅灰底。
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## 6. 内衣类模型分支
|
||||
|
||||
### 6.1 Seedream
|
||||
|
||||
Seedream 可以生成成人内衣上身图,但容易出现其他衣服污染。
|
||||
|
||||
Seedream 内衣上身图必须注入:
|
||||
|
||||
```text
|
||||
这是真人试穿商品头图任务。
|
||||
必须生成成人模特直接穿着参考商品图中的内衣,内衣是唯一服饰重点。
|
||||
罩杯、肩带、下围、杯型、面料、颜色和关键版型必须完整可见,并与参考商品一致。
|
||||
不要出现 T 恤、衬衫、吊带背心、运动上衣、连衣裙、制服、职业装、厚外套或任何遮挡内衣主体的第二件衣服。
|
||||
不要把内衣穿在其他衣物外面,也不要在内衣下面加一层衣服。
|
||||
最多允许轻薄开衫、薄纱或披肩松散搭在肩膀/手臂外侧,但不得盖住罩杯、肩带、下围和关键版型。
|
||||
画面是正规电商服饰目录拍摄,成人、克制、商品展示向,非性感化,非挑逗姿势。
|
||||
本张默认无文案,不要活动条、卖点图标和复杂模板。
|
||||
镜头建议为脖颈以下到腰部/胯部以上的上半身商品目录构图,模特正面或轻微侧身,罩杯、肩带、下围和背带结构不能被裁切。
|
||||
不要生成时尚大片、写真大片、暧昧姿势、夸张首饰、纹身、强烈夜店光、品牌水印、伪水印或角落签名。
|
||||
```
|
||||
|
||||
Seedream 内衣 4 张推荐:
|
||||
|
||||
```text
|
||||
1. clean_on_model_hero:成人模特直接穿着内衣,干净上身主视觉,无文案。
|
||||
2. hanging_or_lifestyle_scene:窗边挂拍、衣橱、手部整理或轻生活场景,无文案。
|
||||
3. light_selling_cover:商品主体 + 1 个短标题 + 最多 2 个短标签,不出现真人。
|
||||
4. texture_detail_photo:面料、肩带、扣位或边缘走线的质感特写,无文案或 1 个短标签。
|
||||
```
|
||||
|
||||
### 6.2 image2
|
||||
|
||||
image2 更稳定,但成人内衣真人上身容易被安全策略拦截。
|
||||
|
||||
image2 内衣套图不能退化成 4 张相似浅色商品图。推荐角色:
|
||||
|
||||
```text
|
||||
1. product_hanging_scene:挂拍/衣架/窗边/衣橱,自然光,无文案。
|
||||
2. flat_lay_lifestyle_scene:平铺或手部整理,桌面/收纳/旅行场景,无真人身体。
|
||||
3. light_selling_cover:商品主体 + 1 个平台化短标题 + 最多 2 个短标签,文案来自 allowed_copy_text。
|
||||
4. texture_detail_photo:单个材质/肩带/背扣/边缘走线特写,无文案或 1 个短标签。
|
||||
5. soft_shape_display:隐形人台或立体轮廓,无真人皮肤,无复杂标签。
|
||||
6. ghost_mannequin_shape_display:隐形人台或立体轮廓,无真人皮肤。
|
||||
7. package_or_material_context:包装、材质、收纳、洗护或手感场景,不虚构配件。
|
||||
```
|
||||
|
||||
4 张至少选择 4 个不同角色,但不能选择“结构说明图 + 细节宫格 + 卖点信息图”这种组合;默认组合应是挂拍、生活平铺、轻卖点封面、质感特写。
|
||||
|
||||
image2 实测会主动把“主图/卖点/信息图/模板”理解成多文字海报,所以 `copy_policy = none` 的 slot 不要使用这些词。应改写成“纯商品摄影、无文字、无标签、无图标、无排版模块、无海报感”。若需要文案,优先后期叠字,不依赖模型生成准确文字。
|
||||
|
||||
---
|
||||
|
||||
## 7. 文案生成规则
|
||||
|
||||
不要只照抄商品库卖点,也不要让模型自由编。
|
||||
|
||||
后端先生成 `copy_plan`:
|
||||
|
||||
```json
|
||||
{
|
||||
"product_display_name_for_prompt": "黑色夏薄款文胸",
|
||||
"cover_headline": "夏日轻薄透气",
|
||||
"cover_subpoints": ["清爽透气", "日常舒适", "穿着不闷"],
|
||||
"allowed_copy_text": ["夏日轻薄透气", "清爽透气", "日常舒适", "穿着不闷"],
|
||||
"copy_sources": {
|
||||
"夏日轻薄透气": ["title: 夏薄款", "selling_points[0]: 透气"],
|
||||
"清爽透气": ["selling_points[0]: 透气"]
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
允许:
|
||||
|
||||
- 把 `透气` 丰富成 `夏日透气不闷`、`清爽透气感`。
|
||||
- 把标题里的类目/季节/款式和卖点合成短标题。
|
||||
- 按平台语气调整表达。
|
||||
|
||||
禁止:
|
||||
|
||||
- 商品数据没有的价格、折扣、销量、排名、认证、百分比、杯型范围、尺码、明星同款。
|
||||
- 把普通卖点扩成强功效或绝对承诺。
|
||||
- 把完整 SEO 标题直接塞给生图模型。
|
||||
|
||||
---
|
||||
|
||||
## 7.1 图片比例修正
|
||||
|
||||
当前比例错误不是提示词问题,而是后端 size 映射问题。
|
||||
|
||||
当前代码:
|
||||
|
||||
```py
|
||||
def _ratio_to_image_size(ratio: str) -> str:
|
||||
return {
|
||||
"1:1": "1024x1024",
|
||||
"3:4": "1024x1536",
|
||||
"9:16": "1024x1536",
|
||||
"4:3": "1536x1024",
|
||||
"16:9": "1536x864",
|
||||
}.get((ratio or "").strip(), "1024x1024")
|
||||
```
|
||||
|
||||
问题:
|
||||
|
||||
```text
|
||||
平台套图前端默认 ratio = 4:5,但后端没有 4:5,所以 fallback 成 1024x1024。
|
||||
3:4 和 9:16 都映射成 1024x1536,实际是 2:3,不是 3:4,也不是 9:16。
|
||||
如果使用 YunQi gpt-image-2,网关只支持 1024x1024 / 1024x1536 / 1536x1024 这类固定 size,无法直接生成精确 4:5。
|
||||
混合模型时原始输出尺寸会不一致:实测同一批 target_ratio = 1:1,Seedream 返回 1664x2496,image2 返回 1024x1024。
|
||||
```
|
||||
|
||||
必须改:
|
||||
|
||||
```text
|
||||
1. 后端 request_payload 必须保存用户选择的 target_ratio。
|
||||
2. 后端必须根据 platform_id + target_ratio 算出同批次唯一 target_export_size,例如 1:1 = 1200x1200,3:4 = 900x1200,4:5 = 960x1200。
|
||||
3. 如果模型支持目标比例,就直接用最接近且不低于 target_export_size 的 size。
|
||||
4. 如果模型只支持固定 size,就先生成最接近且覆盖目标画幅的尺寸,再做主体保护裁切或补边。
|
||||
5. 所有模型返回的原图都必须进入同一个 normalize_output_image() 后处理,最终返回给用户的同一批图片必须是完全相同的 width x height,而不只是比例相同。
|
||||
6. prompt 里可以写“1:1 方图构图 / 4:5 构图”,但不能依赖 prompt 保证最终像素比例或最终像素尺寸。
|
||||
```
|
||||
|
||||
同批次导出契约:
|
||||
|
||||
```text
|
||||
batch_target_ratio = 用户选择或 platform_default_ratio
|
||||
batch_target_export_size = 后端根据 platform_id + target_ratio 决定
|
||||
|
||||
每张图生成后必须执行:
|
||||
1. 读取 raw_width / raw_height。
|
||||
2. 按 batch_target_ratio 做主体保护裁切或补边。
|
||||
3. resize 到 batch_target_export_size。
|
||||
4. 写入 normalized_width / normalized_height / crop_or_pad_method 到 debug metadata。
|
||||
5. 返回给前端和素材库的只能是 normalized image,不返回 raw image。
|
||||
```
|
||||
|
||||
normalize_output_image() 推荐策略:
|
||||
|
||||
```text
|
||||
优先主体保护裁切:适合商品主体完整、背景足够的图。
|
||||
主体会被裁掉时改用补边:使用同批次背景色 / 模糊延展 / 纯净浅灰补边,不改变商品本体。
|
||||
禁止直接拉伸变形。
|
||||
禁止同一批次有的图 1664x2496、有的图 1024x1024 直接进入素材库。
|
||||
```
|
||||
|
||||
建议平台默认比例:
|
||||
|
||||
```text
|
||||
淘宝 / 天猫 / 京东 / 拼多多 / 快手 / 视频号 / 1688:默认 1:1,适合商品上架主图。
|
||||
亚马逊 MAIN:默认 1:1,纯白合规主图。
|
||||
抖音电商:商品上架主图默认 1:1;鞋包服饰类可额外支持 3:4,但不是默认全平台 4:5。
|
||||
小红书:商城商品主图默认 1:1;如果用户明确选择“笔记封面 / 种草封面”,再用 3:4。
|
||||
不要把内容流封面比例直接当商品上架主图比例。
|
||||
```
|
||||
|
||||
验收标准:
|
||||
|
||||
```text
|
||||
用户选 1:1,最终图片像素比例必须是 1:1。
|
||||
用户选 4:5,最终图片像素比例必须是 4:5,不能返回 1:1。
|
||||
用户选 3:4,最终图片像素比例必须是 3:4,不能返回 2:3。
|
||||
用户选 9:16,最终图片像素比例必须是 9:16,不能返回 2:3。
|
||||
同一批平台套图的最终图片必须是完全相同的像素尺寸,例如全部 1200x1200,不能混用 1664x2496 和 1024x1024。
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## 7.2 各平台头图尺寸调研
|
||||
|
||||
这里的“头图尺寸”按用户可直接上架的商品主图 / 商品轮播图理解,不按短视频封面、笔记封面或店铺装修 banner 理解。
|
||||
|
||||
结论:
|
||||
|
||||
```text
|
||||
大多数电商商品主图仍然以 1:1 方图为默认安全规格。
|
||||
服饰、鞋包、内衣等展示类目常见 3:4 长图,但通常是类目/素材位扩展,不应替代所有平台默认比例。
|
||||
小红书、抖音等内容平台的“内容封面”可以是 3:4、4:5 或 9:16,但“商品上架主图”仍要优先按商品图规则处理。
|
||||
```
|
||||
|
||||
### 7.2.1 平台尺寸表
|
||||
|
||||
| platform_id | 平台 | 商品上架主图默认比例 | 常见/可选比例 | 建议最终导出尺寸 | 备注 |
|
||||
| --- | --- | --- | --- | --- | --- |
|
||||
| `taobao` | 淘宝 | `1:1` | 服饰/部分类目可用 `3:4` | `1:1` 用 `1200x1200` 或至少 `800x800`;`3:4` 用 `750x1000` 或更高等比 | 不要默认 4:5。平台头图首图仍优先方图;服饰/内衣可按用户或类目切到 3:4。 |
|
||||
| `tmall` | 天猫 | `1:1` | 服饰/部分类目可用 `3:4` | `1:1` 用 `1200x1200` 或至少 `800x800`;`3:4` 用 `750x1000` 或更高等比 | 与淘宝类似,但视觉更品牌化。 |
|
||||
| `jd` | 京东 | `1:1` | 可支持 `3:4` 长图 | 方图最终限制在平台可接受区间内,建议 `1200x1200`;长图可用 `750x1000` | 京东公开公告提到主图方图和长图均有尺寸范围,不要把京东做成内容流竖封。 |
|
||||
| `pdd` | 拼多多 | `1:1` | 活动素材位可能有横版特殊图 | 商品轮播图建议 `800x800` 或 `1000x1000`,至少不低于 `480x480` | 商品主轮播图保守按方图;活动横图不是平台套图默认输出。 |
|
||||
| `douyin` | 抖音电商 | `1:1` | 鞋包服饰类可用 `3:4`;内容流封面另算 | 方图至少 `600x600`,白底/场景建议 `800x800`;服饰 3:4 可用 `750x1000` | 商品上架主图不是短视频封面。只有用户明确要信息流封面时,才走 3:4/9:16。 |
|
||||
| `xhs` | 小红书 | 商城商品主图优先 `1:1` | 店铺商品也常见 `3:4`;笔记封面推荐 `3:4` | 商城商品主图 `800x800` 或 `750x1000`;笔记封面可用 `1080x1440` / `1242x1660` | 如果目标是“商品上架”,默认 1:1;如果目标是“种草笔记封面”,才默认 3:4。 |
|
||||
| `kuaishou` | 快手 | `1:1` | 可按类目支持 `3:4`,但不作为默认 | 建议 `800x800` 或更高方图 | 快手规则强调商品主图为 1:1,至少 3 张清晰主图。 |
|
||||
| `wechat` | 视频号 / 微信小店 | `1:1` | 社交封面可另配竖版,但商品主图保守方图 | 建议 `800x800` 方图 | 公开资料未给稳定统一像素规格,具体以微信小店后台提示为准;系统默认不要 4:5。 |
|
||||
| `amazon` | 亚马逊 | MAIN 图建议 `1:1` 方图输出 | 辅图可有生活方式/尺寸说明,但仍建议统一商品图比例 | MAIN 建议 `1600x1600`,至少最长边 `1000px`;平台接受最长边 `500-10000px` | MAIN 图必须纯白背景、无文案、无道具,商品填充约 85%。 |
|
||||
| `1688` | 1688 | `1:1` 或近似方图 | B2B 信息图仍保持方图或近方图 | 建议 `750x750` / `800x800` / `1000x1000` | 1688/阿里系 B2B 主图倾向正方形或近正方形,不能默认竖封。 |
|
||||
|
||||
### 7.2.2 平台比例选择规则
|
||||
|
||||
```text
|
||||
如果用户未手动选择比例:
|
||||
使用 platform_default_ratio。
|
||||
|
||||
如果用户手动选择比例:
|
||||
仍应尊重用户选择,但最终图片必须真实裁切/补边到该比例。
|
||||
|
||||
如果用户选择的平台默认不适合该比例:
|
||||
前端可以给轻提示,例如“淘宝/京东/拼多多商品主图通常建议 1:1,当前选择 4:5 可能不适合直接上架”。
|
||||
|
||||
如果用户目标是“内容封面”而非“商品上架主图”:
|
||||
抖音 / 小红书 / 快手 / 视频号可使用 3:4、4:5 或 9:16,但 prompt 中必须标记 cover_usage = content_feed_cover。
|
||||
|
||||
如果目标是“商品上架主图”:
|
||||
不要默认使用 4:5。
|
||||
```
|
||||
|
||||
### 7.2.3 建议配置
|
||||
|
||||
```ts
|
||||
const PLATFORM_RATIO_PRESETS = {
|
||||
taobao: {
|
||||
listingDefault: "1:1",
|
||||
apparelOptional: "3:4",
|
||||
finalSizes: { "1:1": "1200x1200", "3:4": "750x1000" }
|
||||
},
|
||||
tmall: {
|
||||
listingDefault: "1:1",
|
||||
apparelOptional: "3:4",
|
||||
finalSizes: { "1:1": "1200x1200", "3:4": "750x1000" }
|
||||
},
|
||||
jd: {
|
||||
listingDefault: "1:1",
|
||||
optional: "3:4",
|
||||
finalSizes: { "1:1": "1200x1200", "3:4": "750x1000" }
|
||||
},
|
||||
pdd: {
|
||||
listingDefault: "1:1",
|
||||
finalSizes: { "1:1": "1000x1000" }
|
||||
},
|
||||
douyin: {
|
||||
listingDefault: "1:1",
|
||||
apparelOptional: "3:4",
|
||||
contentCoverOptional: "9:16",
|
||||
finalSizes: { "1:1": "1000x1000", "3:4": "750x1000", "9:16": "1080x1920" }
|
||||
},
|
||||
xhs: {
|
||||
listingDefault: "1:1",
|
||||
shopOptional: "3:4",
|
||||
noteCoverDefault: "3:4",
|
||||
finalSizes: { "1:1": "1080x1080", "3:4": "1080x1440" }
|
||||
},
|
||||
kuaishou: {
|
||||
listingDefault: "1:1",
|
||||
finalSizes: { "1:1": "1000x1000" }
|
||||
},
|
||||
wechat: {
|
||||
listingDefault: "1:1",
|
||||
finalSizes: { "1:1": "1000x1000" }
|
||||
},
|
||||
amazon: {
|
||||
listingDefault: "1:1",
|
||||
finalSizes: { "1:1": "1600x1600" }
|
||||
},
|
||||
"1688": {
|
||||
listingDefault: "1:1",
|
||||
finalSizes: { "1:1": "1000x1000" }
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
### 7.2.4 对当前产品的直接修正
|
||||
|
||||
```text
|
||||
平台套图页面不要再全局默认 4:5。
|
||||
默认比例应改为“自动:按平台推荐”。
|
||||
如果开发暂时不做自动比例,保守默认应改成 1:1,而不是 4:5。
|
||||
比例选择器保留 1:1 / 3:4 / 4:5 / 9:16 / 16:9,但 4:5 不作为任何商品上架主图默认值。
|
||||
```
|
||||
|
||||
### 7.2.5 尺寸来源与可信度
|
||||
|
||||
```text
|
||||
官方公开规范优先,其次使用平台商家后台公告、平台学习中心、主流设计工具/服务商整理。
|
||||
淘宝、天猫、拼多多、微信小店、小红书店铺等平台部分尺寸规则会按类目和后台版本变化,公开网页不一定完整;最终实现应保留后台配置能力。
|
||||
```
|
||||
|
||||
参考链接:
|
||||
|
||||
- 抖音电商学习中心《商品主图发布规范》:https://school.jinritemai.com/doudian/web/article/aHean96XQDdv
|
||||
- 抖音小店物料尺寸整理:https://www.canva.cn/learn/douyin-size/
|
||||
- 京东主图尺寸放宽公告入口:https://mtt.m.jd.com/article/articleView/6bcf496d-ed86-46fe-9667-f0878bf97d35.action
|
||||
- 快手电商《商品信息诊断规则》:https://edu.kwaixiaodian.com/rule/web/detail?id=yOOEScxkb9
|
||||
- 微信小店商品素材准备 FAQ:https://e.qq.com/faq/wechat-store/product-listing/faq-spsj-002/
|
||||
- Amazon Seller Central 商品图片指南:https://sellercentral.amazon.com/gp/help/external/G1881
|
||||
- Amazon Handmade 图片要求最佳实践:https://sellercentral.amazon.com/help/hub/reference/external/GNRP6DDJV79DUHRD?mons_sel_locale=zh_CN
|
||||
- 小红书店铺商品主图规则参考:https://www.sohu.com/a/784371738_121331647
|
||||
- 小红书封面尺寸参考:https://www.canva.cn/sizes/little-red-book/
|
||||
- 阿里巴巴商品图片规范参考:https://activity.alibaba.com/page/04cb5e7a.html
|
||||
|
||||
---
|
||||
|
||||
## 8. 后端主模板建议
|
||||
|
||||
```text
|
||||
参考图1~{{product_ref_count}} 是「{{product_display_name_for_prompt}}」的真实商品参考图。
|
||||
这些参考图用于锁定商品外观、颜色、材质、结构、Logo、品牌文字、比例和关键细节。
|
||||
不要根据商品名称重新设计商品,不要生成相似款,不要改变商品品类。
|
||||
|
||||
只生成一张适合「{{platform_name}}」的商品头图/主图/封面图候选。
|
||||
不要生成详情页、详情长图、多屏排版、店铺首页、平台 UI、直播间界面、二维码、水印或广告后台素材。
|
||||
|
||||
头图信息密度:
|
||||
这是一张商品头图,不是商品详情页。画面第一优先级是商品主体/上身效果/使用场景。
|
||||
商品或模特主体应占画面 60%-80%。除非本张 copy_policy 要求轻文案,否则不要出现文字。
|
||||
如需文案,只允许 1 个短标题,最多再加 1-2 个极短标签;不要参数表、规格表、长句卖点、密集图标、复杂箭头、2x3/3x3 宫格或详情页式模块。
|
||||
|
||||
{{platform_prompt_block}}
|
||||
|
||||
本张是同一组平台头图中的第 {{image_index}} 张,共 {{count}} 张。
|
||||
本张版式角色:{{slot_name}}
|
||||
本张版式要求:{{slot_prompt_block}}
|
||||
本张展示方式:{{display_mode}}
|
||||
本张文案策略:{{copy_policy}}
|
||||
本张模型路由:{{model_route}} / {{resolved_model}}(后端自动决定,非用户输入)
|
||||
本张目标画幅:{{target_ratio}} 构图;最终像素尺寸由系统后处理统一为 {{target_export_size}},不要在画面内生成边框或留白模板。
|
||||
|
||||
同组视觉系统:
|
||||
{{visual_system_guard}}
|
||||
|
||||
背景要求:
|
||||
{{background_contrast_guard}}
|
||||
参考图里的床品、桌面、墙面、绿植、毛巾、窗帘、道具和原始拍摄光线都不是锁定对象。
|
||||
背景必须服从本张平台和 slot,不要复刻参考图背景。
|
||||
|
||||
商品数据:
|
||||
品牌:{{brand}}
|
||||
品类:{{category}}
|
||||
商品卖点:{{selling_points}}
|
||||
允许出现的文案:{{allowed_copy_text}}
|
||||
|
||||
文案限制:
|
||||
若 copy_policy = none,画面不要出现任何文字。
|
||||
若 copy_policy = selling_point_copy,只使用 allowed_copy_text 里的短文案,并且最多出现 1 个短标题 + 2 个短标签。
|
||||
不要生成任何商品数据中不存在的品牌名、英文 Logo、角落签名、系列名、假水印或模型名;品牌为空或不确定时,画面不得出现品牌文字。
|
||||
若画面必须有文字,只允许 1 个短标题或最多 2 个短标签;禁止把文案做成信息图、参数表、图标阵列或详情页模块。
|
||||
不要生成商品数据没有的价格、折扣、销量、排名、认证、百分比、杯型范围、尺码或平台官方标识。
|
||||
|
||||
用户补充提示词:
|
||||
{{base_prompt}}
|
||||
用户提示词只影响氛围、构图、场景、光线和表达偏好;不能覆盖商品一致性、平台规则、slot 规则和合规限制。
|
||||
|
||||
画面质量:
|
||||
商品主体清晰,移动端缩略图下仍能识别,商业级质感,真实可信,高分辨率。
|
||||
同组图片必须像同一个品牌视觉系统,但每张在构图、背景、镜头距离、主体位置和信息重点上明显不同。
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## 9. 通用负面提示词
|
||||
|
||||
```text
|
||||
不要生成详情页、详情长图、多屏排版、店铺页面、平台 UI、直播间界面、二维码、联系方式、水印、平台 Logo、官方认证标识、虚假角标。
|
||||
|
||||
不要根据商品名称重新生成商品,不要凭空设计新商品,不要改变参考商品图中的包装、Logo、颜色、材质、文字、图案、比例和关键细节,不要把商品生成成其他品类,不要擅自增加套装、配件或赠品。
|
||||
|
||||
不要生成商品数据中不存在的品牌名、英文 Logo、系列名、角落签名、模型名、AI 工具名、伪水印或装饰性商标。
|
||||
|
||||
不要生成商品数据中不存在的价格、优惠券、满减、折扣、限时活动、销量、排名、认证、功效承诺、医疗效果、绝对化用语或夸大宣传。
|
||||
|
||||
不要出现错别字、乱码、小字堆叠、不可读文字、大段文案、过度牛皮癣式排版。不要让文字遮挡商品主体。
|
||||
|
||||
不要生成 2x3 / 3x3 信息宫格、密集图标卖点、参数表、横向长条详情页、结构箭头堆叠或把多张详情页压缩进一张图。
|
||||
|
||||
不要让商品和背景同色相融。不要用与商品主色过于接近的大面积背景,不要让浅色商品贴在奶白/浅米/浅粉底上消失,不要让深色商品贴在深灰/黑色背景里丢失边缘。
|
||||
|
||||
若 display_mode = on_model 且商品为内衣、泳衣或贴身衣物,不要出现 T 恤、衬衫、吊带背心、运动上衣、连衣裙、制服、职业装、厚外套或任何遮挡内衣主体的第二件衣服。
|
||||
|
||||
不要让同组图片看起来像同一张图的重复版本。不要重复同一背景、同一构图、同一镜头距离、同一商品位置和同一信息重点。
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## 10. 开发落地顺序
|
||||
|
||||
P0:
|
||||
|
||||
1. 前端默认 prompt 删除 `详情排版`。
|
||||
2. API payload 新增 `platform_id`,后端 request_payload 保存 `platform_id`。
|
||||
3. 后端保存 `target_ratio` 和 `target_export_size`,修正 `_ratio_to_image_size()`,所有模型原图必须经过 `normalize_output_image()` 裁切/补边/resize 到同一批次统一像素尺寸。
|
||||
4. 后端 cover 参考图改为 `_product_reference_urls(product, limit=3)`。
|
||||
5. `build_platform_cover_prompt_refs()` 接收 `platform_id/index/count/model_route/selected_model/product_ref_count/target_ratio`,其中 `selected_model` 仅用于内部调试覆盖。
|
||||
6. 后端维护低信息密度版 `PLATFORM_COVER_BLOCKS` 和 `slot_prompt_block`。
|
||||
7. 增加模型能力检查,保存 `supports_image_edit / reference_lock_level / product_ref_count`,避免把 Seedream 当成强参考编辑模型。
|
||||
8. 新增 `model_route = auto`:按 `slot_name / category / copy_policy / platform_id` 自动选择 Seedream、image2 或 image2 + overlay_text;普通客户不显示模型选择。
|
||||
9. 内衣类新增 Seedream / image2 模型分支,但默认 4 张不使用复杂结构说明图和详情宫格。
|
||||
10. 加 `visual_system_guard`,混合模型同批次必须统一商品主色、背景色族、背景明度、光线和后处理。
|
||||
11. 加 `background_contrast_guard`,避免商品融背景。
|
||||
12. debug metadata 保存 `raw_width/raw_height/normalized_width/normalized_height/crop_or_pad_method`,方便排查尺寸问题。
|
||||
|
||||
P1:
|
||||
|
||||
1. 增加 `copy_plan` 生成,基于商品库卖点丰富文案。
|
||||
2. 商品上传后生成/缓存 `product_cutout_ref`。
|
||||
3. 将 prompt、platform_id、slot_name、copy_policy、background_contrast_guard 写入 debug metadata。
|
||||
4. admin 提示词从单一 `platform_cover` 拆为 `platform_cover_base + platform_cover_{platform_id}`,支持设计师按平台微调。
|
||||
5. 增加高级调试开关,允许内部人员覆盖 `selected_model`,但必须记录 `override_by_user = true` 和覆盖原因。
|
||||
|
||||
---
|
||||
|
||||
## 11. 验收标准
|
||||
|
||||
必须通过:
|
||||
|
||||
1. 平台套图不再出现详情页、详情长图、多屏排版。
|
||||
2. 默认 4 张都像头图:主体大、信息少、没有参数表/长卖点/复杂箭头/密集宫格。
|
||||
3. 用户选择的比例必须被最终图片像素遵守,4:5 不能返回 1:1,3:4/9:16 不能返回 2:3。
|
||||
4. 同一批平台套图最终返回的图片必须是完全相同的像素尺寸,不能混用 Seedream 原始尺寸和 image2 原始尺寸。
|
||||
5. 同一平台 4 张图不是同一张图的轻微变体。
|
||||
6. 淘宝、抖音、小红书、京东的背景、镜头和排版明显不同。
|
||||
7. 内衣 Seedream 上身图不出现其他衣服遮挡内衣。
|
||||
8. image2 内衣 4 张至少覆盖挂拍、生活平铺、轻卖点封面、质感特写等不同视觉角色。
|
||||
9. 商品颜色不能和背景融在一起。
|
||||
10. 商品形态、颜色、结构、Logo、材质不能被模型重新设计。
|
||||
11. 文案可以基于卖点丰富,但不能编造价格、折扣、百分比、杯型范围、销量、认证。
|
||||
12. `copy_policy = none` 的图片不得出现任何文字、假品牌、假 Logo、模型名、工具名、伪水印或角落签名。
|
||||
13. image2 生成结果不得漂成信息图/详情页压缩图;Seedream 上身图不得漂成性感写真或裁切掉内衣关键结构。
|
||||
14. 普通客户前台不出现 Seedream / image2 模型选择;默认 4 张内衣套图应按路由生成:上身图 Seedream,挂拍/平铺/细节 image2,准确文案走 overlay_text。
|
||||
15. 混合模型同批次必须看起来像一套:商品颜色一致、背景色族一致、背景明度差异不过大、光线方向和后处理气质一致。
|
||||
Reference in New Issue
Block a user