mcpField
I
image-tryon

image-tryon

github.com/starchild-ai-agentクリエイティブ・メディア301.8k 回インストール6 日前に更新
リポジトリ

image-tryon について

Starchildで衣服、アクセサリー、ヘアスタイル、メイクなどを試着・プレビューするスキルです。人物写真とアイテム画像を使い、プロンプト、モデル、出力比率を指定できます。

主な機能

  1. 018種類の試着カテゴリに対応
  2. 02ローカル画像または画像URLを入力
  3. 03プロンプトやカテゴリを指定
  4. 04モデルと出力比率を選択
  5. 05成功時に生成画像をダウンロード

活用シーン

  1. 01服や靴を着用した状態のプレビュー
  2. 02眼鏡、帽子、腕時計の比較
  3. 03ヘアスタイルやメイクの変更確認

インストール

コマンドをコピーしてターミナルで実行します。

$npx skills add https://github.com/starchild-ai-agent/official-skills --skill image-tryon

インストール後、Claude Code で/image-tryonを入力して読み込まれたか確認します。

同梱ファイル

SKILL.md と一緒にインストールされる参考資料やスクリプト。

_cost_track.py
exports.py
try_on.py

詳細

image-tryon

Starchild 上のすべてのバーチャル試着リクエストでこのスキルを使用します。

対象: 衣類の試着、アクセサリーの試着、ヘアスタイルのプレビュー、メイクのプレビュー、眼鏡の試着、帽子の試着、靴の試着、時計の試着。

基本原則: 提供されたスクリプトを呼び出します。プロキシ/課金の処理を再実装しないでください。

image-edit との主な違い: 試着には常に2 枚の画像が必要です — 人物の写真と衣類/アイテムの写真です。


1. クイックスタート — 衣類の試着(最も一般的)

⚠️ 実行コンテキスト — まずこれを読んでください。 以下のコードブロックはPythonであり、シェルコマンドではありません。Starchild の bash ツールは /bin/bash -c を実行するため、exec(open(...)) を解析できません — これらをそのまま bash コマンドに貼り付けると、syntax error near unexpected token 'open' で失敗します。 また、python3 -c 内の exec(open(...)) は NameError: __file__ で失敗します。 これはスクリプトがパス解決に __file__ を使用しているためです。

bash ツール経由で呼び出す場合は、from exports import を伴う python3 - <<'EOF' を使用してください:

python3 - <<'EOF'
import sys
sys.path.insert(0, "skills/image-tryon")
from exports import try_on
result = try_on(
    person_path="uploads/person.jpg",
    garment_path="uploads/dress.jpg",
    category="clothing",
)
print(result)
EOF

ヒアドキュメント(<<'EOF')はすべての引用符と改行を保持します — エスケープは不要です。

exec(open('skills/image-tryon/try_on.py').read())
result = try_on(
    person_path="uploads/person.jpg",
    garment_path="uploads/dress.jpg",
    category="clothing",
)
# result -> {"success": True, "images": [{"local_path": "output/images/..."}], ...}

スクリプトは両方のローカルファイルを読み取り、base64 エンコードして、データ URI として fal.ai に送信します — 手動での URL 公開は不要です。

2. クイックスタート — URL 入力

exec(open('skills/image-tryon/try_on.py').read())
result = try_on(
    person_url="https://example.com/person.jpg",
    garment_url="https://example.com/jacket.jpg",
    category="clothing",
)

3. クイックスタート — 眼鏡の試着

exec(open('skills/image-tryon/try_on.py').read())
result = try_on(
    person_path="uploads/face.jpg",
    garment_path="uploads/sunglasses.jpg",
    category="glasses",
)
ユーザーへの結果の配信 — 重要

