- core/bug: 各轮电商项目测试清单 xlsx + 验证报告/套图提示词梳理 md - core/qa: consumption_summary / diag_login / diag_sessions / probe_usage 诊断脚本 Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
44 KiB
平台套图线上提示词优化版
基于
D:/feishudownload/平台套图提示词梳理.md和当前仓库代码整理。 目标不是重写一套全新生图系统,而是在现在线上拼词链路上做最小可落地升级。
0. 结论
现在线上提示词的图片丰富度来源于 6 个 本张 轮换版式,这部分应该保留。
真正要改的是:
- 删除
详情 / 详情排版 / 详情套图,平台套图只生成头图、主图、封面图候选。 - 平台差异不能再靠末尾一句
{平台名}平台套图版式,需要把platform_id传到后端。 - 后端
build_platform_cover_prompt_refs()在固定模板里注入平台块、品类块、模型块、背景反差块、文案块,但所有块都必须遵守“头图低信息密度上限”。 - cover 参考图不要只取
_product_cover_url()单张主图,应改用_product_reference_urls(limit=3),真实上传图优先、排除 AI 图。 - 普通客户不要选择模型;前端只暴露平台、张数、比例、是否真人上身、是否需要文案等业务选项,后端按
slot_name / category / copy_policy / platform_id自动路由 Seedream 或 image2。 - 图片比例必须由后端 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 前端默认提示词
当前代码:
// core/frontend/src/routes/ai-tools.tsx
promptTemplate: (title) => `${title},电商平台套图,统一视觉,主图 + 详情排版`
问题:
详情排版会把模型引到详情页、长图、营销页。电商平台套图太宽泛,不等于平台头图。
建议改为:
promptTemplate: (title) => `${title},平台商品头图,统一视觉,商品主体清晰`
页面文案也建议从:
选择平台模板,一键生成主图 / 封面 / 详情套图。
改为:
选择平台模板,一键生成平台商品头图。
1.2 前端平台拼词
当前代码:
// core/frontend/src/routes/ai-tools.tsx
void startBatch({
...base,
prompt: platName ? `${base.prompt},${platName}平台套图版式` : base.prompt,
platformIds: [pid]
});
问题:
platformIds只存在前端 batch 展示里,没有传给后端。- 后端实际只能看到 prompt 里那句平台名。
- 另一个多商品入口只传
platformIds,甚至没有把平台名拼进 prompt,两个入口不一致。
建议:
void startBatch({
...base,
prompt: base.prompt,
platformId: pid,
platformIds: [pid]
});
并在 onGenerate / api.submitGenerateImage / GenerateImageView / enqueue_standalone_images / request_payload 全链路新增:
platform_id?: string
后端任务需要保存:
{
"platform_id": "taobao",
"platform_name": "淘宝"
}
不要再把平台名作为用户提示词的一部分。
1.3 后端固定模板
当前代码:
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("请基于该商品生成电商平台套图(主图 / 封面 / 详情排版),统一视觉风格;")
建议改为:
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 使用:
product_url = _product_cover_url(product)
edit_images = [product_url] + ([model_url] if model_url else [])
建议 cover 也改为:
product_urls = _product_reference_urls(product, limit=3)
edit_images = product_urls + ([model_url] if model_url else [])
提示词写法:
参考图1~{{product_ref_count}} 是同一件商品的真实商品参考图,用于锁定商品外观、颜色、材质、结构、Logo、品牌文字和比例。
这些参考图只锁定商品本体,不锁定原图里的床品、桌面、墙面、绿植、毛巾、窗帘、道具和拍摄光线。
如果后端能生成 product_cutout_ref,商品图、结构图、细节图优先传去背景商品参考图。
3. 保留线上 6 个版式骨架
不要废掉线上这 6 类,它们是现在图片丰富度比较好的原因。
但不要原样写成“所有平台通用”,而是作为 slot,再被平台/品类/模型翻译。
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 个最适合的角色。
重要修正:
这 6 个版式只是“画面丰富度骨架”,不是信息密度许可。
平台头图不是详情页。默认 4 张里不要出现参数表、长卖点列表、复杂箭头结构图、密集图标、2x3 信息宫格。
结构说明和细节宫格只能作为 8 / 12 张里的轻量辅图,而且必须像单张商品轮播头图,不像详情页截图。
3.1 头图低信息密度上限
所有平台、所有模型都必须遵守:
一张头图只讲一个视觉任务。
画面第一优先级是商品/上身效果/使用场景,不是文字信息。
商品或模特主体占画面 60%-80%,文字和装饰不能抢主体。
允许的信息量:
无文案图:0 个字。适合首图、上身图、挂拍、生活场景、细节摄影。
轻文案图:1 个短标题,最多 8 个汉字左右;可加 1-2 个极短标签。
活动图:1 个品牌名 + 1 条活动短语,活动条只占底部或角落,不铺满画面。
轻细节图:1-2 个局部特写,可有极短标签;不要做成详情页的 4 宫格说明。
禁止的信息量:
不要参数表、规格表、长句卖点、三段式说明、大量箭头、密集图标、2x3/3x3 宫格、左右对比详情页。
不要一张图同时出现品牌区、活动条、价格区、图标卖点、编号卖点、结构箭头和细节标签。
不要为了平台感写很多文字;平台感主要靠背景、镜头、主体占比、轻量版式和调色。
4 张默认角色应收敛为:
1. 商品/上身主视觉:无文案。
2. 场景主视觉:挂拍、生活场景、手部整理、穿搭准备,无文案或 1 个极短标题。
3. 轻卖点封面:商品主体 + 1 个短标题 + 最多 2 个短标签。
4. 质感特写:材质/扣位/肩带/细节摄影,无文案或 1 个短标签。
4. 平台提示词块
后端维护 PLATFORM_COVER_BLOCKS。
淘宝
平台:淘宝。
画面像淘宝搜索货架和商品主图,移动端缩略图下商品一眼可识别。
常见结构:左上小品牌区、中央或偏右商品主体、底部活动条或底部轻卖点条、成人模特上身、挂拍、局部质感特写。
内衣类默认 4 张优先成人模特上身、挂拍/场景、轻卖点封面、质感特写;图标卖点、编号卖点、结构说明、细节宫格只作为 8/12 张轻量辅图,不进入默认 4 张。
背景干净但不能单调,允许浅灰棚拍、浅色墙面、试衣间背景、窗边挂拍、干净台面。
禁止生成详情页、长图、平台 UI、二维码、直播间界面、虚假价格和未提供折扣。
天猫
平台:天猫。
画面像品牌旗舰店商品首图,品牌感、质感、留白、材质光影更重要。
常见结构:品牌主视觉、材质背景、精致展台、克制卖点区、少量品牌文案。
促销感弱于淘宝,不要大红大黄低价感,不要拼多多式强利益区。
京东
平台:京东。
画面像京东商品主图,清晰、可信、理性、标准。
常见结构:白底/浅灰商品图、克制品质短标题、包装/配件/材质细节。
信息区要非常少,只允许 1 个短标题或 1-2 个短标签;不要参数表、功能说明长区、详情页式模块,不要小红书滤镜,不要强生活方式过度氛围。
拼多多
平台:拼多多。
画面像拼多多商品主图或活动头图,主体大、信息直接、利益区明显。
可以有高对比活动区和大标题,但只讲一个利益点;不能编造价格、优惠、折扣、销量和平台补贴。
背景明亮,商品边缘清楚,不要复杂品牌大片感。
抖音电商
平台:抖音电商。
画面像信息流商品封面和短视频电商封面,近景、强裁切、真实使用瞬间、动作感更强。
常见背景:衣橱、梳妆台、卧室、开箱、手部整理、拿取、穿搭准备。
文案更短,商品主体更大,适合快速停留。
不要生成抖音 UI、播放按钮、直播间贴片、字幕条,也不要套淘宝底部活动条。
小红书
平台:小红书。
画面像生活方式笔记封面,自然光、真实体验、种草氛围。
常见背景:卧室、衣橱、梳妆台、桌面、浴室、旅行收纳、通勤准备。
标题像用户体验表达,少硬广、少参数表、少促销条。
快手
平台:快手。
画面像快手小店商品图或直播前置封面素材,真实、直接、可信。
可以有桌面展示、手持展示、打包台、家中真实环境、开箱场景。
不要生成直播 UI、主播贴片和平台水印。
视频号
平台:视频号/微信小店。
画面克制可信,适合社交分享和商品卡。
背景可用干净家居、礼赠、办公、生活空间、柔和自然光。
不要生成微信聊天界面、二维码、公众号 UI。
亚马逊
平台:亚马逊。
第 1 张必须是 MAIN 合规图:纯白背景,只展示售卖商品本体,无文字、无道具、无边框、无水印,商品占画面主要区域。
第 2 张以后可以是 Lifestyle、Feature、Size、Detail、Package 辅图。
不要生成 Amazon 徽章、评分、排名、优惠和平台 UI。
1688
平台:1688。
画面像批发采购图,商品清楚,偏规格、材质、工艺、包装、供货信息。
背景可用白底、浅灰、工厂台面、仓储、包装台、材料/工艺背景。
头图仍然保持低信息密度,只允许 1 个短标题或 1-2 个短标签;不要做成规格表详情页。不要虚构工厂资质、库存、起订量、认证和价格。
4.1 Admin PromptTemplate 拆分
原 MD 里提到:当前 admin 提示词页可改的只有后端共用模板 platform_cover,不区分平台。这一点要保留为开发改造项。
建议模板 key:
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
读取规则:
1. 先读 platform_cover_base,放商品锁定、头图范围、低信息密度、通用负面约束。
2. 再读 platform_cover_{platform_id},放平台调性、默认比例、平台版式倾向。
3. 如果平台 key 不存在,fallback 到代码内置 PLATFORM_COVER_BLOCKS。
4. 不允许继续用一个 platform_cover 模板服务所有平台。
这样 UI 设计师后续可以在 admin 中单独微调淘宝、抖音、小红书等平台的提示词,不需要每次改代码。
4.2 模型能力检查
原 MD 里提到:是否真“编辑参考图”取决于当前图像模型。这是参考不精准的核心原因之一,需要作为任务创建前的能力检查。
规则:
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 必须保存:
{
"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。
默认模型分工:
Seedream:
- 适合内衣/服饰真人上身图。
- 适合淘宝感、卖货感、轻营销封面。
- 可以生成少量中文卖点,但仍必须限制在 allowed_copy_text。
image2:
- 适合无字商品摄影。
- 适合挂拍、平铺、收纳、材质、肩带、背扣、边缘走线等细节图。
- 对假品牌、假 Logo、信息图漂移更可控。
- 不建议直接生成成人内衣真人上身图。
overlay_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 张推荐路由:
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
面料、肩带、背扣、边缘走线等单个细节,无文案。
前端交互原则:
普通客户不显示模型下拉框。
普通客户只选择:平台、图片数量、比例、是否真人上身、是否需要文案、视觉偏好。
高级调试/运营后台才显示模型覆盖选项。
混合模型成套感约束:
Seedream 和 image2 可以混合生成同一套图,但不能只靠 slot 自己发挥。
后端必须为同一批次生成 visual_system_guard,并注入每一张 prompt。
visual_system_guard 至少包含:
- 统一商品主色:商品颜色、材质、结构不能随模型改变。
- 统一背景色系:同一批次限定 1-2 个背景色族,例如冷灰 / 蓝灰 / 浅灰,不允许一张深灰商业棚拍、一张暖白生活大片差太远。
- 统一背景明度:默认中浅灰到浅灰,不要 Seedream 过深、image2 过白;除白底合规图外,不要纯白大底。
- 统一光线:柔和自然光或柔和棚拍二选一,同一批次不要混用夜景、强硬光、暖黄家居光和冷灰棚拍。
- 统一构图气质:高端淘宝轮播商品摄影,主体大、低信息密度、留白克制。
- 统一后处理:输出后可做轻量色温/亮度/对比度归一化,让不同模型看起来像同一品牌同一天拍摄。
若混合模型结果看起来不是一套,优先修 visual_system_guard 和后处理,不退回让客户手动选模型。
5. 背景反差规则
新增后端字段:
product_color_family = 从商品图或商品数据识别出的主色
background_contrast_guard = 根据主色生成的背景避让规则
直接写进 prompt:
背景必须和商品主色形成清楚反差,不能让商品和背景同色相融。
浅色商品不要使用奶白、浅米、浅粉等近似大面积背景;优先使用冷灰、蓝灰、浅绿、浅薰衣草、自然木色、明确投影或边缘光。
黑色/深色商品不要使用黑色、深灰、深棕大背景;优先使用暖白、浅灰、肤色墙面、浅木色或日光窗边背景。
粉色/红色商品不要使用同色粉红或红色大背景;优先白、浅灰、浅绿、浅蓝、自然木色。
除亚马逊 MAIN 或明确白底 slot 外,不要把整组图片都做成白底/浅灰底。
6. 内衣类模型分支
6.1 Seedream
Seedream 可以生成成人内衣上身图,但容易出现其他衣服污染。
Seedream 内衣上身图必须注入:
这是真人试穿商品头图任务。
必须生成成人模特直接穿着参考商品图中的内衣,内衣是唯一服饰重点。
罩杯、肩带、下围、杯型、面料、颜色和关键版型必须完整可见,并与参考商品一致。
不要出现 T 恤、衬衫、吊带背心、运动上衣、连衣裙、制服、职业装、厚外套或任何遮挡内衣主体的第二件衣服。
不要把内衣穿在其他衣物外面,也不要在内衣下面加一层衣服。
最多允许轻薄开衫、薄纱或披肩松散搭在肩膀/手臂外侧,但不得盖住罩杯、肩带、下围和关键版型。
画面是正规电商服饰目录拍摄,成人、克制、商品展示向,非性感化,非挑逗姿势。
本张默认无文案,不要活动条、卖点图标和复杂模板。
镜头建议为脖颈以下到腰部/胯部以上的上半身商品目录构图,模特正面或轻微侧身,罩杯、肩带、下围和背带结构不能被裁切。
不要生成时尚大片、写真大片、暧昧姿势、夸张首饰、纹身、强烈夜店光、品牌水印、伪水印或角落签名。
Seedream 内衣 4 张推荐:
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 张相似浅色商品图。推荐角色:
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:
{
"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 映射问题。
当前代码:
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")
问题:
平台套图前端默认 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。
必须改:
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 保证最终像素比例或最终像素尺寸。
同批次导出契约:
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() 推荐策略:
优先主体保护裁切:适合商品主体完整、背景足够的图。
主体会被裁掉时改用补边:使用同批次背景色 / 模糊延展 / 纯净浅灰补边,不改变商品本体。
禁止直接拉伸变形。
禁止同一批次有的图 1664x2496、有的图 1024x1024 直接进入素材库。
建议平台默认比例:
淘宝 / 天猫 / 京东 / 拼多多 / 快手 / 视频号 / 1688:默认 1:1,适合商品上架主图。
亚马逊 MAIN:默认 1:1,纯白合规主图。
抖音电商:商品上架主图默认 1:1;鞋包服饰类可额外支持 3:4,但不是默认全平台 4:5。
小红书:商城商品主图默认 1:1;如果用户明确选择“笔记封面 / 种草封面”,再用 3:4。
不要把内容流封面比例直接当商品上架主图比例。
验收标准:
用户选 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 理解。
结论:
大多数电商商品主图仍然以 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 平台比例选择规则
如果用户未手动选择比例:
使用 platform_default_ratio。
如果用户手动选择比例:
仍应尊重用户选择,但最终图片必须真实裁切/补边到该比例。
如果用户选择的平台默认不适合该比例:
前端可以给轻提示,例如“淘宝/京东/拼多多商品主图通常建议 1:1,当前选择 4:5 可能不适合直接上架”。
如果用户目标是“内容封面”而非“商品上架主图”:
抖音 / 小红书 / 快手 / 视频号可使用 3:4、4:5 或 9:16,但 prompt 中必须标记 cover_usage = content_feed_cover。
如果目标是“商品上架主图”:
不要默认使用 4:5。
7.2.3 建议配置
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 对当前产品的直接修正
平台套图页面不要再全局默认 4:5。
默认比例应改为“自动:按平台推荐”。
如果开发暂时不做自动比例,保守默认应改成 1:1,而不是 4:5。
比例选择器保留 1:1 / 3:4 / 4:5 / 9:16 / 16:9,但 4:5 不作为任何商品上架主图默认值。
7.2.5 尺寸来源与可信度
官方公开规范优先,其次使用平台商家后台公告、平台学习中心、主流设计工具/服务商整理。
淘宝、天猫、拼多多、微信小店、小红书店铺等平台部分尺寸规则会按类目和后台版本变化,公开网页不一定完整;最终实现应保留后台配置能力。
参考链接:
- 抖音电商学习中心《商品主图发布规范》: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. 后端主模板建议
参考图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. 通用负面提示词
不要生成详情页、详情长图、多屏排版、店铺页面、平台 UI、直播间界面、二维码、联系方式、水印、平台 Logo、官方认证标识、虚假角标。
不要根据商品名称重新生成商品,不要凭空设计新商品,不要改变参考商品图中的包装、Logo、颜色、材质、文字、图案、比例和关键细节,不要把商品生成成其他品类,不要擅自增加套装、配件或赠品。
不要生成商品数据中不存在的品牌名、英文 Logo、系列名、角落签名、模型名、AI 工具名、伪水印或装饰性商标。
不要生成商品数据中不存在的价格、优惠券、满减、折扣、限时活动、销量、排名、认证、功效承诺、医疗效果、绝对化用语或夸大宣传。
不要出现错别字、乱码、小字堆叠、不可读文字、大段文案、过度牛皮癣式排版。不要让文字遮挡商品主体。
不要生成 2x3 / 3x3 信息宫格、密集图标卖点、参数表、横向长条详情页、结构箭头堆叠或把多张详情页压缩进一张图。
不要让商品和背景同色相融。不要用与商品主色过于接近的大面积背景,不要让浅色商品贴在奶白/浅米/浅粉底上消失,不要让深色商品贴在深灰/黑色背景里丢失边缘。
若 display_mode = on_model 且商品为内衣、泳衣或贴身衣物,不要出现 T 恤、衬衫、吊带背心、运动上衣、连衣裙、制服、职业装、厚外套或任何遮挡内衣主体的第二件衣服。
不要让同组图片看起来像同一张图的重复版本。不要重复同一背景、同一构图、同一镜头距离、同一商品位置和同一信息重点。
10. 开发落地顺序
P0:
- 前端默认 prompt 删除
详情排版。 - API payload 新增
platform_id,后端 request_payload 保存platform_id。 - 后端保存
target_ratio和target_export_size,修正_ratio_to_image_size(),所有模型原图必须经过normalize_output_image()裁切/补边/resize 到同一批次统一像素尺寸。 - 后端 cover 参考图改为
_product_reference_urls(product, limit=3)。 build_platform_cover_prompt_refs()接收platform_id/index/count/model_route/selected_model/product_ref_count/target_ratio,其中selected_model仅用于内部调试覆盖。- 后端维护低信息密度版
PLATFORM_COVER_BLOCKS和slot_prompt_block。 - 增加模型能力检查,保存
supports_image_edit / reference_lock_level / product_ref_count,避免把 Seedream 当成强参考编辑模型。 - 新增
model_route = auto:按slot_name / category / copy_policy / platform_id自动选择 Seedream、image2 或 image2 + overlay_text;普通客户不显示模型选择。 - 内衣类新增 Seedream / image2 模型分支,但默认 4 张不使用复杂结构说明图和详情宫格。
- 加
visual_system_guard,混合模型同批次必须统一商品主色、背景色族、背景明度、光线和后处理。 - 加
background_contrast_guard,避免商品融背景。 - debug metadata 保存
raw_width/raw_height/normalized_width/normalized_height/crop_or_pad_method,方便排查尺寸问题。
P1:
- 增加
copy_plan生成,基于商品库卖点丰富文案。 - 商品上传后生成/缓存
product_cutout_ref。 - 将 prompt、platform_id、slot_name、copy_policy、background_contrast_guard 写入 debug metadata。
- admin 提示词从单一
platform_cover拆为platform_cover_base + platform_cover_{platform_id},支持设计师按平台微调。 - 增加高级调试开关,允许内部人员覆盖
selected_model,但必须记录override_by_user = true和覆盖原因。
11. 验收标准
必须通过:
- 平台套图不再出现详情页、详情长图、多屏排版。
- 默认 4 张都像头图:主体大、信息少、没有参数表/长卖点/复杂箭头/密集宫格。
- 用户选择的比例必须被最终图片像素遵守,4:5 不能返回 1:1,3:4/9:16 不能返回 2:3。
- 同一批平台套图最终返回的图片必须是完全相同的像素尺寸,不能混用 Seedream 原始尺寸和 image2 原始尺寸。
- 同一平台 4 张图不是同一张图的轻微变体。
- 淘宝、抖音、小红书、京东的背景、镜头和排版明显不同。
- 内衣 Seedream 上身图不出现其他衣服遮挡内衣。
- image2 内衣 4 张至少覆盖挂拍、生活平铺、轻卖点封面、质感特写等不同视觉角色。
- 商品颜色不能和背景融在一起。
- 商品形态、颜色、结构、Logo、材质不能被模型重新设计。
- 文案可以基于卖点丰富,但不能编造价格、折扣、百分比、杯型范围、销量、认证。
copy_policy = none的图片不得出现任何文字、假品牌、假 Logo、模型名、工具名、伪水印或角落签名。- image2 生成结果不得漂成信息图/详情页压缩图;Seedream 上身图不得漂成性感写真或裁切掉内衣关键结构。
- 普通客户前台不出现 Seedream / image2 模型选择;默认 4 张内衣套图应按路由生成:上身图 Seedream,挂拍/平铺/细节 image2,准确文案走 overlay_text。
- 混合模型同批次必须看起来像一套:商品颜色一致、背景色族一致、背景明度差异不过大、光线方向和后处理气质一致。