EP Insignia(EP徽章)
ソース画像URLをEPが期待する2つの徽章ファイルに変換し、s3://prod-ep-cmh-insignia(EP AWSアカウント 405995789491、リージョン us-east-2)にアップロードします。
バケット内の既存ファイルに合わせた規約:
- キー:バケットルートに
<プレフィックス>.pngと<プレフィックス>.jpg。<プレフィックス>はEP顧客プレフィックス(小文字、例:audubonpd、alexanderncsheriff)。 - 両方とも512x512。徽章はトリミングされ、収まるように拡大縮小され、中央に小さなマージンが付けられます。
- PNGは透明背景。JPGは白背景。
- コンテンツタイプは
image/pngとimage/jpeg。バケットはBucketOwnerEnforcedを使用しているため、ACLは設定しないでください。
入力
- ソースURL。 ユーザーが指定しなかった場合は、入力を求めます。ローカルファイルパスも使用できます。
- 顧客プレフィックス。 提供されなかった場合は、入力を求めます。機関名から推測しないでください。小文字に正規化し、
a-z 0-9 - _以外は拒否します。
手順
1. 画像を処理する
スクラッチパッド内の新しいワーキングディレクトリ(または mktemp -d)を使用し、次を実行します:
uv run -q <skill_dir>/scripts/process_insignia.py "<url>" "<プレフィックス>" "<workdir>"
uv はスクリプトのインラインメタデータから依存関係をインストールします。初回のAI背景除去実行時に、約180MBのモデルが ~/.u2net にダウンロードされます。
デフォルトの背景モード(--bg auto)は次のように動作します:
- ソースが既に透明背景の場合、そのまま維持されます。
- 境界が単一の無地色(通常は白)の場合、エッジに接続された背景のみが除去されます。徽章内部の白い文字や詳細は保持されます。
- それ以外の場合はAIセグメンテーション(rembg
isnet-general-use)を使用します。
上書きオプション:--bg ai、--bg flood、--bg none でモードを強制します。--margin N でパディングをピクセル単位で設定します(デフォルト4)。
ダウンロードが403または429で失敗した場合、URLがSVGや画像ではなくウェブページの場合、ユーザーに伝え、直接画像リンクを求めます。ユーザーが自分でファイルをダウンロードしてローカルパスを渡すこともできます。
2. アップロード前にレビューする
対照的な色の上にPNGを重ね、JPGと並べたプレビューを生成します:
convert \( <workdir>/<プレフィックス>.png -background '#c33' -flatten \) <workdir>/<プレフィックス>.jpg +append <workdir>/preview.png
preview.png をReadツールで開き、以下を確認します:
- 背景の残骸がないこと(赤い側にハロー、ボックス、フリンジがない)。
- 徽章の欠落部分がないこと(内部の白が除去された穴、切り取られたテキストなど)。
- 正しい機関であること。
結果が不適切な場合は、異なる --bg モードで再実行します。プレビューをユーザーに表示し、スクリプトが報告した背景除去方法と、小さなソース画像に関する警告があればそれも伝えます。
3. AWSアクセスと既存ファイルを確認する
aws sts get-caller-identity --query Account --output text # 期待値:405995789491
aws s3 ls s3://prod-ep-cmh-insignia/<プレフィックス>.
<プレフィックス>.png または <プレフィックス>.jpg が既に存在する場合は、ユーザーに伝えます。これは本番バケットですので、上書き前に明示的な確認を得てください。最初に既存ファイルをバックアップします:
aws s3 cp s3://prod-ep-cmh-insignia/<プレフィックス>.png <workdir>/backup/<プレフィックス>.png
aws s3 cp s3://prod-ep-cmh-insignia/<プレフィックス>.jpg <workdir>/backup/<プレフィックス>.jpg
まだ何も存在しない場合でも、プレビュー表示後にアップロードの確認をユーザーに求めます。
4. アップロード
aws s3 cp <workdir>/<プレフィックス>.png s3://prod-ep-cmh-insignia/<プレフィックス>.png --content-type image/png
aws s3 cp <workdir>/<プレフィックス>.jpg s3://prod-ep-cmh-insignia/<プレフィックス>.jpg --content-type image/jpeg
aws s3 ls s3://prod-ep-cmh-insignia/<プレフィックス>. でアップロードを確認し、両方のS3キー、そのサイズ、およびバックアップの保存場所を報告します。