競合バナーAI分析とは、競合他社や業界標準のバナー広告を自動的に収集・分析し、その知見を自社のバナー生成に活用する仕組みである。単に「参考画像を並べる」だけでなく、Vision AIで「構成・色使い・雰囲気・視線誘導」の4観点で自動評価し、その結果を画像生成プロンプトに注入することで、業界標準を踏まえた高品質なバナーを自動生成できる。本記事では、renueが自社プロダクトとして実装している`BenchmarkScraper` + `BenchmarkAnalyzer`の本番アーキテクチャを解説する。
なぜ競合バナー分析を自動化するか
AI画像生成でバナーを作る際、最大の課題は「業界の雰囲気に合わない画像が生成される」ことである。例えばBtoB SaaSのバナーを生成するとき、プロンプトに「青系・クリーン」と書いても、AIが想像する「青系・クリーン」は現実の業界標準とズレることが多い。
従来の解決方法の問題
- 手動で参考画像を集める: 時間がかかる、担当者のセンスに依存
- プロンプトに業界名を書くだけ: AIの学習データ次第でズレる
- 参考画像を直接LLMに渡す: トークンコストが高い、商標権の問題
競合バナー分析AIによる解決
- 業界キーワードで自動的にバナーを収集
- Vision AIで特徴をテキスト化(構成/色/雰囲気/視線誘導)
- 複数画像の共通パターンを統合
- 英語の画像生成プロンプトに注入可能な形式に変換
- 商標やブランド名は除外し、スタイルのみ抽出
本番品質の競合バナー分析に必要な4レイヤー
レイヤー1: バナーギャラリーサイトからのスクレイピング
業界のバナーを収集するには、バナーギャラリーサイト(banner-hiroba.com, design-library.jp 等)を利用する。renueの実装では`BenchmarkScraper`クラスがPlaywrightを使ってヘッドレスブラウジングでバナーを収集する。
スクレイピングの基本設計
@dataclass
class BenchmarkImage:
image_bytes: bytes
mime_type: str
source_url: str
source_site: str
class BenchmarkScraper:
def search(self, keywords, sources=None, limit=3):
if sources is None:
sources = ["banner_hiroba", "design_library"]
limit = min(limit, MAX_IMAGES_PER_SOURCE)
results = []
for source in sources:
try:
if source == "banner_hiroba":
imgs = self._search_banner_hiroba(keywords, limit)
elif source == "design_library":
imgs = self._search_design_library(keywords, limit)
results.extend(imgs)
except Exception as e:
logger.warning("Benchmark search failed for %s: %s", source, e)
return results
複数ソース対応の意義
単一のギャラリーサイトだけだと、結果が偏る。renueの実装では最低2サイトからバナーを収集し、結果を統合することで業界全体のパターンを把握する。
スクレイピング時の注意点
- 利用規約遵守: スクレイピング対象サイトの規約を必ず確認
- リクエスト頻度制限: 過度な負荷を避ける
- 画像枚数の制限: 1ソースあたり最大5枚(`MAX_IMAGES_PER_SOURCE`)
- Playwrightのタイムアウト: 30秒(`DEFAULT_TIMEOUT = 30000`)
- 著作権の扱い: 分析は一時的な用途に限定、スタイル情報のみ抽出
レイヤー2: Vision AIによる4観点分析
収集したバナーをGemini Vision AIで分析し、テキスト記述に変換する。renueの実装では以下の4観点で分析する。
4観点評価フレームワーク
| 観点 | 分析内容 | プロンプト注入先 |
|---|---|---|
| 1. 全体の構成・レイアウト | 要素の配置、余白の使い方 | composition, layout |
| 2. 色使い | 主要な色、配色パターン、コントラスト | color palette, contrast |
| 3. 雰囲気・トーン | フォーマル/カジュアル、温かみ/クール | mood, tone |
| 4. 視線誘導 | どこに目が行くか、情報の優先順位 | focal point, hierarchy |
分析プロンプトの設計
ANALYSIS_SYSTEM_PROMPT = '''あなたはグラフィックデザインの専門家です。
バナー広告や広告画像を分析し、デザインの特徴をテキストで記述してください。
具体的なテキスト内容やブランド名は含めず、ビジュアルの特徴のみを記述してください。'''
SINGLE_IMAGE_PROMPT = '''以下のバナー広告画像を分析し、次の4つの観点でテキスト要約してください。
各観点は1-2文で簡潔に。
1. 全体の構成・レイアウト(要素の配置、余白の使い方)
2. 色使い(主要な色、配色パターン、コントラスト)
3. 雰囲気・トーン(フォーマル/カジュアル、温かみ/クール等)
4. 視線誘導(どこに目が行くか、情報の優先順位)
出力は日本語で、箇条書きなしのテキストのみ。'''
ブランド名を含めない理由
プロンプトに「具体的なテキスト内容やブランド名は含めないこと」を明示する。これには3つの理由がある。
- 商標権の保護: 他社ブランド名を後続のプロンプトに含めない
- 汎用性の向上: スタイル情報のみなら多数の案件で再利用可能
- 品質の向上: 後続の画像生成で「スタイルのみ真似る」挙動になる
レイヤー3: 複数画像の統合分析
1枚の分析では偏りが大きい。renueの実装では複数画像の分析結果を統合し、共通パターンを抽出する。
統合プロンプト
SYNTHESIS_PROMPT = '''以下は複数のバナー広告のデザイン分析結果です。
これらに共通するデザインパターンと特徴を統合し、
新しいバナーを制作する際のデザインガイダンスとして50-100語程度の英語で要約してください。
具体的なブランド名やテキスト内容は含めないこと。
色使い、レイアウト、雰囲気、構成の共通パターンに焦点を当てること。
分析結果:
{analyses}'''
英語出力の意義
日本語ではなく英語で要約する理由は、後続の画像生成AI(DALL-E/Midjourney/Imagen)が英語プロンプトを前提としているためである。日本語→英語の変換をこのステップで済ませることで、画像生成時の追加翻訳が不要になる。
出力の統合パターン
combined = "\n\n---\n\n".join(
f"[画像{i + 1} ({img.source_site})]:\n{analysis}"
for i, (img, analysis) in enumerate(zip(images, analyses))
)
result = client.generate(
user_prompt=SYNTHESIS_PROMPT.format(analyses=combined),
max_tokens=300,
)
各画像の分析結果をセパレーター(`---`)で区切り、ソースサイト情報を付与することで、LLMが各画像を区別できるようになる。
レイヤー4: 画像生成プロンプトへの注入
統合された英語デザインガイダンスを、CreativeImageGenerator等の画像生成AIに注入する。これにより業界標準を踏まえたバナーが自動生成される。
注入のタイミング
- 事前生成型: キャンペーン開始前に業界ベンチマークを生成しておき、プロンプトのベースとして使用
- オンデマンド型: バナー生成時に都度ベンチマーク分析を実行
- 定期更新型: 月次で業界ベンチマークを更新し、キャッシュを活用
プロンプトへの注入例
画像生成プロンプトに以下のような形で注入する。
base_prompt = "Create a banner advertisement for {product}"
industry_context = benchmark_analyzer.analyze(images)
final_prompt = f'''
{base_prompt}
Industry design guidance:
{industry_context}
Additional requirements:
- Product: {product_name}
- Target: {target_audience}
- Brand colors: {brand_colors}
'''
この方式により、「業界ベンチマーク」「自社ブランド」「具体案件要件」の3層を組み合わせた高品質な画像生成が実現する。
エラーハンドリングとフォールバック
本番運用では、スクレイピング失敗やLLM API障害が発生する。renueの実装では以下のフォールバック戦略を取っている。
スクレイピング失敗時
- 1サイトが失敗しても他サイトの結果を返す
- 全サイトが失敗した場合は空リストを返す(例外を投げない)
- ログには警告を残し、後で分析可能に
Vision AI分析失敗時
- 1枚の分析が失敗しても他画像の分析を続行
- 1枚も成功しなかった場合は空文字を返す
- GeminiTextClient設定なしでも動作するようガード
統合失敗時のフォールバック
1枚だけの分析結果しかない場合、統合プロンプトは不要。renueの実装では以下の最適化を行っている。
# 1枚のみの場合は統合不要、そのまま英語に変換
if len(analyses) == 1:
return client.generate(
user_prompt=f"以下のデザイン分析を、画像生成プロンプトに使えるデザインガイダンスとして50-100語程度の英語に変換してください:\n\n{analyses[0]}",
max_tokens=300,
)
業界別のキーワード設計
ベンチマーク検索のキーワードは、業界によって最適化する必要がある。
| 業界 | 推奨キーワード |
|---|---|
| BtoB SaaS | "SaaS 法人 ビジネス プラットフォーム" |
| EC/D2C | "通販 商品 セール 期間限定" |
| 金融 | "投資 資産運用 ローン クレジット" |
| 不動産 | "マンション 物件 住宅 新築" |
| 教育 | "スクール 講座 受講 学習" |
| 医療 | "クリニック 治療 美容 健康" |
| 採用 | "求人 採用 転職 エントリー" |
renueの実装特徴
renueは「Self-DX First」の方針のもと、競合バナー分析を自社プロダクトとして実装・運用している。社内12業務を553のAIツールで自動化済み(2026年1月時点)であり、競合バナー分析は広告代理AIエージェントの一機能として組み込まれている(全て公開情報)。
公開されている技術スタック
- 言語: Python 3.11
- スクレイピング: Playwright(Chromium, ヘッドレス)
- Vision AI: Gemini (REST API直接呼び出し)
- 統合先: CreativeImageGenerator(画像生成エンジン)
- データクラス: BenchmarkImage / BenchmarkAnalyzer / BenchmarkScraper
2026年の競合分析AI市場
2026年現在、AIR DesignやBanavoなどの市場ツールも登場し、AI画像解析による競合分析が広がっている。renueの実装はこれらのSaaSツールと異なり、自社プロダクトに統合可能な形でのコード実装となっている。自社独自のブランドアセット管理と統合できるメリットがある。
導入時のよくある失敗パターン
- スクレイピング規約を確認しない: 後で問題になる
- 商標名を含んだ分析結果をそのまま使う: 著作権・商標権リスク
- 1枚だけで判断する: 偏った結果になる
- 日本語プロンプトで画像生成: 品質が下がる(英語が主流)
- フォールバックがない: スクレイピング失敗で全機能停止
- キーワードが抽象的すぎる: 関連度の低いバナーが集まる
- 定期更新しない: 業界トレンドから外れる
AI画像生成プロンプトの品質向上パターン
競合バナー分析で得られたガイダンスは、以下のパターンで画像生成の品質を向上させる。
パターン1: スタイル注入
業界ガイダンスを「style」パラメータとして画像生成プロンプトに注入する。
パターン2: ネガティブプロンプト生成
業界ガイダンスから「避けるべきスタイル」も自動抽出し、ネガティブプロンプトに含める。
パターン3: カラーパレット抽出
分析結果から主要カラーを抽出し、自社ブランドカラーと組み合わせて使用する。
よくある質問
スクレイピングは合法?
公開されているサイトの利用規約を必ず確認すること。多くのギャラリーサイトは研究・分析目的での利用を許可しているが、商用利用や大量取得は禁止されている場合がある。事前確認は必須。
1回の分析コストは?
画像3枚の分析+統合で、Gemini Vision APIの使用料として数円〜数十円程度。スクレイピングは無料(Playwrightローカル実行)。月間100回の分析なら月額数千円程度で運用できる。
どのVision AIを使うべき?
日本語での分析ならGemini Visionが推奨。英語ベースの分析ならGPT-4 VisionやClaude Visionも選択肢。renueの実装では日本語分析から英語プロンプト生成までを1つのクライアントで処理できるGeminiを採用している。
ベンチマーク更新の頻度は?
業界のトレンドは数ヶ月で変わる。月次または四半期での更新が推奨される。renueの実装ではキャッシュを持ち、指定期間経過後に自動再取得する設計が可能。
導入後に最も改善するKPIは?
「バナー制作のトーン統一率」と「業界標準適合度」が最も改善する。デザイナーが感覚で作っていた業界の雰囲気を、AI分析結果で客観化できるため、新人でもベテラン品質のバナーを生成できる。
