mcpField
P
Product Photo Generation

Product Photo Generation

github.com/eachlabsマーケティング・グロース44291 回インストール今日更新
リポジトリ

Product Photo Generation について

Product Photo Generationは、each::sense APIで商品写真を生成するスキルです。ECやマーケティング向けに多様なシーンやスタイルを作成でき、提供した商品画像を使った合成や、セッションによるシリーズの一貫性維持にも対応します。

主な機能

  1. 01EC向け・ライフスタイル商品画像の生成
  2. 02スタジオ撮影、フラットレイ、ディテール撮影
  3. 03提供した商品画像をシーンに配置
  4. 04セッションによるシリーズの一貫性維持
  5. 05maxとecoモードの選択

活用シーン

  1. 01オンラインストア用の白背景カタログ画像を作成
  2. 02マーケティング用のライフスタイル画像を制作
  3. 03商品シリーズで統一感のある画像を生成
  4. 04構図や撮影スタイルを素早く試作

インストール

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

$npx skills add https://github.com/eachlabs/skills --skill product-photo-generation

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

同梱ファイルreferences/SSE-EVENTS.md

詳細

商品写真の生成

each::sense API を使用して、プロフェッショナルな商品写真を生成します。あらゆる商品について、ECサイトですぐに使える画像、ライフスタイル写真、スタジオ品質の商品ビジュアルを作成できます。

概要

each::sense API を使うと、次の用途に適した高品質な商品写真を生成できます。

  • ECサイト向け商品写真 - オンラインストア向けの、すっきりとしたプロフェッショナルな画像
  • ライフスタイルシーンの画像 - 実際の生活環境に置かれた商品の画像
  • 白背景の商品写真 - カタログやマーケットプレイスで使われる標準的な画像
  • スタジオ照明のセットアップ - 高級感のある商品プレゼンテーション向けのプロフェッショナルな照明
  • マーケティングビジュアル - 広告やプロモーション向けの目を引く画像

image_urls を使って独自の商品画像を指定し、実際の商品をプロフェッショナルなスタイルのシーンに配置することもできます。

クイックスタート

curl -X POST "https://eachsense-agent.core.eachlabs.run/v1/chat/completions" \
  -H "Content-Type: application/json" \
  -H "X-API-Key: $EACHLABS_API_KEY" \
  -H "Accept: text/event-stream" \
  -d '{
    "messages": [{"role": "user", "content": "Generate a professional product photo of a minimalist ceramic coffee mug on a white background with soft studio lighting"}],
    "model": "eachsense/beta",
    "stream": true,
    "mode": "max"
  }'

商品写真のスタイル

スタイル説明最適な用途
白背景純白の背景に商品をすっきりと配置ECサイト、マーケットプレイス、カタログ
ライフスタイル実生活のシーンや環境に置かれた商品ソーシャルメディア、ブランドストーリー
フラットレイ小物を配置した俯瞰写真ファッション、食品、アクセサリー
使用シーン実際に使用されている、または自然な環境にある商品マーケティングキャンペーン、広告
ヒーローショットインパクトを与えるドラマチックな照明とアングルホームページのバナー、注目商品
ディテールショット質感や職人技に焦点を当てたクローズアップ高級品、ハンドメイド商品

ユースケースの例

白背景の商品写真

すっきりとした白背景を使った、標準的なECサイト向け商品写真です。

curl -X POST "https://eachsense-agent.core.eachlabs.run/v1/chat/completions" \
  -H "Content-Type: application/json" \
  -H "X-API-Key: $EACHLABS_API_KEY" \
  -H "Accept: text/event-stream" \
  -d '{
    "messages": [{"role": "user", "content": "Professional product photo of a stainless steel water bottle on pure white background, centered composition, soft box lighting from above and sides, no shadows, e-commerce style, 4K quality"}],
    "model": "eachsense/beta",
    "stream": true,
    "mode": "max"
  }'
ライフスタイルシーンの商品写真

憧れを感じさせる実生活のシーンに商品を配置します。

