Community影像github.com

ssjsjdjj/visual-detail-image-processor

电商详情页套版技能,从 PSD/PSB 母版为每款生成独立可编辑长图,保留可替换的嵌入式智能对象及可编辑文案和表格。按需输出 790px JPG 模块。

visual-detail-image-processor 是什麼?

该技能專為电商详情页批量設計而生,能從 PSD/PSB 母版自動為每個商品款式生成獨立的可編輯長圖。它保留母版中的嵌入式智能對象(如商品圖、模特圖)和可編輯的文字、表格圖層,確保後續二次調整的靈活性。支援多種平台(如 Photoshop 腳本、Python 工具鏈),並提供批次處理、AI 審美裁切模特圖、JPG 與分層 PSD 輸出等功能。運作方式包括:讀取商品資料 JSON、生成 JSX 腳本讓 Photoshop 執行套版、最後驗證成品正確性。此技能大幅提升詳情頁生產效率,特別適合需要大量客製化且保有人工編輯彈性的電商團隊。

相容平台~Claude Code~Codex CLI~Cursor
npx skills add https://github.com/ssjsjdjj/codex-image-skills/tree/HEAD/kkc/skills/visual-detail-image-processor

Installed? Explore more 影像 skills: steipete/songsee, affaan-m/frontend-design, mattpocock/improve-codebase-architecture · View all 6 →

在你喜歡的 AI 中提問

開啟一個已預先載入此 Agent Skill 的新對話。

說明文件

視覺詳情頁模板生成

預設交付每款可編輯長圖

  • 詳情頁套版預設使用 可編輯長圖規則。輸入範圍內每個款式各輸出一份已替換為該款內容的獨立長圖,按款歸檔。
  • 目前預設版式暫用 小山行風感洞洞褲-終.psb(790 × 40000 px),保留完整畫布時交付 PSB。可在任務中明確指定舊母版。貨號、材質、尺碼範圍及表格沿用逐字元字型規則。
  • 商品圖和模特/場景圖使用分別可替換的嵌入式智能對象。商品文案、顏色名和表格儲存格使用 Photoshop 原生文字圖層。新母版的 S3 選尺碼、S4 尺碼快選、S5 試穿報告按實際行列數調整網格,保留母版各區標題、配色、模組位置和固定設計。
  • 使用者明確要 JPG 模組時使用下方 JPG 流程。使用者同時要 JPG 時,按需求附加匯出。

逐款套版

  1. 盤點輸入根目錄內全部款式,核對 PSD/PSB 母版和實際圖層。區分固定設計和隨款替換內容。
  2. 每款準備一份任務 JSON 和獨立輸出路徑。綁定商品文案、尺碼表、尺碼快選、既有的試穿報告、商品圖、模特/場景圖及其他隨款變化的模組。現有商品 JSON 可複用為資料來源。
  3. 使用 scripts/build_editable_long_psd.py 逐款產生 JSX,再透過 Photoshop 執行。母版槽位無法匹配或該款素材缺失時,列出款號、模組及缺項。舊款動態內容、合併 JPG 或未完成的母版副本不得作為該款成品交付。
  4. 重開每個輸出 PSD,核對款號、可見內容、文字和表格可編輯性,檢查商品圖和場景圖能分別開啟智慧型物件內容且不依賴外部連結。列出逐款成品路徑及未完成項。

環境準備

首次使用前需在 skill 的 scripts/ 目錄下初始化 Python 環境:

cd scripts
uv sync

如未安裝 uv,先執行:

  • macOS/Linux: curl -LsSf https://astral.sh/uv/install.sh | sh
  • Windows: powershell -ExecutionPolicy ByPass -c "irm https://astral.sh/uv/install.ps1 | iex"

初始化完成後,務必使用 .venv 中的 Python 執行工具腳本。

輸入結構

商品素材結構通常為:

<input-root>/
  <product-folder>/
    product_data.json
    產品資訊.jpg|png
    選尺碼.png|jpg|jpeg
    尺碼快選.png|jpg|jpeg
    透明圖/
      <顏色名>.png
    模特圖/
      1.jpg
      2.jpg
      3.jpg

內建模板目錄為:

template/

模板結構通常為:

template/
  01產品資訊.jpg
  02透明圖.jpg
  03選尺碼.jpg
  04推薦尺碼.jpg
  05尺碼快選.jpg
  模特圖1.jpg
  模特圖2.jpg
  模特圖2覆蓋.png
  模特圖3.jpg

