mcpField
G
google-ad-creative-generation

google-ad-creative-generation

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

google-ad-creative-generation について

each::sense を使い、Google Ads の掲載面や形式に合わせた画像・動画クリエイティブを生成するスキルです。Display、YouTube、Discovery、Performance Max の広告素材を、複数サイズで作成し、反復調整できます。

主な機能

  1. 01標準サイズのDisplay広告生成
  2. 02YouTubeサムネイルと動画の作成
  3. 03Discovery広告素材の作成
  4. 04Performance Max向け複数形式素材の生成
  5. 05ショッピング広告とアプリ広告の制作
  6. 06素材の反復調整とサイズ別一括生成

活用シーン

  1. 01SaaS商品のDisplayバナー制作
  2. 02YouTube動画広告のサムネイル作成
  3. 03Performance Max向け複数比率素材の準備
  4. 04ショッピング広告の商品ビジュアル生成

インストール

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

$npx skills add https://github.com/eachlabs/skills --skill google-ad-creative-generation

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

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

詳細

Google 広告クリエイティブの生成

each::sense を使って、コンバージョン率の高い Google 広告クリエイティブを生成します。このスキルでは、ディスプレイ ネットワーク、YouTube、Discovery、Performance Max キャンペーンにおける Google の広告掲載枠、フォーマット、ベストプラクティスに合わせて最適化された画像や動画を作成します。

機能

  • ディスプレイ広告:Google ディスプレイ ネットワーク向けの標準サイズの静止画像
  • YouTube サムネイル:動画広告やオーガニック コンテンツ向けのカスタムサムネイル
  • Discovery 広告:Gmail、Discover フィード、YouTube ホーム向けのネイティブ広告風画像
  • Performance Max:Google の自動化キャンペーン向けのマルチフォーマット アセット
  • レスポンシブ ディスプレイ広告:Google の ML 最適化広告配信向けの複数のアセット
  • ショッピング広告:e コマース キャンペーン向けの商品に焦点を当てたクリエイティブ
  • アプリ キャンペーン広告:アプリ インストール キャンペーン向けに最適化されたビジュアル
  • 動画広告:YouTube の掲載枠向けの短尺動画コンテンツ

クイックスタート

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 Google Display ad banner for a SaaS product, 300x250 medium rectangle, showing a clean dashboard interface with professional blue color scheme"}],
    "model": "eachsense/beta",
    "stream": true,
    "mode": "max"
  }'

Google 広告のフォーマットとサイズ

ディスプレイ ネットワーク
フォーマットサイズ(px)アスペクト比用途
ミディアム レクタングル300x2501.2:1最も一般的で、在庫が豊富
ラージ レクタングル336x2801.2:1プレミアム掲載枠
リーダーボード728x908:1ヘッダー/フッターの掲載枠
モバイル リーダーボード320x506.4:1モバイル ヘッダー
ハーフページ300x6001:2視認性の高いサイドバー
ラージ モバイル バナー320x1003.2:1モバイル インタースティシャル
ビルボード970x2503.9:1プレミアムなデスクトップ ヘッダー
ワイド スカイスクレイパー160x6001:3.75サイドバーの掲載枠
YouTube と動画
フォーマットサイズ/比率用途
カスタムサムネイル1280x720(16:9)動画サムネイル、コンパニオン バナー
インフィード サムネイル1200x628YouTube Discovery 広告
バンパー広告6 秒、16:9スキップできない短尺広告
スキップ可能なインストリーム広告15~30 秒、16:9プレロール、ミッドロール広告
Discovery と Performance Max
フォーマットサイズ(px)アスペクト比用途
正方形1200x12001:1Discovery フィード、Performance Max
横長1200x6281.91:1Gmail、Discover、YouTube
縦長960x12004:5モバイル優先の掲載枠
レスポンシブ ディスプレイ広告
アセットの種類推奨サイズ備考
横長画像1200x628必須、比率 1.91:1
正方形画像1200x1200必須、比率 1:1
ロゴ(横長)512x128任意、比率 4:1
ロゴ(正方形)128x128推奨、比率 1:1

ユースケースの例

1. ディスプレイ バナー広告(ミディアム レクタングル)
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 300x250 Google Display ad for an online course platform. Show a person learning on laptop, modern gradient background in purple and blue, leave space for headline text at top and CTA button at bottom."}],
    "model": "eachsense/beta",
    "stream": true,
    "mode": "max"
  }'
2. YouTube カスタムサムネイル
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 16:9 YouTube thumbnail for a tech review video. Show a smartphone floating with dramatic lighting, bold contrasting colors, leave right side clear for text overlay. Eye-catching and clickable style."}],
    "model": "eachsense/beta",
    "stream": true,
    "mode": "max"
  }'