curl -X POST "https://eachsense-agent.core.eachlabs.run/v1/chat/completions" \
  -H "Content-Type: application/json" \
  -H "X-API-Key: $EACHLABS_API_KEY" \
  -H "Accept: text/event-stream" \
  -d '{
    "messages": [{"role": "user", "content": "Lifestyle product photography of premium wireless headphones on a modern wooden desk, morning light through window, MacBook and coffee cup in soft focus background, warm and inviting atmosphere"}],
    "model": "eachsense/beta",
    "stream": true,
    "mode": "max"
  }'
フラットレイ構図

相性のよい小物を配置した俯瞰写真です。

curl -X POST "https://eachsense-agent.core.eachlabs.run/v1/chat/completions" \
  -H "Content-Type: application/json" \
  -H "X-API-Key: $EACHLABS_API_KEY" \
  -H "Accept: text/event-stream" \
  -d '{
    "messages": [{"role": "user", "content": "Flat lay product photography of a leather wallet, arranged with sunglasses, car keys, and a fountain pen on marble surface, overhead shot, even lighting, editorial style composition"}],
    "model": "eachsense/beta",
    "stream": true,
    "mode": "max"
  }'
ドラマチックな照明のヒーローショット

マーケティング素材向けの、インパクトのある商品画像です。

curl -X POST "https://eachsense-agent.core.eachlabs.run/v1/chat/completions" \
  -H "Content-Type: application/json" \
  -H "X-API-Key: $EACHLABS_API_KEY" \
  -H "Accept: text/event-stream" \
  -d '{
    "messages": [{"role": "user", "content": "Hero shot of a luxury perfume bottle, dramatic side lighting creating elegant shadows, dark moody background with subtle gradient, glass reflections and caustics, premium advertising quality"}],
    "model": "eachsense/beta",
    "stream": true,
    "mode": "max"
  }'
ディテール/マクロショット

商品の質感や職人技に焦点を当てたクローズアップです。

curl -X POST "https://eachsense-agent.core.eachlabs.run/v1/chat/completions" \
  -H "Content-Type: application/json" \
  -H "X-API-Key: $EACHLABS_API_KEY" \
  -H "Accept: text/event-stream" \
  -d '{
    "messages": [{"role": "user", "content": "Macro detail shot of handcrafted leather bag stitching, extreme close-up showing texture and quality of leather grain, shallow depth of field, warm directional lighting highlighting craftsmanship"}],
    "model": "eachsense/beta",
    "stream": true,
    "mode": "max"
  }'
使用中/アクションショット

実際に商品を使用または実演している様子です。

curl -X POST "https://eachsense-agent.core.eachlabs.run/v1/chat/completions" \
  -H "Content-Type: application/json" \
  -H "X-API-Key: $EACHLABS_API_KEY" \
  -H "Accept: text/event-stream" \
  -d '{
    "messages": [{"role": "user", "content": "Action product shot of running shoes in motion, dynamic angle showing flexibility, slight motion blur on background, athletic track setting, energetic and sporty atmosphere"}],
    "model": "eachsense/beta",
    "stream": true,
    "mode": "max"
  }'
季節/テーマ別のショット

特定の季節や祝日に合わせたスタイリングの商品写真です。

curl -X POST "https://eachsense-agent.core.eachlabs.run/v1/chat/completions" \
  -H "Content-Type: application/json" \
  -H "X-API-Key: $EACHLABS_API_KEY" \
  -H "Accept: text/event-stream" \
  -d '{
    "messages": [{"role": "user", "content": "Holiday themed product photo of a scented candle surrounded by pine branches, dried oranges, and cinnamon sticks, warm cozy lighting, festive winter atmosphere, gift-ready presentation"}],
    "model": "eachsense/beta",
    "stream": true,
    "mode": "max"
  }'
サイズ比較ショット

大きさがわかるよう、基準となる物と一緒に商品を写します。

