/schemas/v2/media-buy/list-creative-formats-request.json
Response Schema: /schemas/v2/media-buy/list-creative-formats-response.json
営業エージェントとクリエイティブエージェントの違い
list_creative_formats は営業エージェントとクリエイティブエージェントの両方が実装しますが、挙動が異なります。
クリエイティブエージェント(例: https://creative.adcontextprotocol.org):
- 自身が保有する 権威あるフォーマット定義 を返す
- 追加フォーマットについて他のクリエイティブエージェントを参照する場合がある
- クリエイティブ構築と検証のための完全な仕様を提供する
https://test-agent.adcontextprotocol.org):
- 稼働中のプロダクトで使われているフォーマットのみ を返す
- フォーマット仕様についてクリエイティブエージェントを参照する
- 実際に購入可能なものに基づいて結果をフィルタリングする
リクエストパラメーター
| Parameter | Type | Required | Description |
|---|---|---|---|
format_ids | FormatID[] | No | 特定のフォーマット ID のみ返す(get_products レスポンス由来) |
type | string | No | 種別でフィルター: audio, video, display, dooh |
asset_types | string[] | No | image, video, audio, text, html, javascript, url を受け付けるフォーマットに絞り込む(OR ロジック) |
max_width | integer | No | 最大幅(ピクセル、以上は含む)- いずれかのレンダーが収まれば一致 |
max_height | integer | No | 最大高さ(ピクセル、以上は含む)- いずれかのレンダーが収まれば一致 |
min_width | integer | No | 最小幅(ピクセル、以上は含む) |
min_height | integer | No | 最小高さ(ピクセル、以上は含む) |
is_responsive | boolean | No | レスポンシブ対応(コンテナサイズに適応)に絞る |
name_search | string | No | 名前による検索(大文字小文字を区別しない部分一致) |
複数レンダーの寸法フィルタリング
フォーマットは複数のレンダー(例: 動画 + コンパニオンバナー)を生成する場合があります。寸法フィルターは 「いずれかのレンダーが合致すれば OK」 というロジックです。max_width: 300, max_height: 250- 少なくとも 1 つ のレンダーが 300×250 以下であれば一致- ユースケース: 「300×250 の広告枠に収まるフォーマットを探す」
- 例: メイン動画 (1920×1080) とコンパニオンバナー (300×250) を持つフォーマットは、バナーが収まるため 一致
レスポンス
| Field | Description |
|---|---|
formats | フォーマット定義の配列(format_id、name、type、requirements、assets、renders を含む) |
creative_agents | 追加フォーマットを提供する他のクリエイティブエージェントの任意配列 |
再帰的な探索
クリエイティブエージェントは、追加フォーマットを提供する他のクリエイティブエージェントを参照する場合があります。creative_agents を再帰的に問い合わせできます。無限ループを避けるため、訪問済み URL を必ず追跡してください。
よくあるシナリオ
プロダクトのフォーマット ID から仕様を取得する
アセットタイプでフォーマットを探す
サードパーティタグ対応フォーマットを探す
種別と寸法で絞り込む
名前で検索する
レスポンシブフォーマットを探す
フォーマット構造
各フォーマットには次が含まれます。| Field | Description |
|---|---|
format_id | agent_url と id を持つ構造化された識別子 |
name | 人が読みやすいフォーマット名 |
type | フォーマット種別(audio、video、display、dooh) |
requirements | 技術要件(尺、ファイル形式、ビットレートなど) |
assets | すべてのアセット配列。必須か任意かは required ブール値で示す |
renders | レンダリングされる成果物の配列(寸法、役割) |
アセットロール
共通のアセットロールはアセットの用途を把握するのに役立ちます。hero_image- メインビジュアルhero_video- メインの動画コンテンツlogo- ブランドロゴheadline- メインテキストbody_text- セカンダリテキストcall_to_action- CTA ボタン文言
アセットタイプのフィルターロジック
asset_types パラメーターは OR ロジック で、指定したいずれかのアセットタイプを受け付けるフォーマットが返されます。
例: asset_types: ['html', 'javascript', 'image']
- html または javascript または image を受け付けるフォーマットが返る
- ユースケース: 「手元のアセットタイプのどれかで使えるフォーマットを知りたい」
test=false
複数レンダーフォーマットの寸法フィルタリング
複数の成果物を生成するフォーマット例:- コンパニオンバナー付き動画 - メイン動画 (1920×1080) + バナー (300×250)
- アダプティブディスプレイ - デスクトップ (728×90) + モバイル (320×50)
- DOOH 設置 - 寸法が異なる複数画面
test=false
実装上の要件
クリエイティブエージェントでlist_creative_formats を実装する場合:
- 権威あるフォーマットを返す - 定義するフォーマットに関する完全な仕様を含める
- 他エージェントを参照する -
creative_agentsを使って他のクリエイティブエージェントに委譲する - 能力を明記する - validation、assembly、generation、preview などサポートする操作を示す
- フィルターをサポートする - type、asset_types、寸法などのフィルターパラメーターを実装する
エラーハンドリング
| Error Code | Description | Resolution |
|---|---|---|
FORMAT_NOT_FOUND | リクエストされた format_id が存在しない | get_products のレスポンスから format_id を確認する |
INVALID_REQUEST | フィルターパラメーターが不正 | パラメーターの型と値を確認する |
AGENT_NOT_FOUND | 参照先のクリエイティブエージェントが利用不可 | 廃止されたエージェント由来のフォーマットの可能性 |
ベストプラクティス
1. format_ids パラメーターを使うget_products で返されたフォーマット仕様を取得する最も効率的な方法。
2. フォーマット仕様をキャッシュする
フォーマット仕様は滅多に変わらないため、format_id ごとにキャッシュして API 呼び出しを減らす。
3. タグ系はアセットタイプで検索する
asset_types: ['html'] や ['javascript'] を指定してタグを受け付けるフォーマットを探す。
4. 複数レンダーフォーマットを考慮する
renders 配列の長さを確認し、複数の掲出面が必要かどうかを把握する。
5. アセット要件を検証する
クリエイティブを構築する前に、アセットがフォーマット仕様に一致していることを確認する。
次のステップ
フォーマットを探索したら:- クリエイティブを構築:
build_creativeでアセットを組み立てる - プレビュー:
preview_creativeでビジュアルを確認する - 検証:
sync_creativesにdry_run: trueを指定して検証する - アップロード:
sync_creativesでメディアバイにアップロードする
参考
- Format Schema - フォーマット構造の全体像
- Asset Types - アセット仕様の詳細
- Standard Formats - IAB 互換のリファレンスフォーマット