3. Discovery 広告(Gmail/Discover)
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 1.91:1 landscape Discovery ad for a travel agency. Show a stunning beach destination with turquoise water, aspirational vacation vibes. Native content feel, not overly promotional. 1200x628 pixels."}],
    "model": "eachsense/beta",
    "stream": true,
    "mode": "max"
  }'
4. ショッピング広告の商品画像
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 product image for Google Shopping. Show wireless headphones on pure white background, multiple angles visible, clean e-commerce style. High detail, professional product photography look."}],
    "model": "eachsense/beta",
    "stream": true,
    "mode": "max"
  }'
5. アプリ キャンペーン広告
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 1:1 square ad for a fitness app install campaign. Show app interface mockup on phone screen with workout tracking visible, energetic person exercising in background. Vibrant orange and black brand colors."}],
    "model": "eachsense/beta",
    "stream": true,
    "mode": "max"
  }'
6. レスポンシブ ディスプレイ広告セット
# Landscape asset (required)
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 1200x628 landscape image for responsive display ads. Insurance company - show a happy family in front of their home, warm and trustworthy feeling, soft natural lighting. Leave clear space for headline overlay."}],
    "model": "eachsense/beta",
    "stream": true,
    "session_id": "responsive-insurance-001"
  }'

# Square asset (required)
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 1200x1200 square version of the same insurance ad. Same family, same style, recomposed for square format."}],
    "model": "eachsense/beta",
    "stream": true,
    "session_id": "responsive-insurance-001"
  }'
7. Performance Max マルチアセット
# Asset 1 - Square
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 1:1 square image for Performance Max campaign. E-commerce fashion brand - show model wearing casual summer dress, lifestyle outdoor setting, Instagram-worthy aesthetic."}],
    "model": "eachsense/beta",
    "stream": true,
    "session_id": "pmax-fashion-001",
    "mode": "max"
  }'

# Asset 2 - Landscape
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 1.91:1 landscape version for the same fashion campaign, same model and dress, wider scene showing more environment."}],
    "model": "eachsense/beta",
    "stream": true,
    "session_id": "pmax-fashion-001",
    "mode": "max"
  }'

# Asset 3 - Portrait
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 4:5 portrait version for mobile placements, same fashion campaign, vertical composition focusing on the dress."}],
    "model": "eachsense/beta",
    "stream": true,
    "session_id": "pmax-fashion-001",
    "mode": "max"
  }'
8. YouTube バンパー広告
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 6 second 16:9 bumper ad video for a car dealership. Quick cuts showing sleek new car exterior, interior dashboard, driving on highway. End with logo frame. Fast-paced, cinematic quality."}],
    "model": "eachsense/beta",
    "stream": true,
    "mode": "max"
  }'
9. リーダーボード バナー
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 728x90 leaderboard banner for a web hosting company. Horizontal layout with server imagery on left, gradient blue tech background. Leave center-right area for headline and CTA. Modern and professional."}],
    "model": "eachsense/beta",
    "stream": true,
    "mode": "max"
  }'
10. リマーケティング広告(商品画像付き)
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 300x250 remarketing display ad featuring this watch product. Place the watch prominently with a lifestyle background showing success and sophistication. Add visual urgency elements suggesting limited availability."}],
    "model": "eachsense/beta",
    "stream": true,
    "mode": "max",
    "image_urls": ["https://example.com/product-watch.jpg"]
  }'

ベストプラクティス

ディスプレイ広告
  • ブランドの一貫性:すべてのサイズで、一貫した色、フォント、ビジュアル スタイルを使用します
  • 明確な階層:画像、見出し、CTA の視覚的な階層を確立します
  • テキストは最小限に:画像に訴求を任せます。Google は画像を中心とした広告を推奨しています
  • 高いコントラスト:さまざまなウェブサイトの背景でも読みやすくします
  • CTA の視認性:行動喚起ボタンをはっきりと目立たせます
YouTube サムネイル
  • 正面を向いた顔:視線が合う人物の顔はクリック率を高めます
  • 鮮やかな色:YouTube の白いインターフェース上で目立つ、コントラストの強い色を使います
  • 読みやすいテキスト:テキストを追加する場合は、小さいサイズでも読みやすいようにします
  • 感情表現:好奇心を刺激する強い感情を見せます
  • ごちゃつきを避ける:構図をシンプルにして、焦点を絞ります