curl -X POST "https://eachsense-agent.core.eachlabs.run/v1/chat/completions" \
  -H "Content-Type: application/json" \
  -H "X-API-Key: $EACHLABS_API_KEY" \
  -H "Accept: text/event-stream" \
  -d '{
    "messages": [{"role": "user", "content": "Product scale photo of a compact Bluetooth speaker next to a smartphone and coffee cup for size reference, clean white background, even lighting, showing portable dimensions clearly"}],
    "model": "eachsense/beta",
    "stream": true,
    "mode": "max"
  }'
パッケージショット

開封体験を伝えるため、パッケージと一緒に商品を写します。

curl -X POST "https://eachsense-agent.core.eachlabs.run/v1/chat/completions" \
  -H "Content-Type: application/json" \
  -H "X-API-Key: $EACHLABS_API_KEY" \
  -H "Accept: text/event-stream" \
  -d '{
    "messages": [{"role": "user", "content": "Product and packaging photo of premium skincare bottle emerging from elegant black box, tissue paper visible, unboxing moment, luxury presentation, soft lighting on neutral background"}],
    "model": "eachsense/beta",
    "stream": true,
    "mode": "max"
  }'

独自の商品画像を使用する

image_urls を使って実際の商品写真を指定し、商品をプロフェッショナルなスタイルのシーンに配置します。

curl -X POST "https://eachsense-agent.core.eachlabs.run/v1/chat/completions" \
  -H "Content-Type: application/json" \
  -H "X-API-Key: $EACHLABS_API_KEY" \
  -H "Accept: text/event-stream" \
  -d '{
    "messages": [{"role": "user", "content": "Place this product in a modern kitchen setting, morning light, marble countertop, lifestyle photography style"}],
    "model": "eachsense/beta",
    "stream": true,
    "image_urls": ["https://example.com/my-product.jpg"],
    "mode": "max"
  }'
カスタム背景の商品写真
curl -X POST "https://eachsense-agent.core.eachlabs.run/v1/chat/completions" \
  -H "Content-Type: application/json" \
  -H "X-API-Key: $EACHLABS_API_KEY" \
  -H "Accept: text/event-stream" \
  -d '{
    "messages": [{"role": "user", "content": "Put this product on a pure white background with professional studio lighting, remove existing background, e-commerce ready"}],
    "model": "eachsense/beta",
    "stream": true,
    "image_urls": ["https://example.com/raw-product-photo.jpg"],
    "mode": "max"
  }'

商品写真のベストプラクティス

照明のガイドライン
  • ソフトボックス照明 - ECサイト向け写真を均一に照らします
  • リムライト - 背景から商品を際立たせます
  • 窓からの自然光 - 温かみのある自然なライフスタイル感を演出します
  • ドラマチックなサイドライト - 奥行きと高級感を加えます
  • 拡散したトップライト - 強い影を抑えます
構図のヒント
  • ECサイト向け写真では、重要な商品を中央に配置します
  • ライフスタイル写真では、三分割法を使います
  • テキストを重ねるための余白を確保します
  • プラットフォームで求められるアスペクト比を考慮します
  • ストーリーを伝える背景要素を含めます
