在外贸、电商运营、商品摄影和独立站维护中,图片往往不是“有没有”的问题,而是“能不能快速找到、正确对应、批量处理并规范交付”的问题。
一个产品可能有多个颜色、尺寸和型号;每个 SKU 又可能包含主图、正面图、细节图、尺寸图、场景图、包装图和配件图。摄影师交付的文件名可能是 IMG_001.jpg,供应商提供的目录可能只有“黑色”“白色”“最终版”“shots”等名称,而运营人员手里的商品表格又使用“货号”“商品编码”“平台 SKU”“颜色中文”等不同列名。
当 SKU 数量从 10 个增长到 100 个,图片从几十张增长到几千张时,手工建立目录、修改文件名、转换格式、检查缺图和打包交付,就会成为一项耗时、容易出错、又难以复用的工作。
商品图片整理与 SKU 打包工具的目标,就是把这套流程变成一个可以检查、可以确认、可以重复使用的工作流:
商品表格 + 图片目录或 ZIP
↓
识别表格字段、目录和文件名
↓
建立 SKU 与图片角色映射
↓
人工确认与质量检查
↓
批量调整格式、尺寸、质量和命名
↓
生成按 SKU 整理的 ZIP 与报告
本文从最简单的第一次使用开始,逐步讲解目录映射、文件名映射、组合 SKU、图片角色、输出方案、质量检查以及高级 JSON 配置。所有示例均与正式版 1.0 的实际配置结构和处理逻辑一致。
一、这款工具解决什么问题
它不是 Photoshop,也不是在线设计软件。它主要处理的是商品图片进入平台、网站、客户资料库或摄影交付目录之前的“整理阶段”。
1. 将杂乱图片整理到正确的 SKU
输入可能是:
images/
├── 黑色/
│ ├── DSC_1001.jpg
│ ├── DSC_1002.jpg
│ └── DSC_1003.jpg
├── 白色/
│ ├── IMG_2201.jpg
│ └── IMG_2202.jpg
└── 产品表.xlsx
经过表格字段和目录、文件名分析后,可以整理为:
CUP-500-BLK/
├── CUP-500-BLK-MAIN-01.jpg
├── CUP-500-BLK-DETAIL-02.jpg
└── CUP-500-BLK-SIZE-03.jpg
CUP-500-WHT/
├── CUP-500-WHT-MAIN-01.jpg
└── CUP-500-WHT-DETAIL-02.jpg
2. 根据商品表格建立唯一 SKU
表格可能只有:
| 货号 | 颜色 | 尺寸 |
|---|---|---|
| P100 | BLACK | L |
| P100 | WHITE | L |
单独使用 P100 无法区分两个商品。工具可以组合为:
P100-BLACK-L
P100-WHITE-L
正式版向导会在发现货号重复、同时存在颜色或尺寸字段时,自动建议组合 SKU。
3. 识别图片用途
工具内置常见图片角色:
| 内部角色 | 常见含义 |
|---|---|
MAIN | 主图、首图、白底图、Hero |
FRONT | 正面图 |
BACK | 背面图 |
SIDE | 侧面图 |
TOP | 顶部图 |
BOTTOM | 底部图 |
DETAIL | 细节图、局部图 |
SIZE | 尺寸图、规格图、参数图 |
LIFESTYLE | 场景图、模特图、生活方式图 |
PACKAGE | 包装图、外箱图 |
ACCESSORY | 配件图、清单图 |
INSTRUCTION | 说明图、安装图、教程图 |
CERTIFICATE | 证书图、认证图 |
OTHER | 未识别角色 |
未识别的图片默认设为 OTHER,不会随意猜成主图。
4. 批量生成不同用途的图片
同一批图片可以生成多个输出方案,例如:
- 保留原格式,仅整理和重命名;
- 网站大图 WebP;
- 网站缩略图 WebP;
- 标准 2000×2000 JPG;
- 高清客户包。
5. 在输出前发现问题
工具可以检查:
- 图片损坏或无法读取;
- 分辨率不足;
- 文件过大;
- 缺少主图;
- 每个 SKU 图片数量不足;
- 完全重复图片;
- 疑似近似重复图片;
- 图片模糊;
- 主图四角是否接近白色;
- PNG 是否带透明通道;
- 图片是否未匹配到 SKU。
二、适合哪些用户
外贸工厂
适合整理供应商、摄影师和业务员之间流转的产品图片,并按货号或 SKU 打包交付给海外客户。
Amazon、eBay 等平台卖家
适合在正式上传前统一商品图命名、角色、尺寸和目录,并检查缺主图、重复图等问题。
Shopify、WooCommerce 和独立站运营
适合生成 WebP 大图和缩略图,减少网页图片体积,并保持清晰的 SKU 文件结构。
商品摄影工作室
适合把拍摄原始交付快速整理成客户要求的目录、文件名和规格。
跨境代运营团队
适合为多个客户、多个店铺、多个产品系列保存不同的规则和输出模板。
三、新手快速入门:完成第一次图片整理
第一步:准备商品表格
最简单的表格只需要一列:
| SKU |
|---|
| CUP-500-BLK |
| CUP-500-WHT |
程序默认字段映射是:
{
"source": "SKU",
"target": "SKU",
"transforms": ["trim", "upper"],
"required": true,
"enabled": true
}
含义是:
- 读取名为
SKU的表格列; - 去掉首尾空格;
- 转为大写;
- 将它作为系统内部 SKU;
- 该字段不能为空。
表格也可以使用“货号”“商品编码”“产品编码”“Item No.”“Seller SKU”等常见列名。新手向导会尝试自动识别。
第二步:准备图片
支持以下常见方式:
方式 A:每个 SKU 一个文件夹
images/
├── CUP-500-BLK/
│ ├── MAIN.jpg
│ ├── DETAIL.jpg
│ ├── SIZE.jpg
│ └── LIFESTYLE.jpg
└── CUP-500-WHT/
├── MAIN.jpg
├── DETAIL.jpg
├── SIZE.jpg
└── LIFESTYLE.jpg
这是最稳定、最容易识别的方式。
方式 B:SKU 写在文件名中
CUP-500-BLK-MAIN-01.jpg
CUP-500-BLK-DETAIL-02.jpg
CUP-500-WHT-MAIN-01.jpg
CUP-500-WHT-DETAIL-02.jpg
方式 C:整个目录打包成 ZIP
product-images.zip
工具会安全解压并保留相对目录结构。
第三步:选择新手向导
推荐第一次使用时选择:
新手向导(推荐)
正式版内置四个主要预设:
- 新手向导(推荐):自动识别表格、目录、SKU 和图片角色,并进入分析确认;
- 按 SKU 整理(通用):使用目录或文件名匹配,输出标准 JPG 与报告;
- 独立站 WebP:生成网站大图和缩略图;
- 只质检不转换:不生成图片版本,只输出分析、映射和质检报告。
第四步:上传表格和图片
上传后,系统会先创建任务,再分析:
- 找到多少个表格;
- 读取到多少条商品记录;
- 找到多少张图片;
- 识别到多少个 SKU;
- 成功匹配多少张;
- 有多少未匹配或冲突;
- 识别了哪些图片角色。
第五步:确认分析结果
处理前必须查看分析确认页。
重点检查:
- SKU 是否正确;
MAIN是否只有一张;DETAIL、SIZE、LIFESTYLE是否分配正确;- 是否出现
shots、images、photos之类通用目录被误识别成 SKU; - 是否有未匹配图片;
- 是否有需要手动修改的角色。
第六步:查看模拟输出
系统会根据当前输出方案,模拟可能生成的 ZIP 结构。
例如:
JPG/
├── CUP-500-BLK/
│ ├── CUP-500-BLK-MAIN-01.jpg
│ ├── CUP-500-BLK-DETAIL-02.jpg
│ └── CUP-500-BLK-SIZE-03.jpg
└── CUP-500-WHT/
└── ...
_reports/
├── manifest.csv
├── mapping.csv
├── quality-report.csv
├── analysis.json
└── task-config.json
此时可以提前发现:
- 文件名重名;
- 模板变量为空;
- 缺少主图;
- 输出路径过长;
- 输出方案过多;
- 预计输出数量异常。
第七步:确认并处理
处理完成后会得到 ZIP 和取件码。
请保存取件码。即使刷新页面或更换设备,也可以在取件页面重新查询和下载有效结果。
四、理解 SKU 映射
“映射”就是告诉系统:一张图片属于哪个商品。
正式版默认使用两条映射规则:
- 一级目录精确匹配已知 SKU;
- 文件名包含已知 SKU,并优先匹配最长 SKU。
1. 一级目录匹配
图片:
images/CUP-500-BLK/MAIN.jpg
表格中存在:
CUP-500-BLK
系统读取一级父目录 CUP-500-BLK,与表格 SKU 精确匹配。
默认规则结构:
{
"name": "一级目录匹配已知 SKU",
"source": "parent1",
"mode": "exact",
"target_field": "SKU",
"transforms": ["trim", "upper", "underscore_to_dash"],
"enabled": true,
"stop": true
}
其中:
source: parent1:读取图片的一级父目录;mode: exact:必须精确相等;target_field: SKU:与商品记录中的 SKU 字段匹配;underscore_to_dash:把下划线统一为横杠;stop: true:匹配成功后不继续执行后面的规则。
2. 文件名包含 SKU
图片:
factory_CUP-500-BLK_MAIN_01.jpg
系统可以在文件名中找到:
CUP-500-BLK
默认规则结构:
{
"name": "文件名包含已知 SKU",
"source": "stem",
"mode": "longest_contains",
"target_field": "SKU",
"transforms": ["trim", "upper", "underscore_to_dash"],
"enabled": true,
"stop": true
}
stem 表示不含扩展名的文件名。
longest_contains 很重要。例如商品表同时存在:
CUP-500
CUP-500-BLK
文件名为:
CUP-500-BLK-MAIN
系统优先使用更长、更具体的 CUP-500-BLK。
3. 通用目录过滤
正式版内置通用目录词:
images
image
imgs
photos
photo
shots
shot
pictures
pic
素材
图片
产品图
product-images
这些目录通常只是素材容器,不应当直接成为 SKU。
因此:
Supplier-A/BLACK/shots/factory_P100-BLACK-L_MAIN_01.jpg
系统不会仅因为 shots 是父目录,就把 SKU 判断成 SHOTS。
五、组合 SKU:货号、颜色和尺寸
假设商品表是:
| 货号 | 颜色中文 | 尺寸 |
|---|---|---|
| P100 | 黑色 | L |
| P100 | 白色 | L |
因为货号重复,向导会组合:
{BASE}-{COLOR}-{SIZE_CODE}
得到:
P100-BLACK-L
P100-WHITE-L
对应配置思路:
{
"field_mappings": [
{
"source": "货号",
"target": "BASE",
"transforms": ["trim", "upper"],
"required": true,
"enabled": true
},
{
"source": "颜色中文",
"target": "COLOR",
"aliases": {
"黑色": "BLACK",
"白色": "WHITE"
},
"transforms": ["trim", "upper"],
"enabled": true
},
{
"source": "尺寸",
"target": "SIZE_CODE",
"transforms": ["trim", "upper"],
"enabled": true
},
{
"target": "SKU",
"template": "{BASE}-{COLOR}-{SIZE_CODE}",
"transforms": ["trim", "upper"],
"required": true,
"enabled": true
}
]
}
正式版内置一组常见中文颜色别名,例如:
黑 / 黑色 → BLACK
白 / 白色 → WHITE
红 / 红色 → RED
蓝 / 蓝色 → BLUE
绿 / 绿色 → GREEN
粉 / 粉色 → PINK
灰 / 灰色 → GRAY
黄 / 黄色 → YELLOW
紫 / 紫色 → PURPLE
棕 / 棕色 → BROWN
如果企业有自己的颜色编码,如 BK、WH、BL,可以在高级配置中修改别名表。
六、图片角色识别
正式版通过文件名或路径中的关键词识别角色。
例如:
P100-BLACK-L-MAIN-01.jpg
P100-BLACK-L-DETAIL-02.jpg
P100-BLACK-L-SIZE-03.jpg
识别为:
MAIN
DETAIL
SIZE
内置角色规则使用正则匹配。例如主图规则会识别:
MAIN
HERO
主图
首图
白底图
规则示例:
{
"name": "主图",
"source": "stem",
"mode": "regex",
"pattern": "(^|[-_\\s])(MAIN|HERO|主图|首图|白底图)([-_\\s]|$)",
"role": "MAIN",
"enabled": true,
"ignore_case": true
}
注意 JSON 中的反斜杠需要写成双反斜杠:
\s 在 JSON 字符串中写成 \\s
为什么未识别角色设为 OTHER
这是为了避免错误自动化。
如果系统无法确定某张图片是 MAIN、DETAIL 还是 SIZE,最安全的行为是:
OTHER
而不是按照文件排序自动猜成主图。
用户可以在分析页手动把 OTHER 修改为正确角色。
七、输出方案详解
一个输出方案描述“图片应该怎样生成、放到哪里、叫什么名字”。
正式版默认标准 JPG 输出:
{
"name": "标准 JPG",
"enabled": true,
"format": "JPEG",
"width": 2000,
"height": 2000,
"resize_mode": "fit",
"background": "#ffffff",
"quality": 88,
"max_kb": 0,
"folder_template": "{SKU}",
"filename_template": "{SKU}-{ROLE}-{INDEX:02}.{EXT}"
}
1. format:输出格式
常用值:
JPEG
PNG
WEBP
ORIGINAL
JPEG:适合平台商品图和通用交付;PNG:适合透明背景或文字图;WEBP:适合独立站和网页;ORIGINAL:保留原格式,仅整理、命名和打包。
2. width / height:目标画布
例如:
"width": 2000,
"height": 2000
表示目标画布为 2000×2000。
3. resize_mode:缩放模式
正式版常用:
fit
fit 会保持原图比例,将图片放入目标画布,不会强制拉伸。剩余区域使用背景色补齐。
4. background:背景颜色
例如纯白:
"background": "#ffffff"
5. quality:输出质量
JPEG 和 WebP 会使用质量值控制编码。
例如:
"quality": 88
质量越高,文件通常越大。
6. max_kb:目标体积
例如网站大图预设:
"max_kb": 500
程序会尝试降低编码质量,使文件尽量接近目标体积。但复杂场景图是否能达到精确体积,仍取决于图片内容。
设置为:
"max_kb": 0
表示不设定目标体积。
7. folder_template:目录模板
例如:
"folder_template": "Website/{SKU}"
输出:
Website/CUP-500-BLK/
8. filename_template:文件名模板
例如:
"filename_template": "{SKU}-{ROLE}-{INDEX:02}.{EXT}"
输出:
CUP-500-BLK-MAIN-01.jpg
CUP-500-BLK-DETAIL-02.jpg
{INDEX:02} 表示两位序号:
01
02
03
八、正式版内置输出预设
1. 标准 JPG
尺寸:2000×2000
格式:JPEG
模式:fit
背景:白色
质量:88
目录:{SKU}
文件:{SKU}-{ROLE}-{INDEX:02}.{EXT}
2. 独立站 WebP 大图
尺寸:1600×1600
格式:WEBP
质量:82
目标体积:500 KB
目录:Website/{SKU}
3. 独立站缩略图
尺寸:500×500
格式:WEBP
质量:78
目标体积:160 KB
目录:Website/{SKU}/thumb
文件名后缀:-thumb
4. 整理原格式
向导选择“按 SKU 整理”时可生成:
格式:ORIGINAL
保留原格式
按 SKU 建目录
规范命名
5. 高清客户包
尺寸:3000×3000
格式:JPEG
质量:95
目录:HD/{SKU}
九、质量检查配置
正式版默认质量规则:
{
"min_width": 1000,
"min_height": 1000,
"max_file_mb": 20,
"min_images_per_sku": 1,
"required_roles": ["MAIN"],
"exact_duplicates": true,
"perceptual_duplicates": true,
"phash_distance": 4,
"blur_check": true,
"blur_threshold": 80,
"white_corners": false,
"white_corner_ratio": 0.95
}
1. 最小尺寸
min_width
min_height
低于要求的图片会被标记为分辨率不足。
2. 每个 SKU 最少图片数
min_images_per_sku
例如设置为 5,少于 5 张的 SKU 会产生提示。
3. 必需角色
"required_roles": ["MAIN"]
表示每个 SKU 至少需要一张主图。
也可以增加:
["MAIN", "SIZE"]
4. 完全重复检测
"exact_duplicates": true
用于发现内容完全相同的文件。
5. 近似重复检测
"perceptual_duplicates": true
使用感知哈希检查构图高度相似的图片。
商品图片如果主体、画布和构图非常接近,可能产生低风险提示。它适合作为人工复核线索,不应直接替代人工判断。
6. 模糊检测
blur_check
blur_threshold
用于提示可能模糊的图片。白底图、浅色图和景深照片可能产生误判,因此结果应结合缩略图人工查看。
7. 白色四角检查
white_corners
white_corner_ratio
适合主图白底风险检查。
“只质检不转换”预设会启用白色四角检查,并且不生成图片输出方案,只生成报告。
十、输出 ZIP 中有哪些报告
正式输出包含 _reports 目录。
manifest.csv
记录实际生成的每个文件:
- SKU;
- 角色;
- 来源相对路径;
- 输出方案;
- 输出文件;
- 宽高;
- 格式;
- 文件大小;
- SHA-256。
mapping.csv
记录图片到 SKU 与角色的映射结果:
- 来源路径;
- SKU;
- 角色;
- 状态。
quality-report.csv
记录质检问题:
- SKU;
- 来源相对路径;
- 问题;
- 严重程度;
- 公开可读的说明。
公开报告不会包含服务器绝对路径、管理员错误栈或密钥。
analysis.json
保存分析摘要和映射数据,便于复核。
task-config.json
保存本任务实际使用的公开配置,便于日后复现处理规则。
十一、只分析,不转换图片
有时用户只想了解素材是否完整,不希望生成新图片。
选择:
只质检不转换
该预设的:
"profiles": []
因此输出 ZIP 中只有报告,没有处理后的图片。
这是正常行为,不是故障。
十二、高级 JSON 配置入门
普通用户不需要直接写 JSON。建议先使用向导和可视化配置,再导出当前配置作为模板。
JSON 基础
{
"enabled": true,
"quality": 82,
"roles": ["MAIN", "DETAIL"]
}
规则:
- 对象使用
{}; - 列表使用
[]; - 字符串必须使用双引号;
- 布尔值写
true或false; - 数字不加引号;
- 最后一项后面不能有多余逗号。
字段映射
{
"source": "货号",
"target": "SKU",
"transforms": ["trim", "upper"],
"required": true,
"enabled": true
}
候选来源列
当不同供应商使用不同列名时:
{
"candidate_sources": ["SKU", "货号", "产品编码"],
"target": "SKU",
"transforms": ["trim", "upper"]
}
系统按顺序使用第一个有效字段。
模板组合
{
"target": "SKU",
"template": "{BASE}-{COLOR}-{SIZE_CODE}",
"transforms": ["trim", "upper"],
"required": true,
"enabled": true
}
正则提取 SKU
文件名:
factory_P100-BLACK-L_MAIN_01.jpg
规则:
{
"name": "提取工厂文件名 SKU",
"source": "stem",
"mode": "regex",
"pattern": "^factory_(?P<sku>.+?)_(?:MAIN|DETAIL|SIZE|LIFESTYLE)(?:_\\d+)?$",
"group": "sku",
"target_field": "SKU",
"transforms": ["trim", "upper", "underscore_to_dash"],
"enabled": true,
"stop": true
}
解释:
^factory_:文件名必须以factory_开头;(?P<sku>.+?):捕获 SKU;MAIN|DETAIL|SIZE|LIFESTYLE:允许的角色词;\\d+:一个或多个数字;group: sku:使用命名捕获组sku;- JSON 中反斜杠必须转义为
\\。
正则安全建议
正则应尽量:
- 有明确开头
^和结尾$; - 使用明确分隔符;
- 避免无限嵌套和过度复杂的回溯;
- 先用少量样本测试;
- 查看输出模拟后再处理整批图片。
十三、从新手到精通的推荐路线
阶段 1:使用规范目录
先采用:
SKU/
├── MAIN.jpg
├── DETAIL.jpg
└── SIZE.jpg
选择“新手向导”或“按 SKU 整理”。
阶段 2:学习表格字段映射
掌握:
sourcetargettransformsaliasestemplate
阶段 3:建立企业统一命名规范
推荐格式:
{SKU}-{ROLE}-{INDEX:02}.{EXT}
并要求摄影师或供应商尽可能在文件名中写入 SKU 和角色。
阶段 4:建立不同用途的输出方案
例如:
Website WebP
平台标准 JPG
客户高清包
原格式归档包
阶段 5:保存和复用高级配置
将经过验证的:
- 字段映射;
- SKU 规则;
- 角色规则;
- 输出方案;
- 质检规则;
保存成企业内部模板。
十四、一个完整案例
一家外贸公司有一款手提包,货号相同,但颜色不同。
表格:
| 货号 | 颜色中文 | 尺寸 | 平台货号 |
|---|---|---|---|
| P100 | 黑色 | L | AMZ-P100-BLK-L |
| P100 | 白色 | L | AMZ-P100-WHT-L |
图片:
Supplier-A/
├── BLACK/
│ └── shots/
│ ├── factory_P100-BLACK-L_MAIN_01.jpg
│ └── factory_P100-BLACK-L_DETAIL_02.jpg
└── WHITE/
└── shots/
├── factory_P100-WHITE-L_MAIN_01.jpg
└── factory_P100-WHITE-L_DETAIL_02.jpg
向导会:
- 发现“货号”重复;
- 识别“颜色中文”和“尺寸”;
- 将黑色、白色转换为
BLACK、WHITE; - 组合 SKU;
- 忽略通用目录
shots; - 从文件名匹配 SKU;
- 识别 MAIN 和 DETAIL;
- 进入分析确认;
- 模拟输出目录;
- 按选定方案生成 ZIP。
输出:
P100-BLACK-L/
├── P100-BLACK-L-MAIN-01.jpg
└── P100-BLACK-L-DETAIL-02.jpg
P100-WHITE-L/
├── P100-WHITE-L-MAIN-01.jpg
└── P100-WHITE-L-DETAIL-02.jpg
如果同时启用网站 WebP:
Website/
├── P100-BLACK-L/
│ ├── P100-BLACK-L-MAIN-01.webp
│ └── P100-BLACK-L-DETAIL-02.webp
└── P100-WHITE-L/
└── ...
十五、常见问题
为什么所有图片都识别为 shots?
shots 是常见通用目录,不应作为 SKU。建议使用向导,让系统从文件名或更上级目录匹配已知 SKU。
为什么同一个 SKU 有两个 MAIN?
两个文件名可能都包含 MAIN、主图 或 HERO。在分析确认页将多余图片改为 DETAIL、SIZE、LIFESTYLE 或 OTHER。
为什么 ZIP 中只有报告,没有图片?
当前任务没有启用输出方案,或者使用了“只质检不转换”预设。请至少启用“标准 JPG”“整理原格式”或“网站 WebP”之一。
为什么图片被标记为近似重复?
感知哈希认为构图非常相似。商品图片常常主体和画布一致,因此近似重复只是复核提示。完全重复检测通常更确定。
为什么图片未匹配?
常见原因:
- 表格 SKU 与目录或文件名不一致;
- 横杠和下划线使用不同;
- 文件名没有包含完整 SKU;
- 图片放在通用目录中;
- 商品表缺少对应记录。
不会写 JSON 怎么办?
先使用新手向导。确认任务成功后,再导出配置,逐项学习。JSON 是高级复用方式,不是使用工具的前提。
十六、使用建议
- 尽量让商品表中的 SKU 唯一;
- 目录或文件名至少有一处包含完整 SKU;
- 文件名中写入
MAIN、DETAIL、SIZE等角色词; - 正式处理前检查分析确认和输出模拟;
- 先用 2~5 个 SKU 测试新规则,再处理整批素材;
- 保留原始图片备份;
- 把经过验证的配置保存为团队模板;
- 质检结果用于辅助人工判断,不应机械替代业务审核。
结语
商品图片整理真正耗费时间的地方,通常不是某一次格式转换,而是:
- 图片属于哪个 SKU;
- 图片承担什么角色;
- 有没有缺图、重复图和损坏图;
- 不同用途应该输出什么尺寸和格式;
- 最终怎样命名、分目录并交付。
当这些规则被明确以后,图片整理就可以从零散的人工操作,变成一个可预览、可确认、可重复执行的工作流。
对于外贸工厂、跨境卖家、独立站运营、摄影工作室和代运营团队,这意味着更少的机械操作、更低的错配风险,以及更容易复用的商品素材管理方式。
立即体验商品图片整理与 SKU 打包工具,先从少量测试商品开始,建立适合自己团队的图片工作流。
如果助手未正常显示,可以 点击这里在新窗口打开 。