Discovery Ads
  • ネイティブな印象:広告のように見せず、オーガニックコンテンツになじむデザインにします
  • 憧れを喚起する画像:行動を促すライフスタイル画像を使用します
  • 高品質:Discovery の掲載枠では、プレミアム感のあるコンテンツが好まれます
  • モバイルファースト:Discovery のトラフィックの大半を占めるモバイル画面向けにデザインします
Performance Max
  • 多様なアセット:機械学習による最適化のため、異なる比率の画像を複数用意します
  • 一貫したブランディング:すべてのアセットのバリエーションで、ビジュアルの一貫性を保ちます
  • 異なるスタイルをテスト:ライフスタイル画像と商品に焦点を当てた画像を組み合わせます
  • 画像内のテキストを避ける:Google の機械学習は、テキストのない画像のほうが効果的に機能します
Responsive Display
  • すべての組み合わせをテスト:どの見出しや説明文と組み合わせても使える画像をデザインします
  • セーフゾーン:重要な要素を端から離して配置します(余白 15%)
  • 拡大縮小への対応:幅 300px から 1200px まで、画像がきれいに表示されることを確認します

Google Ads 向けプロンプトのヒント

Google 広告のクリエイティブを作成する際は、プロンプトに次の詳細を含めます。

  1. 正確な寸法:ピクセルサイズまたはアスペクト比(300x250、1.91:1 など)を指定します
  2. 広告フォーマット:Display、YouTube、Discovery、Performance Max のどれ向けかを明記します
  3. 商品/サービス:広告する内容を明確に説明します
  4. ビジュアルの焦点:メインとなるビジュアル要素を指定します
  5. 配色:ブランドカラーまたは希望するカラーパレットを指定します
  6. テキスト用スペース:見出し、説明文、CTA 用のスペースを設けるよう依頼します
  7. スタイルの参考:プロフェッショナル、遊び心のある、ミニマル、大胆などを指定します
プロンプトの構成例
"Create a [dimensions] [ad format] for [product/service].
Show [visual description] with [color scheme/style].
Leave space for [text elements].
[Additional requirements like brand guidelines, urgency, etc.]"

モードの選択

生成する前に、ユーザーに次のように尋ねます。

「速さと低コストを重視しますか、それとも高品質を重視しますか?」

モード最適な用途速度品質
max最終版の広告クリエイティブ、Performance Max アセット、A/B テストの勝者遅い最高
eco素早い下書き、コンセプトの検討、バナーの一括バリエーション作成速い良好

複数ターンでのクリエイティブの反復

広告クリエイティブを反復して作成するには、session_id を使用します。

# Initial creative
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 300x250 display ad for a fintech app, modern and trustworthy"}],
    "model": "eachsense/beta",
    "stream": true,
    "session_id": "fintech-display-001"
  }'

# Iterate based on feedback
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": "Make the background darker, add subtle grid pattern, more techy feel"}],
    "model": "eachsense/beta",
    "stream": true,
    "session_id": "fintech-display-001"
  }'

# Generate size variations
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 create a 728x90 leaderboard version with the same style"}],
    "model": "eachsense/beta",
    "stream": true,
    "session_id": "fintech-display-001"
  }'

バナーサイズの一括生成

キャンペーン用に複数サイズのバナーを生成します。

# Medium Rectangle
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 300x250 display ad for online shoe store, lifestyle shot of running shoes in action"}],
    "model": "eachsense/beta",
    "stream": true,
    "session_id": "shoe-campaign-001",
    "mode": "eco"
  }'

# Leaderboard
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 728x90 leaderboard version, same shoe campaign style, horizontal layout"}],
    "model": "eachsense/beta",
    "stream": true,
    "session_id": "shoe-campaign-001",
    "mode": "eco"
  }'

# Half Page
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 300x600 half page version, vertical layout showcasing the shoes"}],
    "model": "eachsense/beta",
    "stream": true,
    "session_id": "shoe-campaign-001",
    "mode": "eco"
  }'

エラー処理

エラー原因解決策
Failed to create prediction: HTTP 422残高不足eachlabs.ai で残高を追加します
コンテンツポリシー違反禁止されているコンテンツGoogle Ads のポリシーに準拠するようプロンプトを調整します
タイムアウト複雑な生成処理クライアントのタイムアウトを最低 10 分に設定します
寸法の不一致無効なサイズが指定されています上記の表にある標準的な Google Ads の寸法を使用します

関連スキル

  • each-sense - コア API ドキュメント
  • meta-ad-creative-generation - Meta(Facebook/Instagram)の広告クリエイティブ
  • tiktok-ad-creative-generation - TikTok の広告クリエイティブ
  • product-photo-generation - E コマースの商品写真

コメント