ユーザーに生の fal.media URL を決して渡さないでください。 fal は制限的な CSP ヘッダーでファイルを配信します。唯一信頼できる配信経路は、すでにダウンロード済みのローカルファイルです:

  1. 各画像の local_path(例: output/images/xxx.png)を使用します — スクリプトは成功時に必ずダウンロードします。
  2. ファイルは output/images/ に保存され、ワークスペースのファイルパネルで閲覧できることをユーザーに伝えます。
  3. Web チャネルでは、ユーザーがチャット内でプレビューできるようにインラインで埋め込みます:
    ![try-on result](output/images/<filename>.png)
    
  4. Telegram / WeChat では、send_to_telegram(file_path="output/images/...", message_type="image") または send_to_wechat(file_path="output/images/...", message_type="image") 経由で送信します。

4. パラメータ

パラメータ必須デフォルト説明
person_pathはい*—人物の写真へのローカルワークスペースファイルパス
person_urlはい*—人物の写真の公開 HTTPS URL
garment_pathはい*—衣類/アイテムの写真へのローカルワークスペースファイルパス
garment_urlはい*—衣類/アイテムの写真の公開 HTTPS URL
categoryいいえ"clothing"試着カテゴリキー(§5 参照)
promptいいえNoneカスタムプロンプト — 設定するとカテゴリのデフォルトを上書きします
modelいいえ"nanopro"モデル: "nanopro"(高速 ~25 秒)または "gpt"(最高品質 ~150 秒)
aspect_ratioいいえ"3:4"出力比率: 1:1、3:4、4:3、9:16、16:9

画像入力ルール:

  • 人物画像: person_path または person_url のいずれかを指定します(いずれかが必須)。
  • 衣類/アイテム画像: garment_path または garment_url のいずれかを指定します(いずれかが必須)。
  • 同じ画像に対してパスと URL の両方が指定された場合、パスが優先されます。
  • 両方の画像が必須です — 試着は 1 枚の画像だけでは機能しません。

プロンプトの優先順位: prompt(完全上書き)> category のデフォルトプロンプト。


5. 試着カテゴリ

意図認識 — ユーザーの発言 → 使用するカテゴリ
ユーザーの発言カテゴリキー
「このドレス/シャツ/ジャケット/コーデを試着して」衣類clothing
「このネックレス/スカーフ/バッグを身につけて」アクセサリーaccessory
「このヘアスタイル/髪色で見せて」ヘアスタイルhairstyle
「このメイク/リップのルックを適用して」メイクmakeup
「このメガネ/サングラスを試着して」メガネglasses
「この帽子/キャップ/ニット帽をかぶせて」帽子hat
「この靴/スニーカー/ブーツを試着して」靴shoes
「この時計を手首につけて」腕時計watch
カテゴリの詳細
カテゴリキー最適な用途写真の要件
衣類clothingシャツ、ドレス、ジャケット、パンツ、コート、全身コーデ全身または上半身の人物写真
アクセサリーaccessoryスカーフ、バッグ、ベルト、ジュエリー、ネックレス、イヤリング該当する身体部位が見えること
ヘアスタイルhairstyleヘアカット、髪色、スタイリングの変更顔・頭がはっきり写った写真
メイクmakeupリップ、アイシャドウ、ファンデーション、チーク、フルメイク顔の鮮明なクローズアップ
メガネglasses度付きメガネ、サングラス、リーディンググラス顔がはっきり写った正面の写真
帽子hatキャップ、ニット帽、フェドラ、サンハット、ヘルメット頭と肩が見えること
靴shoesスニーカー、ヒール、ブーツ、サンダル、ローファー全身または下半身の写真
腕時計watchアナログ、スマートウォッチ、高級時計手首・腕が見えること

6. モデル選択ガイド

モデルキー速度品質最適な用途
NanoPronanopro約25秒良好すべてのリクエストのデフォルト。高速な反復。
GPT Image 2gpt約150秒最高ユーザーが明示的に「最高品質」または「ベスト品質」を求めた場合。

