視覚詳細ページテンプレート生成
デフォルトでは、商品ごとに編集可能な長尺画像を納品
- 詳細ページのテンプレート適用は、デフォルトで編集可能長尺画像PSDルールに従います。入力範囲内の各スタイル(バリエーション)に対して、そのスタイルの内容に置き換えられた独立した長尺画像を1枚ずつ出力し、スタイルごとにフォルダ分けします。
- 現在のデフォルトレイアウトは、暫定的に
小山行风感洞洞裤-终.psb(790 × 40000 px)を使用し、キャンバス全体を保持した状態でPSBを納品します。タスク内で明示的に旧マスターファイルを指定することも可能です。商品コード、素材、サイズ範囲、表については、元の文字単位のフォントルールに従います。 - 商品画像とモデル/シーン画像には、それぞれ個別に置き換え可能な埋め込み型スマートオブジェクトを使用します。商品説明文、カラー名、表のセルには、Photoshopのネイティブテキストレイヤーを使用します。新しいマスターファイルのS3(サイズ選択)、S4(クイックサイズ選択)、S5(試着レポート)は、実際の行数・列数に合わせてグリッドを調整し、マスターファイルの各セクションタイトル、配色、モジュール位置、固定デザインは保持します。
- ユーザーが明示的にJPGモジュールを要求した場合、以下のJPGフローを使用します。ユーザーが同時にJPGも要求する場合、必要に応じて追加エクスポートします。
スタイルごとのテンプレート適用
- 入力ルートディレクトリ内の全スタイルを棚卸しし、PSD/PSBマスターファイルと実際のレイヤーを照合します。固定デザインとスタイルごとに置き換わるコンテンツを区別します。
- 各スタイルに対して、1つのタスクJSONと独立した出力パスを準備します。商品説明文、サイズ表、クイックサイズ選択、既存の試着レポート、商品画像、モデル/シーン画像、その他スタイルごとに変わるモジュールをバインドします。既存の商品JSONはデータソースとして再利用可能です。
scripts/build_editable_long_psd.pyを使用して、スタイルごとにJSXを生成し、Photoshopで実行します。マスターファイルのスロットにマッチしない場合や、そのスタイルの素材が不足している場合は、スタイル番号、モジュール、欠落項目をリストアップします。旧バージョンの動的コンテンツ、マージされたJPG、未完成のマスターファイルのコピーは、そのスタイルの完成品として納品してはいけません。- 出力された各PSDを開き、スタイル番号、表示されている内容、テキストと表の編集可能性を確認し、商品画像とシーン画像がそれぞれスマートオブジェクトの内容を開くことができ、かつ外部リンクに依存していないことを確認します。各スタイルの完成品パスと未完了項目をリストアップします。
環境準備
初回使用前に、スキルの 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
実行フロー
- まず、入力ルートディレクトリと出力ルートディレクトリを確認します。デフォルトでは、スキル内蔵の
template/とassets/を使用します。 - 商品にまだ構造化データがない場合、まずGPT自身の画像認識機能を使用して
产品信息、选尺码、尺码快选の3枚の画像を読み取り、商品ごとに統合したJSONを生成し、scripts/output/product_data/<商品文件夹名>-product_data-<时间戳>.jsonに保存します。 - 画像テーブルからデータへの変換ルール を読み、商品JSONを検証します。不明な内容は
warningsに書き込み、捏造してはいけません。 - レンダリングスクリプトを実行する前に、商品にモデル写真素材が存在するかスキャンします。読み取り可能なモデル写真が存在する場合、必ず先にAIによる審美選定/トリミングを行い、使用可能な各モデル写真に対して元画像のピクセル座標を出力し、
scripts/output/visual_model_selection/visual_model_selection-<时间戳>.jsonに保存します。 - 汎用バッチ処理スクリプトを実行します。商品名や商品データをハードコードしてはいけません。今回の実行でAI座標JSONが生成された場合は、必ず明示的に
--visual-model-selection "<坐标json路径>"を渡します。スクリプトの自動フォールバックや自動データ待機に依存してはいけません。 - 各商品に対して個別の出力サブフォルダを生成し、サブフォルダ名は元の商品フォルダ名を保持します。
- 完成画像は
--output-root/<商品文件夹名>/にのみ出力します。バッチ処理レポートは統一的にscripts/output/report/render_report-<时间戳>.jsonに出力します。 - ユーザーが「レイヤーファイル」「PSD」「Photoshopでの再調整」やデザイナーによる修正納品を希望する場合は、
scripts/create_layered_psd_package.pyを使用します。このスクリプトはJPG、PSDのマニフェスト、Photoshop JSXアセンブリスクリプトを同時に生成します。 - 出力後に視覚とサイズのチェックを行います。特に、白枠、緑線の残り、テーブルの残像、テキストのずれ、透明画像のサイズ変動、モデル写真のトリミングをチェックします。
- レポートを読み、座標を持つすべてのモデル写真の
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を追加できます。
必読の詳細ルール
タスクに応じて対応するreferenceを読みます。
- 任意のバッチタスクを処理する前に、バッチ実行ルール を読みます。
- 固定フォントリソースを理解する必要がある場合、内蔵リソースルール を読みます。
- テンプレートリソースを理解または置き換える必要がある場合、内蔵テンプレートリソースルール を読みます。
- 画像/テーブル素材からデータを取得する必要がある場合、画像テーブルからデータへの変換ルール を読みます。
- テキストの描画やフォントの問題に対処する場合、フォントとテキストルール を読みます。
01产品信息.jpgを処理する場合、商品情報ルール を読みます。02透明图.jpgを処理する場合、透明画像ルール を読みます。03选尺码.jpgまたは05尺码快选.jpgを処理する場合、テーブルルール を読みます。模特图1.jpg、模特图2.jpg、模特图3.jpgを処理する場合、モデル写真ルール を読みます。- AIによる主観的な審美トリミング座標を使用する必要がある場合、スマートモデル写真トリミングルール を読みます。
- スクリプトを使用またはメンテナンスする場合、スクリプト説明 を読みます。
- PSDレイヤーファイルを出力したりPhotoshopを制御する必要がある場合、Photoshopレイヤーファイルルール を読みます。
現在のスクリプト
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でなければなりません。
- テンプレートの固定テキスト、背景、緑色ブロック、ロゴ、装飾線、オーバーレイレイヤーは、動的な描画によって破壊されてはいけません。
- 商品データは
product_data.jsonまたは同等の構造化ファイルから取得する必要があり、Pythonコード内にハードコードしてはいけません。 - 空の値は空のままにし、デフォルト値を補完したり、推定したりしてはいけません。
- 白枠、緑線の残り、テーブルの残像、緑色のヘッダー内の白い縦線が現れてはいけません。
- 同じ種類のテキストは、フォントサイズと太さが一定でなければならず、混在する数字が上下に不規則に跳ねてはいけません。
- 同じページ内の透明画像は、商品の視覚的サイズが一貫しており、カラー名は商品に近く、かつ同じベースライン上にある必要があります。
- モデル写真の被写体は変形してはいけません。頭部と全身が完全に表示されることを優先します。
- モデル写真素材を含むバッチ処理は、先にAI座標JSONを生成してからスクリプトを実行しなければなりません。レポート内の対応するモデル写真には
visual_model_selectionと表示されるべきであり、AI座標を使用できない理由が明確に説明されている場合を除きます。