photo-kit 是做什么的?
所有像素决策均由 scripts/photo_kit.py 做出。你的任务是运行它,阅读报告和审查表,为少数需要调整的照片编写覆盖文件,仅重新处理那些照片,然后将文件夹交给人类。
不要以任何其他方式编辑图像。除非某项检查连续失败两次,否则不要重写脚本。
设置(每个项目一次)
- Python 3.10+ 并运行
pip install -r requirements.txt(Pillow 10.1+、numpy、opencv-python-headless、fontTools、brotli)。 - 一个项目配置文件 JSON,仅列出与
config.default.json不同的内容(品牌 Logo、字体文件、颜色、URL、可选材质样本)。 网页字体通常拆分为多个子集:在brand.font中列出每个文件。
运行
python <skill-folder>/scripts/photo_kit.py process IN_DIR OUT_DIR --config <project-config.json> [--overrides OUT_DIR/overrides.json] [--only stem1,stem2]
python <skill-folder>/scripts/photo_kit.py cards OUT_DIR cards.json --config <project-config.json>
python <skill-folder>/scripts/photo_kit.py verify OUT_DIR
每张照片的输出:OUT_DIR/<stem>/00_master.png(无损)、平台 JPEG、可选品牌卡片;以及 manifest.csv、report.json 和 _review/before_after_NN.jpg。
切勿将输出目录放在输入文件夹或网站源代码树内。
审查循环(先文本,后图像)
- 读取控制台摘要和
report.json。仅对明确的信号采取措施(被跳过的大倾斜、TOO SMALL标志、明显的色偏、看起来被拉伸的人物等)。 - 打开审查表一次。对于糟糕的裁剪,设置
{"focus": [x, y]}(主文件的 0-1 范围)。 - 编写
OUT_DIR/overrides.json并使用--only重新处理受影响的文件。 - 卡片:编写
cards.json,仅包含经批准的标题(最长约 45 个字符)。对于竖版照片上的竖版卡片,使用"fit": "whole"。 - 运行
verify(必须打印clean),然后报告文件夹路径、平台用途、剩余标志以及任何无法修复的照片。人类在上传前进行最终审核。
对照片库进行排序
对包含每个主题子文件夹的文件夹运行 process。根据 report.json 中的 quality 分数(锐度 × 分辨率因子)排序,对 TOO SMALL 标志进行惩罚,然后审查候选照片的缩略图表。
永不更改的规则
- Google Ads 图片:仅纯导出(无 Logo、文字、边框或描边)。
- Business Profile:仅轻度校正;默认为纯导出。
- 切勿更改产品本身:不重新着色、不添加纹理、不去除瑕疵、不使用 AI 填充。裁剪杂乱区域可以。
- 仅使用组织自身的照片。不包含客户脸部、门牌号或第三方摄影师署名。
- 保留原始文件;输出始终是新文件。
- 卡片标题仅来自批准的内容。
调优
在项目配置中调整 correction 强度和 card_formats(而不是脚本)。逐张照片的覆盖文件处理例外情况。