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、可選的材質樣本)。 Web 字型通常會分割成子集:在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 分數(sharpness × 解析度因子)進行排名,對 TOO SMALL 標記扣分,然後審閱排名最前面的候選清單。
永不改變的規則
- Google Ads 圖片:僅純粹輸出(無 Logo、文字、邊框或邊界)。
- Business Profile:僅輕度校正;預設為純粹輸出。
- 絕不改變產品:不重新上色、不添加質感、不修復缺陷、不使用 AI 填充。裁切雜亂部分是可以的。
- 僅限於組織自己的照片。不得包含客戶的臉孔、門牌號碼或第三方攝影師的版權資訊。
- 保留原始檔案;輸出永遠是新檔案。
- 卡片標題僅來自於核准的文案。
調整
在專案設定檔(而非腳本)中調整 correction 強度與 card_formats。每張照片的覆寫用於處理例外情況。