meitu-id-photo について
meitu-id-photo は、規格に沿った証明写真の作成、背景の変更、1人用ポートレートの生成を行うスキルです。Meitu CLI のツールを用途に応じて使い分け、寸法の正確さと本人らしさの維持を重視します。
主な機能
- 01指定寸法での証明写真生成
- 02既存写真の背景変更
- 031人用・3コマ写真の生成
- 04image-edit と image-portrait-generate の使い分け
- 05生成ファイルのタスク別出力先への保存
活用シーン
- 01パスポートやビザなどの証明写真作成
- 02人物写真を白・青・赤の背景に変更
- 03テーマ写真や3コマ写真の生成
インストール
コマンドをコピーしてターミナルで実行します。
npx skills add https:/ / github.com/ meitu/ meitu-skills --skill meitu-id-photoインストール後、Claude Code で/meitu-id-photoを入力して読み込まれたか確認します。
同梱ファイルreferences/spec-database.md
詳細
概要
このスキルでは「証明写真とポートレート写真」の判断方式を採用しますが、実行時は既存の公開テンプレートツールセットに統一します。
- 標準証明写真:
image-edit - 既存写真の証明写真背景色の変更:
image-edit - 1人のポートレート写真/三分割ポートレート写真/テーマ別ポートレート写真:
image-portrait-generate
基本原則は2つです。証明写真では「規格の正確さ、本人らしさの維持、過度な美化をしないこと」、ポートレート写真では「本人らしさ、明確なスタイル、写真としての質感」を重視します。
実行前に、ユーザーに次の内容を明確に伝えてください。この Skill は Meitu の認証情報を読み取り、ローカルの meitu CLI を呼び出し、人物写真、生成プロンプト、タスクパラメーターを Meitu OpenAPI に送信し、生成結果を ./output/ または $VISUAL/output/meitu-id-photo/ に書き込みます。証明写真の場合、現在のタスクに必要な情報だけを収集し、必要がなければ氏名、性別、その他の個人情報を永続化しません。
依存関係
- meitu-cli (>=2.0.6):
npm install -g meitu-cli@latest- 環境変数を優先します:
MEITU_OPENAPI_ACCESS_KEY/MEITU_OPENAPI_SECRET_KEY - または、認証情報ファイルを事前に配置します:
~/.meitu/credentials.json - ローカルの認証情報を手動で初期化する必要がある場合は、明示的に
meitu config set-ak --value "..."+meitu config set-sk --value "..."を実行できます(ローカルファイルに書き込まれます) - 検証:
meitu auth verify --json
- 環境変数を優先します:
- 環境変数:
MEITU_OPENAPI_TOOL_TASK_MODE=command
パスのエイリアス: 以下では、
$VISUAL={OPENCLAW_HOME}/workspace/visual/とします。
基本的なワークフロー
Preflight -> Intent Routing -> Execute -> Refine -> Deliver -> [Record]
事前確認
meitu --versionを実行します -> インストールされていない場合はnpm install -g meitu-cli@latestを案内しますmeitu auth verify --jsonを実行します -> 認証情報が無効な場合は、設定方法を案内します- モードを検出します:cwd に
openclaw.yamlがある場合はプロジェクトモード、ない場合は単発モードです$VISUALディレクトリを確認します -> 利用可能な機能を特定します can_record = cwd に openclaw.yaml があり、かつ $VISUAL が存在する場合(どちらか一方でも欠けている場合は false) - output_dir を解決します(事前確認中に MUST 完了):
output_dir を解決します:openclaw.yaml がある場合は
./output/、それ以外は$VISUAL/output/meitu-id-photo/mkdir -p {output_dir}
厳守事項:
{output_dir}をスキルフォルダー内に指定することは禁止です。output/ は必ずスキルフォルダーの外部に置きます。 Execute 内のすべての--download-dir {output_dir}では、ここで解決したパスを使用します。
意図の振り分け
まずユーザーの依頼がどの種類のタスクかを判断し、いずれか1つの経路だけを選びます。
| ユーザーの要望 | ツールの経路 |
|---|---|
| 標準証明写真(規格指定あり) | image-edit |
| 既存の証明写真/人物写真の背景を白・青・赤に変更 | image-edit |
| ポートレート写真/アート写真/テーマ別ポートレート写真 | image-portrait-generate |
| 三分割ポートレート写真(同一人物、複数ポーズ、同じテーマと服装) | image-portrait-generate |
対象範囲:
- 複数人の集合写真/複数の被写体がいるシーンの再構成:このスキルでは対応しません
- カートゥーン化、イラスト化、3D アバター:該当するスタイル変換機能に振り分けます
- 通常の人物写真の美化、部分的な顔の修正、軽いレタッチ:汎用の人物写真レタッチ機能に振り分けます
実行
経路 A:標準証明写真
適用条件:ユーザーが明確に、1インチ、2インチ、パスポート、ビザ、身分証明書、運転免許証、入学、結婚証明書、社員証などの標準規格を指定する場合、または「証明写真にして」と明確に依頼する場合です。
実行ルール:
- 写真がない場合 -> 正面を向いた1人の人物写真のアップロードを案内します
- ユーザーが「証明写真にして」とだけ依頼し、規格を指定していない場合 -> 規格を確認します。一般的な選択肢として、1インチ/2インチ/パスポート用を優先して提示します
- 背景色が指定されていない場合 -> 規格に応じたデフォルトの背景色を推定します。推定できない場合は白背景にします
- 証明写真では美顔や顔立ちの調整は行わず、必要な着替え、背景変更、規格に準じたトリミングのみ許可します
- 国やプラットフォームの規格が競合する場合は、必ず先に確認します。たとえば、「中国の1インチ」と「米国ビザ用写真」は同じ規格として扱えません
一般的な規格:
| 用途 | サイズ | 背景 |
|---|---|---|
| 中国の一般的な1インチ | 25x35mm / 295x413px | 青/赤/白 |
| 中国の一般的な2インチ | 35x49mm / 413x579px | 青/赤/白 |
| 中国のパスポート | 33x48mm / 390x567px | 白 |
| 米国のビザ/パスポート | 51x51mm / 600x600px | 白 |
| 日本の履歴書 | 30x40mm | 白 |
| 社員証/学生証 | 22x32mm または 25x35mm | 白 |
完全な規格については、references/spec-database.md を引き続き参照してください。
コマンド:
meitu image-edit \
--skill_name skill_meitu-id-photo \
--image_list {user_photo_url} \
--prompt "{id_photo_prompt}" \
--model praline_pro \
--json \
--download-dir {output_dir}
{id_photo_prompt} は実行時に生成されるプロンプトであり、固定の定数ではありません。テンプレートの要点:
- 規格サイズ、単色背景、正面を向いた目線、上半身または肩から上の構図を明記します
- 元の顔立ちと本人らしさを保ち、顔のパーツの比率を変えず、小顔化や目を大きくする加工をしないことを強調します
- 照明の均一化、服装の差し替え、背景の単色化、証明写真としての構図の整理のみ許可します
- 結果がアート写真の方向に寄る「ポートレート写真らしさ」「高級感」「洗練されたメイク」といった表現は避けます
プロンプトの例:
出力 {spec_name} の標準証明写真。サイズは {spec_size}、背景は {color_name} の単色。人物は正面を向いて中央に配置し、肩から上または標準的な上半身の証明写真の構図にする。元の顔立ちと本人らしさ、顔の比率を厳密に保ち、美顔や顔立ちの調整、小顔化、目を大きくする加工、鼻や口の形の変更は行わない。照明の均一化、背景の単色化、服装を {attire_desc} に整えることのみ行い、全体的に自然で鮮明な仕上がりにする。
服装の選択:
| シーン | 服装 |
|---|---|
| デフォルト | 白い襟付きシャツに濃色のフォーマルジャケットを合わせる |
| 男性のビジネス写真 | 白い襟付きシャツに濃紺のスーツジャケットと濃色のネクタイを合わせる |
| 女性のビジネス写真 | 白いクルーネックブラウスに黒いビジネススーツジャケットを合わせる |
| ユーザー指定 | ユーザーの説明に従って記入します |
経路 B:証明写真の背景色変更
適用条件:ユーザーが基本的に適切な人物写真または証明写真を持っており、白・青・赤の背景に変更することだけを希望し、着替えや大幅な再構成は求めていない場合です。
実行ルール:
- 背景だけを変更し、顔や体型を積極的に変更したり、ポートレート写真風に加工したりしません
- 透明な背景での出力には対応していません
- ユーザーが「背景変更と同時にフォーマルウェアにも着替え、規格に合わせてトリミングし直す」ことを求めた場合 -> 経路 A に切り替えます
コマンド:
meitu image-edit \
--skill_name skill_meitu-id-photo \
--image_list {user_photo_url} \
--prompt "{bg_replace_prompt}" \
--model praline_pro \
--json \
--download-dir {output_dir}
{bg_replace_prompt} は実行時に生成されるプロンプトです。背景の説明の早見表:
- 白背景:
純白色背景(#FFFFFF)均匀铺满 - 青背景:
纯蓝色背景(#438EDB)均匀铺满 - 赤背景:
纯红色背景(#FF0000)均匀铺满
プロンプトの例:
人物の背景を {color_name} の単色の証明写真用背景に置き換える。背景は均一で清潔にし、不要なものやグラデーションを入れない。人物の顔立ちと本人らしさ、髪型、表情、服装、構図は厳密に維持し、美顔、小顔化、顔立ちの変更は行わない。背景の変更と照明のわずかな均一化だけを行い、自然でリアルな仕上がりにする。
経路 C:1人のポートレート写真/三分割ポートレート写真/テーマ別ポートレート写真
適用条件:標準的な証明写真の規格ではなく、ポートレート写真、プロフィール写真、アート写真、テーマ別のシーン写真、三分割ポートレート写真を求めている場合です。
実行ルール:
- ユーザーの元画像を本人らしさの基準とし、別人のようにならないようにします
- ポートレート写真では、テーマ、シーン、服装、照明、レンズの雰囲気を明確にし、抽象的な表現は避けます
- 三分割ポートレート写真は、同じ画面内に3つのコマがある構図を一度に生成し、3枚に分けてから合成しないようにします
- デフォルトではリアルな写真の質感にし、カートゥーン化やポスター風のレイアウトは行いません
コマンド:
meitu image-portrait-generate \
--skill_name skill_meitu-id-photo \
--image_list {user_photo_url} \
--prompt "{portrait_prompt}" \
--size 2K \
--json \
--download-dir {output_dir}
{portrait_prompt} はユーザーのテーマに応じて動的に生成します。
- 通常のポートレート写真:
soft studio portrait, natural skin texture, {theme}, {outfit}, {lighting}, keep facial identity - テーマ別ポートレート写真:
retro yearbook portrait、soft window light、vintage knitwearなど、明確なシーンと写真表現を加えます - 三分割ポートレート写真:
vertical three-panel composition, same person, same outfit, three poses, consistent lightingを明記します
微調整
ユーザーが指摘した問題だけを、最小限の変更で修正します。
| フィードバック | 調整 |
|---|---|
| 背景色が違う | 背景プロンプトを変更して再実行 |
| 仕様が違う | {spec_name} と対応するサイズの説明を変更して再実行 |
| 服装が違う | attire_desc を変更して再実行 |
| 本人に似ていない | より正面を向いた、鮮明な元画像への差し替えを提案 |
| 人物の位置がずれている | 元のパスで再実行 |
| 写真のスタイルが明確でない | テーマ/照明/服装/シーンを追加して再実行 |
ツールの実行成功後に、こちらから追加分析や自動再実行を行わないでください。ユーザーが満足するまで、反復は最大 3 回を目安にしてください。
納品
output_dir は Preflight で解決済みで、ファイルは --download-dir によって {output_dir} にダウンロードされています。最終ステップが返す JSON の downloaded_files[0].saved_path がローカルファイルのパスです。Deliver では名前の変更のみを行います。
mv "{downloaded_files[0].saved_path}" "{output_dir}/{date}_{output_label}.{ext}"
{ext} は downloaded_files[0].saved_path の実際の拡張子を使用します。
命名の提案:
- 証明写真:
{YYYY-MM-DD}_{spec_name}_{color_name}.{ext} - 背景色の変更:
{YYYY-MM-DD}_id-photo-bg-{color_name}.{ext} - ポートレート写真:
{YYYY-MM-DD}_portrait-set.{ext}
納品時の説明:
- 標準的な証明写真:仕様と背景色を説明します。例:「2 寸、青背景の証明写真」
- 背景色の変更:新しい背景色を説明します
- ポートレート写真:テーマと出力形式を説明します。例:「3 コマのキャンパス写真」
記録(プロジェクトモードでは必須/単発モードではスキップ)
前提条件: can_record = cwd に openclaw.yaml があり、かつ $VISUAL が存在すること(いずれか一方でも欠けている場合は false)。条件を満たさない場合 -> すべての記録をスキップし、フィードバックが有効なのは現在の会話のみです。
フィードバックなし -> 完全にスキップし、observations.yaml を読み込みません。オーバーヘッドはゼロです。
ユーザーがスタイルを承認 ->
$VISUAL/memory/observations/observations.yaml を読み込む -> 類似するキーを検索 -> 統合または追加 -> 書き戻します。len(projects) >= 2 の場合 -> 保存を提案します(ブロッキングしません):
「ちなみに、N 個のプロジェクトで一貫して X を好まれています。保存しますか? -> シーンに保存 [デフォルト] -> グローバル設定に保存 -> 保存しない」 ユーザーが確認した場合 ->
$VISUAL/memory/scenes/{scope}.mdまたはglobal.mdに書き込み、その後 observation キーを削除します ユーザーが反応しない場合 -> 何もしません
ユーザーが拒否(「XX はやめて」) -> openclaw.yaml がある場合 -> スコープを確認 -> プロジェクト:DESIGN.md の Constraints/全体:quality.yaml(ユーザーの確認が必要) openclaw.yaml がない場合 -> 現在のタスクにのみ適用し、何も書き込みません
出力
- 形式:実際にダウンロードしたファイルに基づきます(通常は JPG)
- 命名:Deliver に記載されたタスクの種類に従います
- 場所:Deliver のステップで決定します
対応範囲
この skill が対応するのは「証明写真/証明写真の背景色変更/一人用ポートレート写真セット」の 3 種類のタスクです。以下には対応しません。
| 対応しない内容 | 説明 |
|---|---|
| 複数人の集合写真/複数の被写体を同じフレームに再構成 | 一人用の証明写真/ポートレート写真のシーンではありません |
| カートゥーン化/イラスト化/3D アバター | 写真のリアルな表現を目指す経路ではありません |
| 通常の人物写真の軽微な補正/部分的な肌補正/顔の細部の修正 | この skill の主な用途ではありません |
| ポスターのデザイン/フォントのレイアウト | 人物写真セットの生成ではありません |
判断基準:
- ユーザーの意図が「標準的な証明写真を 1 枚作る」 -> 経路 A(
image-edit) - ユーザーの意図が「この証明写真を青背景に変更する」 -> 経路 B
- ユーザーの意図が「本人に似たテーマ写真/3 コマの写真をセットで作る」 -> 経路 C