判断ルール:

  1. デフォルト: ユーザーが明示的に高品質を要求しない限り、常に nanopro を使用します。
  2. gpt を使用する場合: ユーザーが「最高品質」、「ベスト品質」、「プレミアム」と言った場合、または結果が業務用途でフォトリアルである必要がある場合。
  3. nanopro を使用する場合: ユーザーが高速な結果を求めている場合、複数のアイテムを試している場合、またはルックを反復している場合。
# Default (fast)
result = try_on(person_path="me.jpg", garment_path="dress.jpg", category="clothing")

# High quality (user requested)
result = try_on(person_path="me.jpg", garment_path="dress.jpg", category="clothing", model="gpt")

7. カテゴリ別の使用例

衣類の試着
exec(open('skills/image-tryon/try_on.py').read())
result = try_on(
    person_path="uploads/person_fullbody.jpg",
    garment_path="uploads/summer_dress.jpg",
    category="clothing",
)
アクセサリーの試着
exec(open('skills/image-tryon/try_on.py').read())
result = try_on(
    person_path="uploads/portrait.jpg",
    garment_path="uploads/gold_necklace.jpg",
    category="accessory",
)
ヘアスタイルのプレビュー
exec(open('skills/image-tryon/try_on.py').read())
result = try_on(
    person_path="uploads/face.jpg",
    garment_path="uploads/bob_hairstyle.jpg",
    category="hairstyle",
)
メイクのプレビュー
exec(open('skills/image-tryon/try_on.py').read())
result = try_on(
    person_path="uploads/face_closeup.jpg",
    garment_path="uploads/evening_makeup.jpg",
    category="makeup",
)
メガネの試着
exec(open('skills/image-tryon/try_on.py').read())
result = try_on(
    person_path="uploads/face_front.jpg",
    garment_path="uploads/aviator_sunglasses.jpg",
    category="glasses",
)
帽子の試着
exec(open('skills/image-tryon/try_on.py').read())
result = try_on(
    person_path="uploads/head_shoulders.jpg",
    garment_path="uploads/fedora_hat.jpg",
    category="hat",
)
靴の試着
exec(open('skills/image-tryon/try_on.py').read())
result = try_on(
    person_path="uploads/person_fullbody.jpg",
    garment_path="uploads/white_sneakers.jpg",
    category="shoes",
)
腕時計の試着
exec(open('skills/image-tryon/try_on.py').read())
result = try_on(
    person_path="uploads/wrist_photo.jpg",
    garment_path="uploads/luxury_watch.jpg",
    category="watch",
)
カスタムプロンプト(デフォルトを上書き)
exec(open('skills/image-tryon/try_on.py').read())
result = try_on(
    person_path="uploads/person.jpg",
    garment_path="uploads/vintage_jacket.jpg",
    category="clothing",
    prompt="The person is wearing the vintage leather jacket from the second image, styled with a casual street fashion look. Keep the person's face and body exactly the same. Add realistic leather texture and natural draping.",
)
異なるアスペクト比
exec(open('skills/image-tryon/try_on.py').read())
result = try_on(
    person_path="uploads/person.jpg",
    garment_path="uploads/outfit.jpg",
    category="clothing",
    aspect_ratio="9:16",  # Full-length portrait
)

8. 写真の要件 — ベストプラクティス

人物写真のガイドライン
カテゴリ推奨する写真の種類ヒント
衣類全身、正面腕を体から少し離し、自然なポーズ
アクセサリー該当する身体部位が見えることアクセサリーをつける部位に良好な照明
ヘアスタイル頭・顔がはっきり、正面または斜め45度髪をまとめるか、現在のスタイルがはっきり見えること
メイク顔のクローズアップ、正面素顔、均一で良好な照明、濃いメイクなし
メガネ顔が正面、目が見えること現在メガネをかけていないこと、目の周りがはっきりしていること
帽子頭と肩、正面現在帽子をかぶっていないこと、髪が見えること
靴全身または脚・足が見えること立ったポーズ、現在の靴が見えること
腕時計手首・前腕が見えること素肌の手首、または現在の時計が見えること
写真品質の一般的なルール
  1. 照明: 明るく均一な照明が最適です。顔・体への強い影は避けてください。
  2. 解像度: 1024×1024 以上を推奨します。低解像度の写真は結果が悪くなります。
  3. 角度: ほとんどのカテゴリでは正面からの写真が最適です。
  4. 背景: どのような背景でも機能しますが、きれいな背景ほどきれいな結果が得られます。
  5. ポーズ: 自然でリラックスしたポーズ。極端な角度や強いトリミングは避けてください。
