Skip to main content
クリエイティブフォーマットは、広告クリエイティブを実体化するための構造的・技術的要件を定義します。フォーマットは次を規定します。
  • assets 配列を通じて必要なアセットタイプ(動画、画像、テキスト、音声など)
  • 各アセットの技術的制約(尺・寸法・ファイルタイプ・上限)
  • 生成されたクリエイティブの配信方法と検証方法
フォーマットが定義するのは要件と制約であり、ブランドコンテンツやレイアウトロジックではありません。 フォーマット、マニフェスト、クリエイティブエージェントの関係概要は Creative Protocol Overview を参照してください。

Standard フォーマットと Custom フォーマット

AdCP は権威性と再利用性に基づいて 2 種類のフォーマットをサポートします(機能差ではありません)。

Standard Formats

Standard フォーマットは AdCP リファレンスクリエイティブエージェント (https://creative.adcontextprotocol.org) が提供する事前定義の仕様です。 Standard フォーマットの特徴:
  • 業界整合: IAB のフォーマットファミリーや一般的な慣行に基づく
  • 移植性: プラットフォームをまたいで一貫して動作
  • 検証済み: 既知の技術要件に対して事前にテスト済み
  • 探索可能: list_creative_formats で返されます
  • メンテナンス済み: 中央で文書化され、更新されます
Standard フォーマットは次のような一般的ユースケースをカバーします。
  • 固定またはレスポンシブ寸法のディスプレイフォーマット
  • 標準尺とアスペクト比を持つ動画フォーマット
  • 規定尺のオーディオフォーマット
  • 代表的な DOOH ディスプレイおよび動画実装
営業エージェント向けの指針: カスタムフォーマットを定義する前に、同等の Standard フォーマットが存在しないか確認してください。多くのパブリッシャーは一般的な在庫に Standard フォーマットを参照し、真に差別化された提供だけをカスタムにします。詳細は Implementing Standard Format Support を参照。

Custom Formats

Custom フォーマットは、Standard では正確に表現できない在庫向けに、パブリッシャーやプラットフォームが定義します。 使用するケース:
  • 固有の制約: 非標準の寸法、実在のディスプレイ、特別なアセット要件
  • 特殊能力: プラットフォーム固有の描画やインタラクション
  • プレミアム在庫: 差別化されたオーダーメイドの広告商品
  • カスタム検証ロジック: パブリッシャー独自の審査や組み立てルール
必要な場合にのみカスタムを導入し、可能な限り Standard を再利用して移植性と理解を高めてください。

フォーマットの探索

バイヤーは営業エージェントが公開する list_creative_formats タスクでサポートフォーマットを探索します。 フォーマットの取得元:
  • 営業エージェント自身 - カスタムフォーマット
  • 参照するクリエイティブエージェント - 例えばリファレンスエージェントなどの Standard フォーマット
探索レスポンス例:
{
  "$schema": "https://adcontextprotocol.org/schemas/v3/creative/list-creative-formats-response.json",
  "formats": [
    {
      "format_id": {
        "agent_url": "https://youragent.com",
        "id": "homepage_takeover_2024"
      },
      "name": "Homepage Takeover",
      "type": "rich_media"
    }
  ],
  "creative_agents": [
    {
      "agent_url": "https://creative.adcontextprotocol.org"
    }
  ]
}
営業エージェントが自社カスタムフォーマットと、参照するクリエイティブエージェントの全フォーマットをサポートしていることを示します。 フォーマットサポートを実装する営業エージェントへ: Implementing Standard Format Support を参照。

フォーマットの権威

各フォーマットは agent_url を持ち、そのフォーマットに対する権威クリエイティブエージェントを示します。
{
  "$schema": "https://adcontextprotocol.org/schemas/v3/core/format.json",
  "format_id": {
    "agent_url": "https://creative.adcontextprotocol.org",
    "id": "video_30s_hosted"
  },
  "name": "Standard 30-Second Video"
}
権威クリエイティブエージェントが提供するもの:
  • 完全なフォーマット仕様
  • クリエイティブ要素の要件と制約
  • 検証ルール
  • プレビュー生成
  • 正式なドキュメント
バイヤーと営業エージェントは agent_url を参照して正式なフォーマット情報を取得します。

フォーマットのビジュアル表現

フォーマットは、UI でのブラウズや選択を支援するメタデータを任意で含められます。

Showcase 例

Field: example_url Purpose: パブリッシャー管理のショーケースへのディープリンク 含められるもの:
  • インタラクティブデモ
  • 動画
  • 複数のクリエイティブ例
  • ベストプラクティスや仕様
これにより、プロトコルの表現を制限せず複雑なフォーマットを提示できます。 :
{
  "$schema": "https://adcontextprotocol.org/schemas/v3/core/format.json",
  "format_id": {
    "agent_url": "https://publisher.com",
    "id": "homepage_takeover_premium"
  },
  "name": "Premium Homepage Takeover",
  "type": "rich_media",
  "description": "Full-screen immersive experience with video, carousel, and companion units",
  "example_url": "https://publisher.com/formats/homepage-takeover-demo"
}

フォーマット参照

AdCP では曖昧さや名前衝突を避けるため、常に構造化されたフォーマット識別子を使います。

構造化フォーマット ID(必須)

すべてのフォーマット参照 は構造化された format ID オブジェクトを使います。
{
  "$schema": "https://adcontextprotocol.org/schemas/v3/core/format-id.json",
  "agent_url": "https://creative.adcontextprotocol.org",
  "id": "display_300x250"
}
この方式により次が保証されます。
  • 明示的な名前空間
  • 衝突しない識別子
  • スキーマ検証
  • 互換性を壊さない拡張性
文字列のみのフォーマット ID を API 契約で使用してはなりません。

構造化フォーマット ID の使用箇所

リクエスト:
  • sync_creatives - クリエイティブアセットのアップロード
  • build_creative - クリエイティブエージェントによる生成
  • preview_creative - プレビュー生成
  • create_media_buy - フォーマット要件の指定
レスポンス:
  • list_creatives - クリエイティブ詳細の返却
  • get_products - プロダクトのフォーマット能力
  • list_creative_formats - フォーマット定義
  • クリエイティブやフォーマット情報を含むあらゆるレスポンス
フィルターパラメーター:
  • リクエストフィルターの format_ids(複数形) - 構造化 format_id オブジェクトの配列

検証ルール

すべての AdCP エージェントが守るべきこと:
  1. ✅ すべてのコンテキストで構造化 format_id を受け付けます
  2. ✅ すべてのレスポンスで構造化 format_id を返す
  3. ❌ 文字列のみの format_id をエラー付きで拒否します
  4. ❌ 文字列 format_id を API 契約で使用しません
不正な format_id のエラーハンドリング:
{
  "error": "invalid_format_id",
  "message": "format_id must be a structured object with 'agent_url' and 'id' fields",
  "received": "display_300x250",
  "required_structure": {
    "agent_url": "https://creative-agent-url.com",
    "id": "display_300x250"
  }
}

レガシー考慮

一部のレガシーシステムは文字列 format_id を送る場合があります。実装者の選択肢:
  1. 厳格な検証(推奨): 文字列を即時にエラーで拒否
  2. 非推奨化を伴う自動アップグレード: 一時的に受け付け、警告をログに残し、廃止時期を明示
自動アップグレードする場合は以下を守ってください。
  • agent_url にマッピングできる既知のフォーマットのみ文字列を受け入れる
  • 不明なフォーマット文字列は即座に失敗させる
  • すべてのリクエストで非推奨警告をログ出力します
  • 廃止日を設定し通知する(最大 6 か月を推奨)

フォーマット構造

フォーマットは次の主要フィールドを持つ JSON オブジェクトです。
{
  "$schema": "https://adcontextprotocol.org/schemas/v3/core/format.json",
  "format_id": {
    "agent_url": "https://creative.adcontextprotocol.org",
    "id": "video_30s_hosted"
  },
  "name": "30-Second Hosted Video",
  "type": "video",
  "assets": [
    {
      "item_type": "individual",
      "asset_id": "video_file",
      "asset_type": "video",
      "asset_role": "hero_video",
      "required": true,
      "requirements": {
        "duration": "30s",
        "format": ["MP4"],
        "resolution": ["1920x1080", "1280x720"]
      }
    },
    {
      "item_type": "individual",
      "asset_id": "end_card_image",
      "asset_type": "image",
      "asset_role": "end_card",
      "required": false,
      "requirements": {
        "dimensions": "1920x1080",
        "format": ["PNG", "JPG"]
      }
    },
    {
      "item_type": "individual",
      "asset_id": "companion_banner",
      "asset_type": "image",
      "asset_role": "companion",
      "required": false,
      "requirements": {
        "dimensions": "300x250",
        "format": ["PNG", "JPG", "GIF"]
      }
    },
    {
      "item_type": "individual",
      "asset_id": "impression_tracker",
      "asset_type": "url",
      "asset_role": "third_party_tracking",
      "required": false,
      "requirements": {
        "description": "Third-party impression tracking pixel URL"
      }
    }
  ],

  // DEPRECATED: Use "assets" above instead. Kept for backward compatibility.
  "assets": [
    {
      "item_type": "individual",
      "asset_id": "video_file",
      "asset_type": "video",
      "asset_role": "hero_video",
      "requirements": {
        "duration": "30s",
        "format": ["MP4"],
        "resolution": ["1920x1080", "1280x720"]
      }
    }
  ]
}
主なフィールド:
  • format_id: 一意の識別子(domain:id のように名前空間化も可)
  • agent_url: 当該フォーマットの権威クリエイティブエージェント
  • type: (非推奨、任意) 高水準のカテゴリヒント。後述の注意事項を参照。
  • assets: すべてのアセット仕様の配列。required ブール値で必須/任意を示します。クリエイティブ要件を理解するための正式な情報源。
  • asset_role: アセットの役割(hero_image, logo, cta_button など)
  • renders: レンダリング成果物の配列(寸法付き、後述)
  • accessibility: 任意の WCAG 準拠宣言 — Accessibility を参照
非推奨のお知らせ: type フィールドは非推奨で任意です。クリエイティブ要件(動画・画像・テキストなど)の正確な情報は assets 配列が提供するため、こちらを使用すべきです。「video」「display」「native」といったカテゴリは、Performance Max(複数チャネルにまたがる)・検索広告(高インテントのテキストのみ)・会話型 AI プレースメントなど、新興フォーマットへの対応が困難な情報損失の抽象化です。

アセットディスカバリ

assets 配列でアセット要件を包括的に示します。各アセットは required ブール値を持ちます。
  • required: true - 有効なクリエイティブには必須
  • required: false - 任意。提供されればリッチになる(例: コンパニオンバナー、第三者トラッキングピクセル)
この統一的な表現により、クリエイティブツールや AI エージェントはフォーマットの能力を理解し、最小要件を明確にしつつ任意アセットがあればリッチな体験を提供できます。

型付きアセット要件

アセットタイプごとに、そのアセットに適用される制約を定義した要件スキーマがあります。requirements オブジェクトは asset_type に基づいて型付けされます。 画像アセット (asset_type: "image"):
  • min_width, max_width, min_height, max_height - 寸法制約(正確な寸法を指定する場合は min=max にします)
  • aspect_ratio - 必須アスペクト比(例: ‘1:1’)
  • formats - 許可ファイル形式(jpg, jpeg, png, webp, gif, svg, avif)
  • max_file_size_kb - 最大ファイルサイズ
  • animation_allowed - アニメーション画像を受け付けるか
  • max_animation_duration_ms - 最大アニメーション時間
動画アセット (asset_type: "video"):
  • min_width, max_width, min_height, max_height - 寸法制約
  • aspect_ratio - 必須アスペクト比(例: ‘16:9’)
  • min_duration_ms, max_duration_ms - 尺の制約
  • containers - 許可コンテナ形式(mp4, webm, mov)
  • codecs - 許可コーデック(h264, h265, vp9, av1)
  • frame_rates - 許可フレームレート(例: [24, 30, 60])
  • max_file_size_kb, max_bitrate_kbps - サイズ制約
HTML アセット (asset_type: "html"):
  • max_file_size_kb - 最大ファイルサイズ
  • sandbox - 実行環境(none, iframe, safeframe, fencedframe
  • external_resources_allowed - 外部スクリプト/画像の読み込みを許可するか
  • allowed_external_domains - 外部リソースで許可するドメイン
JavaScript アセット (asset_type: "javascript"):
  • max_file_size_kb - 最大ファイルサイズ
  • module_type - モジュール形式(script, module, iife
  • external_resources_allowed - 動的リソース読み込みを許可するか
  • allowed_external_domains - 動的読み込みで許可するドメイン
音声アセット (asset_type: "audio"):
  • min_duration_ms, max_duration_ms - 尺の制約
  • formats - 許可音声形式(mp3, aac, wav, ogg, flac)
  • sample_rates - 許可サンプルレート(Hz単位、例: [44100, 48000])
  • channels - 許可チャンネル構成(mono, stereo)
  • min_bitrate_kbps, max_bitrate_kbps - ビットレート制約
  • max_file_size_kb - 最大ファイルサイズ
テキストアセット (asset_type: "text"):
  • min_length, max_length - 文字数制限
  • min_lines, max_lines - 行数制限
  • character_pattern - 許可文字の正規表現
  • prohibited_terms - 禁止ワード/フレーズ
URL アセット (asset_type: "url"):
  • role - 標準的な用途(clickthrough, impression_tracker, click_tracker など)
  • protocols - 許可プロトコル(https, http)
  • allowed_domains - 許可遷移先ドメイン
  • macro_support - マクロ置換をサポートするか
HTML 実行コンテキストを含む例:
{
  "asset_id": "banner_html",
  "asset_type": "html",
  "required": true,
  "requirements": {
    "max_file_size_kb": 150,
    "sandbox": "safeframe",
    "external_resources_allowed": false
  }
}
これはクリエイティブエージェントに「外部リソース読み込みなしの SafeFrame コンテナで動作する HTML を構築せよ」と伝えます。 詳細は Display Ads - HTML Display Formats を参照。

アセットオーバーレイ

一部のフォーマットは、バイヤーのクリエイティブコンテンツの上に重なるパブリッシャー管理要素(動画プレイヤーコントロール、パブリッシャーロゴなど)を含みます。フォーマットはこれらを関連アセットの overlays として宣言し、クリエイティブエージェントとバイヤーがどの領域が覆われるかを把握して合成できるようにします。 オーバーレイの境界はアセット自身の左上隅を基準とした相対値で表します。unit フィールドは "px"(絶対ピクセル)または "fraction"(アセット寸法に対する比率: x/y はアセット自身の端から 0.0、width/height は 0.12 がアセット寸法の 12%)のいずれかです。同じアセット上の異なるオーバーレイが異なる単位を使う場合があり、クリエイティブエージェントはそれぞれ独立して処理しなければなりません。
{
  "item_type": "individual",
  "asset_id": "video",
  "asset_type": "video",
  "required": true,
  "requirements": {
    "aspect_ratio": "16:9",
    "max_duration_ms": 15000
  },
  "overlays": [
    {
      "id": "play_pause",
      "description": "Play/pause control — avoid placing CTA, copy, or logos here",
      "bounds": { "x": 0, "y": 285, "width": 120, "height": 120, "unit": "px" },
      "visual": {
        "url": "https://publisher.example.com/controls/play.svg"
      }
    },
    {
      "id": "volume",
      "description": "Volume control",
      "bounds": { "x": 0.88, "y": 0.85, "width": 0.12, "height": 0.15, "unit": "fraction" },
      "visual": {
        "light": "https://publisher.example.com/controls/volume-light.svg",
        "dark": "https://publisher.example.com/controls/volume-dark.svg"
      }
    }
  ]
}
visual フィールドは任意ですが強く推奨されます。クリエイティブエージェントがパブリッシャーのクロームを重ねた正確なプレビューを合成できるようにします。テーマに依存しないグラフィック(例: currentColor を使う SVG)には url を使い、ライト/ダークの個別アセットが必要な場合は light/dark バリアントを指定してください。

レンダリング成果物と寸法

フォーマットは 1 つ以上のレンダー成果物を定義し、それぞれに寸法と意味的ロールを付与します。 対応するシナリオ:
  • 単一レンダー
  • コンパニオン付きクリエイティブ
  • 複数掲出面の出力
  • レスポンシブ挙動
  • 非個人環境向けの物理寸法
レンダーは renders 配列で指定します。多くは 1 つのレンダーですが、コンパニオン広告やアダプティブ、マルチプレースメントでは複数レンダーを持ちます。
{
  "$schema": "https://adcontextprotocol.org/schemas/v3/core/format.json",
  "format_id": {
    "agent_url": "https://creative.adcontextprotocol.org",
    "id": "display_300x250"
  },
  "name": "Display Banner 300x250",
  "type": "display",
  "renders": [
    {
      "role": "primary",
      "dimensions": {
        "width": 300,
        "height": 250,
        "responsive": {
          "width": false,
          "height": false
        }
      }
    }
  ]
}
複数レンダー例(コンパニオン広告):
{
  "$schema": "https://adcontextprotocol.org/schemas/v3/core/format.json",
  "format_id": {
    "agent_url": "https://creative.adcontextprotocol.org",
    "id": "video_with_companion_300x250"
  },
  "name": "Video with Companion Banner",
  "type": "video",
  "renders": [
    {
      "role": "primary",
      "dimensions": {
        "width": 1920,
        "height": 1080,
        "responsive": {
          "width": false,
          "height": false
        }
      }
    },
    {
      "role": "companion",
      "dimensions": {
        "width": 300,
        "height": 250,
        "responsive": {
          "width": false,
          "height": false
        }
      }
    }
  ]
}
寸法タイプ: 固定寸法(標準ディスプレイ広告):
{
  "role": "primary",
  "dimensions": {
    "width": 300,
    "height": 250,
    "responsive": {"width": false, "height": false},
    "unit": "px"
  }
}
幅レスポンシブ(フルードバナー):
{
  "role": "primary",
  "dimensions": {
    "min_width": 300,
    "max_width": 970,
    "height": 250,
    "responsive": {"width": true, "height": false},
    "unit": "px"
  }
}
アスペクト比制約(ネイティブフォーマット):
{
  "role": "primary",
  "dimensions": {
    "aspect_ratio": "16:9",
    "min_width": 300,
    "responsive": {"width": true, "height": true},
    "unit": "px"
  }
}
物理寸法(DOOH):
{
  "role": "primary",
  "dimensions": {
    "width": 48,
    "height": 14,
    "responsive": {"width": false, "height": false},
    "unit": "inches"
  }
}
renders 構造の利点:
  • 単一/複数レンダーを同一構造で表現
  • 文字列解析不要で構造化された寸法
  • スキーマで寸法を検証
  • レスポンシブと固定を同等に表現
  • 適切なプレビュー生成を支援
  • 寸法ベースのフィルタリングを可能に
  • DOOH 向けに物理単位をサポート
  • 各レンダーの意味的ロールが明確

フォーマットカテゴリ

type フィールド(FormatCategory)は非推奨です。フォーマットが後方互換性のために type を含む場合がありますが、フォーマットが何を必要とするかを理解するための正式な情報源は assets 配列です。アセットからフォーマット要件を判定する方法については アセットディスカバリ セクションを参照してください。
歴史的に、フォーマットは IAB フォーマットファミリーに分類されてきました。
  • Display
  • Video
  • Audio
  • Native
DOOH、CTV、モバイルなどは配信環境を示す区分であり、フォーマットファミリーではありません。 ただし、これらのカテゴリは情報損失を伴う抽象化です。例えば:
  • Performance Max は動画・ディスプレイ・検索・ネイティブを同時にまたぐ
  • 検索広告(RSA)はインテントの高い文脈でのテキストのみ
  • 会話型 AI プレースメントは従来のカテゴリに当てはまらない
assets 配列が必要なクリエイティブ要素を正確に示します。
  • 動画が必要? asset_type: 'video' を確認
  • 画像が必要? asset_type: 'image' を確認
  • テキストのみ? 必須アセットがすべて asset_type: 'text'
AdCP は複数のメディアタイプにわたるフォーマットをサポートします。

Video Formats

  • 標準動画(15s, 30s, 60s)
  • モバイル/ストーリー向け縦動画
  • VAST/VPAID タグ
  • インタラクティブ動画
詳細は Video Channel Guide を参照。

Display Formats

  • 標準 IAB サイズ(300x250、728x90 など)
  • レスポンシブユニット
  • リッチメディア/エキスパンダブル
  • HTML5 クリエイティブ
詳細は Display Channel Guide を参照。

Audio Formats

  • ストリーミングオーディオ(15s, 30s, 60s)
  • ポッドキャスト差し込み
  • コンパニオンバナー
  • VAST オーディオタグ
詳細は Audio Channel Guide を参照。

DOOH Formats

  • デジタルビルボード
  • 交通機関ディスプレイ
  • リテールスクリーン
  • 会場ベースのインプレッショントラッキング
詳細は DOOH Channel Guide を参照。
  • プロダクトカルーセル(3〜10 アイテム)
  • ストーリーシーケンス
  • スライドショー
  • フレームベース構造
詳細は Carousel Channel Guide を参照。

マルチアセット/フレームベースフォーマット

カルーセルやスライドショー、ストーリーのように、各フレームに複数アセットを持つ繰り返しグループを使うフォーマットがあります。パターンの詳細は Carousel & Multi-Asset Formats を参照してください。

レポートメトリクス

フォーマットは reported_metrics フィールドを使って、配信レポートで生成されるメトリクスを宣言できます。これにより、バイヤーはそのフォーマットの在庫を購入した場合にどのようなデータを受け取れるかを把握できます。
{
  "format_id": {
    "agent_url": "https://creative.adcontextprotocol.org",
    "id": "video_30s_hosted"
  },
  "name": "30-Second Hosted Video",
  "reported_metrics": [
    "impressions", "spend", "views", "completed_views",
    "completion_rate", "quartile_data"
  ]
}

プロダクトメトリクスとの交差

プロダクトは reporting_capabilities.available_metrics で利用可能なメトリクスを宣言します。バイヤーが受け取るのは、フォーマットの reported_metrics とプロダクトの available_metrics積集合です。 impressionsspend は積集合に関わらず常に報告されます。これらはすべての配信レスポンスに暗黙的に含まれます。積集合はそれ以外のメトリクスに適用されます。 例えば、動画フォーマットが quartile_data を宣言していても、プロダクトが impressionsspendclicks しか報告しない場合、バイヤーはそのプロダクトのクォータイルデータを受け取れません。

省略する場合

reported_metrics を省略した場合、フォーマットはプロダクトレベルのメトリクス宣言に完全に委ねます。これは、クリエイティブタイプが利用可能なメトリクスを本質的に制限しないフォーマット(例: メトリクスがプラットフォームに依存するネイティブフォーマット)に適しています。

一般的なパターン

動画フォーマット: impressions, spend, views, completed_views, completion_rate, quartile_data ディスプレイフォーマット: impressions, spend, clicks, ctr, viewability DOOH フォーマット: impressions, spend, dooh_metrics ソーシャル/パフォーマンスフォーマット: impressions, spend, clicks, ctr, conversions, engagement_rate

フォーマットカード

フォーマットカードは、ブラウズ/選択 UI でフォーマットを視覚的に示すための定義です。クリエイティブエージェントは、カードフォーマットと必要アセットを含むカード定義を任意で提供できます。

カードタイプ

クリエイティブエージェントは少なくとも Standard カードを、必要に応じて詳細カードも提供してください。 Standard Card (format_card):
  • フォーマットブラウズ用のコンパクトな 300x400px カード
  • Retina 向けに 2x 密度画像をサポート
  • 仕様を素早く把握可能
Detailed Card (format_card_detailed, 任意):
  • レスポンシブレイアウトで、ヒーローカルーセルとテキスト説明を並べて表示
  • 下部に Markdown 仕様セクション
  • Yahoo の広告仕様 のような詳細ドキュメントを提供

構造

{
  "format_id": {
    "agent_url": "https://creative.adcontextprotocol.org",
    "id": "video_standard_30s"
  },
  "name": "Standard Video - 30 seconds",
  "type": "video",
  // ... other format fields ...

  "format_card": {
    "format_id": {
      "agent_url": "https://creative.adcontextprotocol.org",
      "id": "format_card_standard"
    },
    "manifest": {
      "display_name": "30-Second Video",
      "preview_mockup_url": "https://cdn.example.com/format-mockups/video_30s.png",
      "format_type_label": "Video"
    }
  },

  "format_card_detailed": {
    "format_id": {
      "agent_url": "https://creative.adcontextprotocol.org",
      "id": "format_card_detailed"
    },
    "manifest": {
      "display_name": "Standard 30-Second Video",
      "description": "The Edge A-Logs Horizon (desktop) format is an encompassing...",
      "carousel_images": [
        "https://cdn.example.com/formats/video_30s_context1.jpg",
        "https://cdn.example.com/formats/video_30s_context2.jpg"
      ],
      "specifications_markdown": "# Technical Specifications\n\n..."
    }
  }
}

カードの描画

カード表示には 2 つの方法があります。
  1. preview_creative を使用: カードフォーマットとマニフェストを渡してレンダリング
  2. 事前レンダリング: クリエイティブエージェントがカードを生成し、静的に配信
インフラに合わせて動的生成と静的ホスティングを選択できます。

Standard カードフォーマット

リファレンスクリエイティブエージェントは次の 2 種の標準カードフォーマットを定義します。
  • format_card_standard (300x400px) - フォーマットブラウズ用のコンパクトカード
  • format_card_detailed (レスポンシブ) - カルーセルと詳細仕様を含むリッチカード
クリエイティブエージェントは独自のカードフォーマットを定義し、ユニークな能力を強調したりブランドに合わせたりできます。 Note: 標準カードフォーマットの定義はプロトコル仕様ではなく creative-agent repository で管理されています。

フォーマットカードを含めるべき場面

フォーマットカードは任意ですが、次のケースで推奨されます。
  • モックアップが理解に役立つビジュアル系フォーマット(display, video, DOOH)
  • 複数アセット要件を持つ複雑なフォーマット
  • Standard と異なるカスタムフォーマット
  • ビジュアルプレビューがバイヤー理解を助ける場合
広告仕様ページのような詳細説明が必要な場合は detailed カードを使ってください。

クライアント描画ガイドライン

UI でフォーマットを表示する際は次のフォールバック順を推奨します。
  1. format_card があるpreview_creative で描画、または事前レンダリング画像を表示
  2. format_card がない → テキストのみ(フォーマット名 + 説明)を表示
  3. カード描画に失敗 → テキストのみ表示にフォールバック
利用可能なメタデータにかかわらず、安定したユーザー体験を提供できます。

関連ドキュメント