背景の選択
  • マーケットプレイスの要件に合わせて純白(#FFFFFF)を使用します
  • 高級商品にはグラデーション背景を使用します
  • ライフスタイル感を演出するには、シーンに合った環境を使用します
  • 商品を引き立てる補色を使用します
  • 職人仕上げの商品には、質感のある表面を使用します

プロンプトのヒント

商品写真に効果的なプロンプトには、次のような表現が含まれます。

照明の表現:

  • 「ソフトボックス照明」、「自然な窓からの光」、「ドラマチックなサイド照明」
  • 「リムライト」、「逆光」、「拡散した頭上からの照明」
  • 「ゴールデンアワーの暖かみ」、「クールなスタジオ照明」

アングルの指定:

  • 「目線の高さからの撮影」、「45度のアングル」、「真上からの俯瞰撮影」
  • 「ローアングルのヒーローショット」、「斜めからのビュー」、「正面からの撮影」

背景の詳細:

  • 「真っ白な背景」、「グレーのグラデーション背景」
  • 「大理石の表面」、「木製のテーブル」、「コンクリートの質感」

スタイルの参考例:

  • 「ECサイト風」、「エディトリアル品質」、「雑誌広告」
  • 「カタログ写真」、「Instagram風」、「プレミアムブランド風」

小道具と背景設定:

  • 「ミニマルな小道具」、「ライフスタイル要素」、「季節の飾り」
  • 「調和するアクセサリー」、「自然の要素」

モードの選択

モード最適な用途出力品質
maxヒーローショット、マーケティング素材、プレミアム商品最高品質、詳細なレンダリング
eco素早い試行、カタログ写真の一括作成、コンセプトのテスト高速生成、良好な品質

最終的なマーケティング素材やヒーロー画像には、max モードを使用してください。迅速なプロトタイピングや複数のバリエーションの素早い生成には、eco モードを使用してください。

商品シリーズ向けの複数ターンセッション

session_id を使って、商品ラインやカタログシリーズ全体の一貫性を保ちます。

商品シリーズのセッションを開始する
curl -X POST "https://eachsense-agent.core.eachlabs.run/v1/chat/completions" \
  -H "Content-Type: application/json" \
  -H "X-API-Key: $EACHLABS_API_KEY" \
  -H "Accept: text/event-stream" \
  -d '{
    "messages": [{"role": "user", "content": "Generate a product photo of a blue ceramic coffee mug on white background with soft natural lighting, minimalist style"}],
    "model": "eachsense/beta",
    "stream": true,
    "session_id": "product-catalog-2024",
    "mode": "max"
  }'
一貫したスタイルで続ける
curl -X POST "https://eachsense-agent.core.eachlabs.run/v1/chat/completions" \
  -H "Content-Type: application/json" \
  -H "X-API-Key: $EACHLABS_API_KEY" \
  -H "Accept: text/event-stream" \
  -d '{
    "messages": [{"role": "user", "content": "Now generate the matching red ceramic mug in the same style and lighting setup"}],
    "model": "eachsense/beta",
    "stream": true,
    "session_id": "product-catalog-2024",
    "mode": "max"
  }'
バリエーションを追加する
curl -X POST "https://eachsense-agent.core.eachlabs.run/v1/chat/completions" \
  -H "Content-Type: application/json" \
  -H "X-API-Key: $EACHLABS_API_KEY" \
  -H "Accept: text/event-stream" \
  -d '{
    "messages": [{"role": "user", "content": "Create a lifestyle version showing both mugs on a breakfast table with croissants"}],
    "model": "eachsense/beta",
    "stream": true,
    "session_id": "product-catalog-2024",
    "mode": "max"
  }'

エラー処理

エラー原因解決策
401 UnauthorizedAPI キーが無効または設定されていませんX-API-Key ヘッダーが正しく設定されていることを確認してください
400 Bad Requestリクエスト本文の形式が正しくありませんJSON の構文と必須フィールドを確認してください
429 Rate Limitedリクエストが多すぎます指数バックオフを実装してください
500 Server Errorサービスが一時的に利用できません少し待ってから再試行してください
指数バックオフで再試行する
for i in 1 2 3; do
  response=$(curl -s -w "%{http_code}" -X POST "https://eachsense-agent.core.eachlabs.run/v1/chat/completions" \
    -H "Content-Type: application/json" \
    -H "X-API-Key: $EACHLABS_API_KEY" \
    -H "Accept: text/event-stream" \
    -d '{
      "messages": [{"role": "user", "content": "Professional product photo of wireless earbuds on white background"}],
      "model": "eachsense/beta",
    "stream": true,
      "mode": "max"
    }')

  http_code="${response: -3}"
  if [ "$http_code" -eq 200 ]; then
    echo "${response%???}"
    break
  fi
  sleep $((2**i))
done

関連スキル

コメント