衣類/アイテム写真のガイドライン
  1. 商品写真が最適です: 白またはニュートラルな背景の公式商品画像。
  2. 明確な視認性: アイテムが主役であり、隠れていないこと。
  3. 複数のアングル: 衣類では正面からの視点が最も重要です。
  4. 色の正確さ: 写真が実際の色を示していることを確認してください(強いフィルターは不可)。
  5. 高解像度: 詳細な商品画像ほど、より良い試着結果が得られます。

9. カスタム試着のためのプロンプトエンジニアリング

デフォルトのカテゴリプロンプトが期待どおりの結果を生成しない場合は、カスタム prompt を使用してください。次のガイドラインに従ってください:

5要素の試着プロンプト構造
[person preservation] + [item description] + [fit/positioning] + [style/mood] + [quality anchors]
主要な原則
  1. 常に本人らしさを保つ: 「その人の顔、体型、ポーズをまったく同じに保つ。」
  2. アイテムを明確に記述する: 「2枚目の画像の赤いレザージャケットを着用している」
  3. フィット感と位置を指定する: 「自然なドレープ、適切な肩のフィット、リアルなしわ」
  4. スタイルの文脈を加える: 「カジュアルなストリートスタイルのルック」「フォーマルなビジネスウェア」
  5. 品質のアンカー: 「プロフェッショナルなファッション写真」「エディトリアル品質」「リアルな影」
カスタムプロンプトの例

フォーマルな服装:

The person is wearing the navy blue suit from the second image. Keep the person's face, body, and pose exactly the same. The suit should fit perfectly with proper tailoring — clean shoulder line, correct sleeve length, natural lapel lay. Professional fashion photography quality with studio lighting.

カジュアルなストリートスタイル:

The person is wearing the oversized hoodie from the second image in a relaxed street style. Keep the person's identity and pose the same. The hoodie should drape naturally with realistic fabric weight and casual fit. Urban photography style.

ジュエリーの組み合わせ:

The person is wearing the diamond pendant necklace from the second image. Keep everything about the person the same. The necklace should sit naturally on the collarbone with realistic sparkle and light reflections. The chain length and pendant size should be proportional to the person's frame.

10. エラー処理

エラー原因解決策
「Person image error: Either person_path or person_url must be provided」人物写真が不足していますユーザーに写真を求めます
「Garment/item image error: Either garment_path or garment_url must be provided」アイテム写真が不足していますユーザーにアイテムの写真を求めます
「File not found」無効なファイルパスファイルパスを確認して再試行します
「Unsupported image format」画像以外のファイルJPG、PNG、または WebP を使用してください
「Image too large」ファイルが 10 MB 超画像をリサイズまたは圧縮してください
「Unknown category」無効なカテゴリキー有効な8つのカテゴリのいずれかを使用してください
低品質な結果入力写真の品質が低いより高解像度で、十分な明るさの写真を使用してください
アイテムの配置が誤っている体の位置が不明確対象領域が見える正面を向いた写真を使用してください

11. このスキルを使用しない場合

  • 単一画像の編集(衣類/アイテムの参照なし)→ image-edit スキルを使用してください
  • ポートレート生成(1つの参照からスタイル化された写真)→ image-portrait スキルを使用してください
  • テキストから画像(参照写真がまったくない)→ image-create スキルを使用してください
  • ファッションモデル生成(モデルをゼロから作成する)→ image-create スキルを使用してください

コメント