執行流程

  1. 先確認輸入根目錄和輸出根目錄;預設使用 skill 內建 template/ 和 assets/。
  2. 若商品還沒有結構化資料,先使用 GPT 本身的影像辨識能力讀取 產品資訊、選尺碼、尺碼快選 三張圖,依商品合併產生 JSON,並儲存到 scripts/output/product_data/<商品資料夾名>-product_data-<時間戳記>.json。
  3. 讀取 圖片表格轉資料規則,校驗商品 JSON,不確定的內容寫入 warnings,不能編造。
  4. 在執行渲染腳本前,先掃描商品是否存在模特圖素材;只要存在可讀取的模特圖,就必須先使用 AI 審美選圖/選框,為每張可用模特圖輸出源圖原始像素座標,並儲存到 scripts/output/visual_model_selection/visual_model_selection-<時間戳記>.json。
  5. 執行通用批次處理腳本,不允許寫死商品名或商品資料;如果本輪產生了 AI 座標 JSON,必須明確傳入 --visual-model-selection "<座標json路徑>",不能依賴腳本自動回退或自動等待資料。
  6. 對每個商品分別產生輸出子資料夾,子資料夾名保留原商品資料夾名。
  7. 成品圖片只輸出到 --output-root/<商品資料夾名>/;批次處理報告統一輸出到 scripts/output/report/render_report-<時間戳記>.json。
  8. 如果使用者要"分層檔案""PSD""Photoshop 二次調整"或設計師復修交付,改用 scripts/create_layered_psd_package.py;它會同步產生 JPG、PSD 清單和 Photoshop JSX 組裝腳本。
  9. 輸出後做視覺與尺寸檢查,尤其檢查白框、綠線殘留、表格殘影、文字錯位、透明圖大小跳動和模特圖裁切。
  10. 讀取報告確認所有有座標的模特圖 mode 為 visual_model_selection;若回退 cover_crop,必須逐條說明是座標缺失、座標無效、來源檔案不存在,還是當前環境無法可靠視覺判斷。

Photoshop 分層檔案流程

當使用者需要設計師可二次調整的檔案時,使用 Photoshop 分層流程:

cd scripts
uv run python create_layered_psd_package.py `
  --input-root "<input-root>" `
  --output-root "<output-root>"

腳本會在 <output-root>/_photoshop_layered/ 產生:

layered_psd_manifest.json
build_layered_psd.jsx

再呼叫 Photoshop 產生 PSD:

powershell -ExecutionPolicy Bypass -File run_photoshop_jsx.ps1 `
  -JsxPath "<output-root>/_photoshop_layered/build_layered_psd.jsx"

PSD 輸出到:

<output-root>/<商品資料夾名>/_psd/

分層約定:

  • 模板背景獨立為 00 模板背景。
  • 動態替換內容獨立成可開關圖層,如商品透明圖、模特照片、表格圖層、資料區底色。
  • 每個 PSD 預設包含隱藏的 99 成品參考(隱藏),用於設計師對照檢查。
  • 表格和複雜混排文字會以像素圖層保留視覺一致性;產品資訊與顏色名會盡量產生 Photoshop 文字層,方便二次微調。
  • 如果只想基於既有 JPG/素材重建 PSD,不重新渲染 JPG,可加 --skip-jpg-render。

必讀細則

根據任務讀取對應參考文件:

目前腳本

scripts/detail_template_replacer_2000.py
scripts/main.py
scripts/create_layered_psd_package.py
scripts/run_photoshop_jsx.ps1
scripts/create_product_data_template.py
scripts/validate_product_data.py

執行

範例命令:

cd scripts
uv run python main.py `
  --input-root "<input-root>" `
  --output-root "<output-root>"

如果本輪存在模特圖素材,先產生 visual_model_selection-<時間戳記>.json,再明確傳入座標檔案:

cd scripts
uv run python main.py `
  --input-root "<input-root>" `
  --output-root "<output-root>" `
  --visual-model-selection "output/visual_model_selection/visual_model_selection-<時間戳記>.json"

如果使用外部資料目錄或外部模板目錄:

cd scripts
uv run python main.py `
  --input-root "<input-root>" `
  --output-root "<output-root>" `
  --data-dir "<data-dir>" `
  --template-dir "<custom-template-dir>" `
  --visual-model-selection "<visual_model_selection-json>"

驗收底線

  • 每個輸入商品資料夾都必須被處理或被報告原因。
  • 所有輸出圖片寬度必須為 790px。
  • 模板固定文字、背景、綠色塊、logo、裝飾線、覆蓋層不能被動態繪製破壞。
  • 商品資料必須來自 product_data.json 或等價結構化檔案,不能寫死在 Python 裡。
  • 空值留空,不補預設值,不推算。
  • 不能出現白框、綠線殘留、表格殘影、綠色表頭白豎線。
  • 同類文字字型和粗細一致,混排數字不能上下亂跳。
  • 透明圖同頁商品視覺大小一致,顏色名貼近商品且同一基線。
  • 模特圖主體不變形,優先保證頭部完整和主體完整。
  • 含模特圖素材的批次處理必須先產出 AI 座標 JSON 再執行腳本;報告中對應模特圖應顯示 visual_model_selection,除非已明確說明無法使用 AI 座標的原因。

Individual skills in this repo

This repo contains 2 individual skills — each has its own dedicated page.

相關技能