assets配列を通じて必要なアセットタイプ(動画、画像、テキスト、音声など)- 各アセットの技術的制約(尺・寸法・ファイルタイプ・上限)
- 生成されたクリエイティブの配信方法と検証方法
Standard フォーマットと Custom フォーマット
AdCP は権威性と再利用性に基づいて 2 種類のフォーマットをサポートします(機能差ではありません)。Standard Formats
Standard フォーマットは AdCP リファレンスクリエイティブエージェント (https://creative.adcontextprotocol.org) が提供する事前定義の仕様です。
Standard フォーマットの特徴:
- 業界整合: IAB のフォーマットファミリーや一般的な慣行に基づく
- 移植性: プラットフォームをまたいで一貫して動作
- 検証済み: 既知の技術要件に対して事前にテスト済み
- 探索可能:
list_creative_formatsで返されます - メンテナンス済み: 中央で文書化され、更新されます
- 固定またはレスポンシブ寸法のディスプレイフォーマット
- 標準尺とアスペクト比を持つ動画フォーマット
- 規定尺のオーディオフォーマット
- 代表的な DOOH ディスプレイおよび動画実装
Custom Formats
Custom フォーマットは、Standard では正確に表現できない在庫向けに、パブリッシャーやプラットフォームが定義します。 使用するケース:- 固有の制約: 非標準の寸法、実在のディスプレイ、特別なアセット要件
- 特殊能力: プラットフォーム固有の描画やインタラクション
- プレミアム在庫: 差別化されたオーダーメイドの広告商品
- カスタム検証ロジック: パブリッシャー独自の審査や組み立てルール
フォーマットの探索
バイヤーは営業エージェントが公開するlist_creative_formats タスクでサポートフォーマットを探索します。
フォーマットの取得元:
- 営業エージェント自身 - カスタムフォーマット
- 参照するクリエイティブエージェント - 例えばリファレンスエージェントなどの Standard フォーマット
フォーマットの権威
各フォーマットはagent_url を持ち、そのフォーマットに対する権威クリエイティブエージェントを示します。
- 完全なフォーマット仕様
- クリエイティブ要素の要件と制約
- 検証ルール
- プレビュー生成
- 正式なドキュメント
agent_url を参照して正式なフォーマット情報を取得します。
フォーマットのビジュアル表現
フォーマットは、UI でのブラウズや選択を支援するメタデータを任意で含められます。Showcase 例
Field:example_url
Purpose: パブリッシャー管理のショーケースへのディープリンク
含められるもの:
- インタラクティブデモ
- 動画
- 複数のクリエイティブ例
- ベストプラクティスや仕様
フォーマット参照
AdCP では曖昧さや名前衝突を避けるため、常に構造化されたフォーマット識別子を使います。構造化フォーマット ID(必須)
すべてのフォーマット参照 は構造化された format ID オブジェクトを使います。- 明示的な名前空間
- 衝突しない識別子
- スキーマ検証
- 互換性を壊さない拡張性
構造化フォーマット ID の使用箇所
リクエスト:sync_creatives- クリエイティブアセットのアップロードbuild_creative- クリエイティブエージェントによる生成preview_creative- プレビュー生成create_media_buy- フォーマット要件の指定
list_creatives- クリエイティブ詳細の返却get_products- プロダクトのフォーマット能力list_creative_formats- フォーマット定義- クリエイティブやフォーマット情報を含むあらゆるレスポンス
- リクエストフィルターの
format_ids(複数形) - 構造化 format_id オブジェクトの配列
検証ルール
すべての AdCP エージェントが守るべきこと:- ✅ すべてのコンテキストで構造化
format_idを受け付けます - ✅ すべてのレスポンスで構造化
format_idを返す - ❌ 文字列のみの format_id をエラー付きで拒否します
- ❌ 文字列 format_id を API 契約で使用しません
レガシー考慮
一部のレガシーシステムは文字列 format_id を送る場合があります。実装者の選択肢:- 厳格な検証(推奨): 文字列を即時にエラーで拒否
- 非推奨化を伴う自動アップグレード: 一時的に受け付け、警告をログに残し、廃止時期を明示
- agent_url にマッピングできる既知のフォーマットのみ文字列を受け入れる
- 不明なフォーマット文字列は即座に失敗させる
- すべてのリクエストで非推奨警告をログ出力します
- 廃止日を設定し通知する(最大 6 か月を推奨)
フォーマット構造
フォーマットは次の主要フィールドを持つ JSON オブジェクトです。- 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- 任意。提供されればリッチになる(例: コンパニオンバナー、第三者トラッキングピクセル)
型付きアセット要件
アセットタイプごとに、そのアセットに適用される制約を定義した要件スキーマがあります。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- サイズ制約
asset_type: "html"):
max_file_size_kb- 最大ファイルサイズsandbox- 実行環境(none,iframe,safeframe,fencedframe)external_resources_allowed- 外部スクリプト/画像の読み込みを許可するかallowed_external_domains- 外部リソースで許可するドメイン
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- 禁止ワード/フレーズ
asset_type: "url"):
role- 標準的な用途(clickthrough, impression_tracker, click_tracker など)protocols- 許可プロトコル(https, http)allowed_domains- 許可遷移先ドメインmacro_support- マクロ置換をサポートするか
アセットオーバーレイ
一部のフォーマットは、バイヤーのクリエイティブコンテンツの上に重なるパブリッシャー管理要素(動画プレイヤーコントロール、パブリッシャーロゴなど)を含みます。フォーマットはこれらを関連アセットのoverlays として宣言し、クリエイティブエージェントとバイヤーがどの領域が覆われるかを把握して合成できるようにします。
オーバーレイの境界はアセット自身の左上隅を基準とした相対値で表します。unit フィールドは "px"(絶対ピクセル)または "fraction"(アセット寸法に対する比率: x/y はアセット自身の端から 0.0、width/height は 0.12 がアセット寸法の 12%)のいずれかです。同じアセット上の異なるオーバーレイが異なる単位を使う場合があり、クリエイティブエージェントはそれぞれ独立して処理しなければなりません。
visual フィールドは任意ですが強く推奨されます。クリエイティブエージェントがパブリッシャーのクロームを重ねた正確なプレビューを合成できるようにします。テーマに依存しないグラフィック(例: currentColor を使う SVG)には url を使い、ライト/ダークの個別アセットが必要な場合は light/dark バリアントを指定してください。
レンダリング成果物と寸法
フォーマットは 1 つ以上のレンダー成果物を定義し、それぞれに寸法と意味的ロールを付与します。 対応するシナリオ:- 単一レンダー
- コンパニオン付きクリエイティブ
- 複数掲出面の出力
- レスポンシブ挙動
- 非個人環境向けの物理寸法
renders 配列で指定します。多くは 1 つのレンダーですが、コンパニオン広告やアダプティブ、マルチプレースメントでは複数レンダーを持ちます。
- 単一/複数レンダーを同一構造で表現
- 文字列解析不要で構造化された寸法
- スキーマで寸法を検証
- レスポンシブと固定を同等に表現
- 適切なプレビュー生成を支援
- 寸法ベースのフィルタリングを可能に
- DOOH 向けに物理単位をサポート
- 各レンダーの意味的ロールが明確
フォーマットカテゴリ
歴史的に、フォーマットは IAB フォーマットファミリーに分類されてきました。- Display
- Video
- Audio
- Native
- Performance Max は動画・ディスプレイ・検索・ネイティブを同時にまたぐ
- 検索広告(RSA)はインテントの高い文脈でのテキストのみ
- 会話型 AI プレースメントは従来のカテゴリに当てはまらない
assets 配列が必要なクリエイティブ要素を正確に示します。
- 動画が必要?
asset_type: 'video'を確認 - 画像が必要?
asset_type: 'image'を確認 - テキストのみ? 必須アセットがすべて
asset_type: 'text'
Video Formats
- 標準動画(15s, 30s, 60s)
- モバイル/ストーリー向け縦動画
- VAST/VPAID タグ
- インタラクティブ動画
Display Formats
- 標準 IAB サイズ(300x250、728x90 など)
- レスポンシブユニット
- リッチメディア/エキスパンダブル
- HTML5 クリエイティブ
Audio Formats
- ストリーミングオーディオ(15s, 30s, 60s)
- ポッドキャスト差し込み
- コンパニオンバナー
- VAST オーディオタグ
DOOH Formats
- デジタルビルボード
- 交通機関ディスプレイ
- リテールスクリーン
- 会場ベースのインプレッショントラッキング
Carousel / Multi-Asset Formats
- プロダクトカルーセル(3〜10 アイテム)
- ストーリーシーケンス
- スライドショー
- フレームベース構造
マルチアセット/フレームベースフォーマット
カルーセルやスライドショー、ストーリーのように、各フレームに複数アセットを持つ繰り返しグループを使うフォーマットがあります。パターンの詳細は Carousel & Multi-Asset Formats を参照してください。レポートメトリクス
フォーマットはreported_metrics フィールドを使って、配信レポートで生成されるメトリクスを宣言できます。これにより、バイヤーはそのフォーマットの在庫を購入した場合にどのようなデータを受け取れるかを把握できます。
プロダクトメトリクスとの交差
プロダクトはreporting_capabilities.available_metrics で利用可能なメトリクスを宣言します。バイヤーが受け取るのは、フォーマットの reported_metrics とプロダクトの available_metrics の積集合です。
impressions と spend は積集合に関わらず常に報告されます。これらはすべての配信レスポンスに暗黙的に含まれます。積集合はそれ以外のメトリクスに適用されます。
例えば、動画フォーマットが quartile_data を宣言していても、プロダクトが impressions・spend・clicks しか報告しない場合、バイヤーはそのプロダクトのクォータイルデータを受け取れません。
省略する場合
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 密度画像をサポート
- 仕様を素早く把握可能
format_card_detailed, 任意):
- レスポンシブレイアウトで、ヒーローカルーセルとテキスト説明を並べて表示
- 下部に Markdown 仕様セクション
- Yahoo の広告仕様 のような詳細ドキュメントを提供
構造
カードの描画
カード表示には 2 つの方法があります。preview_creativeを使用: カードフォーマットとマニフェストを渡してレンダリング- 事前レンダリング: クリエイティブエージェントがカードを生成し、静的に配信
Standard カードフォーマット
リファレンスクリエイティブエージェントは次の 2 種の標準カードフォーマットを定義します。format_card_standard(300x400px) - フォーマットブラウズ用のコンパクトカードformat_card_detailed(レスポンシブ) - カルーセルと詳細仕様を含むリッチカード
フォーマットカードを含めるべき場面
フォーマットカードは任意ですが、次のケースで推奨されます。- モックアップが理解に役立つビジュアル系フォーマット(display, video, DOOH)
- 複数アセット要件を持つ複雑なフォーマット
- Standard と異なるカスタムフォーマット
- ビジュアルプレビューがバイヤー理解を助ける場合
クライアント描画ガイドライン
UI でフォーマットを表示する際は次のフォールバック順を推奨します。format_cardがある →preview_creativeで描画、または事前レンダリング画像を表示format_cardがない → テキストのみ(フォーマット名 + 説明)を表示- カード描画に失敗 → テキストのみ表示にフォールバック
関連ドキュメント
- Creative Protocol Overview - フォーマット・マニフェスト・エージェントの連携
- Creative Manifests - アセットとフォーマットの組み合わせ方
- Asset Types - アセット仕様の理解
- Channel Guides - メディアタイプ別の詳細フォーマット
- Implementing Standard Format Support - 営業エージェント向け
- list_creative_formats Task - フォーマット探索の API リファレンス