Skip to main content
このガイドは、クリエイティブフォーマットを実装する セールスエージェント 向けです。カスタムフォーマットを定義する前に、AdCP エコシステムで既に利用できるフォーマットを確認してください。

実装方針: まず確認し、必要なら拡張

多くのパブリッシャーは IAB 標準サイズ、一般的な動画仕様、広く使われるネイティブフォーマットなど、標準フォーマットの組み合わせをサポートしています。自前で定義するのではなく、次の手順で進めましょう。
  1. リファレンスクリエイティブエージェントを確認 し、必要なフォーマットが既にあるか調べる
  2. 要件に合う場合は 既存フォーマットを参照 する
  3. 独自要件があるときだけ カスタムフォーマットを作成する
このアプローチにより:
  • 保守負荷を削減 - 既存フォーマットを自分で維持する必要がない
  • クリエイティブの可搬性を向上 - バイヤーが複数パブリッシャーで再利用できる
  • エコシステムの一貫性を強化 - 共通フォーマットで同じ仕様を共有できる

リファレンスクリエイティブエージェント

URL: https://creative.adcontextprotocol.org ステータス: 本番サービス(実際に稼働している AdCP クリエイティブエージェント) リファレンスクリエイティブエージェントは、広告業界で広く使われる一般的なクリエイティブフォーマットの公式定義を提供します。
  • IAB 標準ディスプレイサイズ(300x250、728x90、320x50 など)
  • 標準的な動画フォーマット(15s、30s、60s のプレロールなど)
  • ストリーミングやポッドキャスト挿入用のオーディオフォーマット
  • デジタルサイネージ向けの DOOH フォーマット
  • レスポンシブ配置向けネイティブフォーマット
  • 複数商品を扱うカルーセルフォーマット
カスタムフォーマットを作成する前に、 必要なフォーマットが既に存在するかリファレンスクリエイティブエージェントに問い合わせてください。

標準フォーマットを使う理由

セールスエージェントにとって

  • 保守負荷なし: IAB 標準フォーマット定義を複製しなくて済む
  • エコシステムの一貫性: 共通フォーマットで同じ仕様を利用できる
  • 差別化に注力: 在庫固有のカスタムフォーマットに時間を使える

バイヤーにとって

  • 可搬性: 1 つのクリエイティブを複数パブリッシャーで利用可能
  • 予測可能性: フォーマット要件が一貫
  • 迅速な立ち上げ: パブリッシャーごとにカスタム制作しなくて済む

実装ステップ

ステップ 1: 必要なフォーマットを洗い出す

在庫が受け付けるクリエイティブフォーマットを列挙します。例:
  • ディスプレイ: 300x250、728x90、320x50
  • 動画: 15 秒プレロール、30 秒プレロール
  • ネイティブ: レスポンシブネイティブフォーマット

ステップ 2: リファレンスクリエイティブエージェントを確認

list_creative_formatshttps://creative.adcontextprotocol.org に問い合わせ、必要なフォーマットが既に存在するか確認します。リファレンスエージェントは次を管理しています。
  • すべての IAB 標準ディスプレイサイズ
  • 一般的な動画尺とアスペクト比
  • 標準オーディオフォーマット
  • DOOH の仕様
  • ネイティブ広告フォーマット

ステップ 3: 参照と定義を決める

参照するケース:
  • 技術要件に完全一致するフォーマットがある
  • IAB 標準仕様で作られたクリエイティブを受け入れる
  • パブリッシャー間でクリエイティブの可搬性を高めたい
カスタムフォーマットを定義するケース:
  • 独自の技術要件がある(カスタム寸法、特殊アセットの必要など)
  • パブリッシャー固有の検証や組み立てロジックが必要
  • プレミアムで差別化された広告体験を提供する

ステップ 4: レスポンスを実装

list_creative_formats を実装する際、標準フォーマットをサポートする場合はリファレンスクリエイティブエージェントを含めます。 最も一般的: 標準フォーマットを参照 在庫が標準フォーマットを受け入れる場合(ほとんどのパブリッシャーが該当):
{
  "formats": [],
  "creative_agents": [
    "https://creative.adcontextprotocol.org"
  ]
}
これは「リファレンスクリエイティブエージェントが提供する標準フォーマットをすべてサポートしています」という意味になります。 カスタムフォーマットもある場合: 両方を組み合わせる 固有フォーマットに加えて標準フォーマットもサポートする場合:
{
  "formats": [
    {
      "format_id": {
        "agent_url": "https://youragent.com",
        "id": "homepage_takeover"
      },
      "name": "Homepage Takeover",
      "type": "rich_media",
      "assets": [...]
    }
  ],
  "creative_agents": [
    "https://creative.adcontextprotocol.org"
  ]
}
これは「カスタムの Homepage Takeover に加え、リファレンスクリエイティブエージェントの標準フォーマットもすべてサポートします」という意味です。 カスタムフォーマットのみの場合: リファレンスを省略 まれですが、真に独自の要件を持つカスタムフォーマットしかサポートしない場合:
{
  "formats": [
    {
      "format_id": {
        "agent_url": "https://youragent.com",
        "id": "custom_holographic_display"
      },
      "name": "Holographic Display Format",
      "type": "dooh",
      "assets": [...]
    }
  ]
}
注意: これはまれです。多くのパブリッシャーは少なくとも一部の標準フォーマット(300x250 など)を受け入れるため、通常はリファレンスクリエイティブエージェントの URL を含めます。

含まれる標準フォーマット

リファレンスクリエイティブエージェントは主要チャネルを横断してフォーマットを提供します。
  • Display Formats - IAB 標準バナーサイズ(300x250、728x90、320x50 など)
  • Video Formats - 標準的な動画広告仕様(15s、30s、縦型、CTV)
  • Audio Formats - ストリーミングオーディオやポッドキャスト挿入用フォーマット
  • DOOH Formats - デジタルサイネージや交通広告の仕様
  • Carousel Formats - 複数商品やスライドショー向けフォーマット
各フォーマットには次が含まれます。
  • 正確な技術要件(寸法、尺、ファイルタイプなど)
  • 必須/任意アセットの仕様
  • ユニバーサルマクロのサポート
  • プレビューとバリデーション機能

フォーマットディスカバリーの流れ

バイヤーがセールスエージェントからフォーマットを取得する際:
  1. バイヤーが セールスエージェントへ list_creative_formats を呼び出す
  2. レスポンスに カスタムフォーマットと creative_agents: ["https://creative.adcontextprotocol.org"] を含める
  3. バイヤーが再帰的に リファレンスエージェントへ問い合わせ、標準フォーマットを取得
  4. バイヤーは カスタムフォーマットと標準フォーマットを合わせた一覧を確認
バイヤーは問い合わせた URL を追跡し、無限ループを避けます。

セールスエージェント向けベストプラクティス

✅ 標準フォーマットを参照する

{
  "creative_agents": [
    "https://creative.adcontextprotocol.org"
  ]
}
いつ: 特別な要件がなく、在庫が IAB 標準サイズを受け入れる場合 理由: 保守を削減し、一貫性を確保し、バイヤーは既存クリエイティブを流用できる

✅ カスタムフォーマットを定義する

{
  "formats": [
    {
      "format_id": {
        "agent_url": "https://youragent.com",
        "id": "native_feed_card"
      },
      "type": "native"
    }
  ]
}
いつ: 独自のインベントリ体験や特定の技術要件がある場合 理由: 差別化やプレミアム在庫の提供が可能になる

❌ 標準フォーマットを複製しない

{
  "formats": [
    {"format_id": {"agent_url": "https://youragent.com", "id": "display_300x250"}},
    {"format_id": {"agent_url": "https://youragent.com", "id": "display_728x90"}},
    {"format_id": {"agent_url": "https://youragent.com", "id": "display_320x50"}},
    // ... copying 50+ standard formats
  ]
}
ダメな理由: 保守負荷が高く、バージョンドリフトやエコシステム間の非一貫性を招く 例外: これらのフォーマットに対してカスタムの検証/プレビューが必要な場合

✅ 必要に応じて両方使う

{
  "formats": [
    // Your differentiating formats
  ],
  "creative_agents": [
    "https://creative.adcontextprotocol.org"
  ]
}
結果: バイヤーはカスタムフォーマットに加え、すべての標準フォーマットを確認できる

フォーマット ID の名前空間

複数のエージェントがフォーマットを定義しても衝突しないよう、AdCP はフォーマット識別子に 名前空間パターン を用います。

名前空間パターン: {domain}:{format_id}

構造:
domain:format_id
例:
  • creative.adcontextprotocol.org:display_300x250
  • creative.adcontextprotocol.org:video_30s_hosted
  • youragent.com:homepage_takeover_2024
  • publisher.example:native_feed_card

ドメインの要件

名前空間付き format_id のドメインは次を満たす必要があります。
  1. {domain}/.well-known/adagents.json有効なエージェントカードをホスト する
  2. エージェントカードの拡張で MCP エンドポイント を宣言する
  3. 標準のエージェントカード欄で A2A エンドポイント を宣言する
例: https://youragent.com/.well-known/adagents.json のエージェントカード
{
  "agents": [
    {
      "agent_url": "https://youragent.com",
      "agent_name": "Your Creative Agent",
      "protocols": ["mcp", "a2a"],
      "mcp_endpoint": "https://youragent.com/mcp",
      "a2a_endpoint": "https://youragent.com/a2a",
      "capabilities": ["list_creative_formats", "preview_creative"]
    }
  ]
}
これにより、その名前空間のドメインがフォーマット仕様とバリデーションを提供できる有効なエージェントであることが保証されます。

名前空間を使うべきタイミング

フォーマットを定義する際は 常に名前空間付き format_id を使用してください。
{
  "formats": [
    {
      "format_id": {
        "agent_url": "https://youragent.com",
        "id": "homepage_takeover"
      },
      "name": "Homepage Takeover",
      "type": "rich_media"
    }
  ]
}
メリット:
  • 衝突なし - 各エージェントが自分の名前空間を保有
  • 所有者が明確 - ドメインが権威あるエージェントを示す
  • 発見可能 - バイヤーがドメインのエージェントカードを取得できる
  • 検証可能 - エージェントカードでドメイン所有を証明

エージェント種別別の名前空間例

リファレンスクリエイティブエージェント:
{
  "format_id": {
    "agent_url": "https://creative.adcontextprotocol.org",
    "id": "display_300x250"
  }
}
パブリッシャーセールスエージェント:
{
  "format_id": {
    "agent_url": "https://youragent.com",
    "id": "custom_format"
  }
}
DCO プラットフォーム:
{
  "format_id": {
    "agent_url": "https://dco.example",
    "id": "dynamic_creative_v2"
  }
}

衝突の解消

名前空間付き format_id では、各ドメインが自分の名前空間を管理するため衝突は 発生しません 衝突しない例:
// Two different formats, both valid
{
  "format_id": {
    "agent_url": "https://publisher-a.com",
    "id": "video_30s"
  }
}
{
  "format_id": {
    "agent_url": "https://publisher-b.com",
    "id": "video_30s"
  }
}
バイヤーが複数のソースから同じ名前空間付き format_id を受け取った場合、それらは 同一のフォーマット です。名前空間が同一性を保証します。

バリデーションルール

  1. ドメインは agent_url のドメインと一致していること:
    // ✅ Valid - domain matches
    {
      "format_id": {
        "agent_url": "https://youragent.com",
        "id": "format_x"
      }
    }
    
    // ❌ Invalid - domain mismatch
    {
      "format_id": {
        "agent_url": "https://otheragent.com",
        "id": "format_x"
      }
    }
    
  2. ドメインは有効なエージェントカードを持つこと:
    • {domain}/.well-known/adagents.json にエージェントカードが存在する
    • MCP および/または A2A エンドポイントを宣言している
    • エンドポイントが機能している
  3. format_id はパターンに従うこと:
    • {domain}:{format_id} 構造
    • ドメインは有効な DNS ホスト名
    • format_id は英数字とアンダースコア/ハイフン

非名前空間 ID からの移行

以前に display_300x250 のようなシンプルな ID を使用していた場合は、名前空間付きに移行します。 移行前:
{
  "format_id": {
    "agent_url": "https://youragent.com",
    "id": "display_300x250_old"
  }
}
移行後:
{
  "format_id": {
    "agent_url": "https://youragent.com",
    "id": "display_300x250"
  }
}
必要に応じて移行期間中は両方をサポートしても構いませんが、新しい実装では最初から名前空間付き ID を使用してください。

権威としてのリファレンスエージェント

各フォーマットは format_idagent_url で権威となるソースを示します。
{
  "format_id": {
    "agent_url": "https://creative.adcontextprotocol.org",
    "id": "display_300x250"
  },
  "name": "Medium Rectangle",
  "type": "display"
}
この URL のクリエイティブエージェントが次の決定的なソースとなります。
  • フォーマット仕様の完全版
  • アセット要件とバリデーションルール
  • プレビュー生成
  • レンダリング手順

標準フォーマットを使わないケース

次の場合は独自フォーマットを定義します。
  1. 固有の技術要件 - プラットフォームが IAB 標準とは異なる仕様を必要とする
  2. カスタム検証 - 追加のクリエイティブ審査や承認が必要
  3. 独自の組み立て - レンダリングパイプラインに特別な要件がある
  4. プレミアム体験 - 標準フォーマットではカバーできない差別化された商品
これらの場合でも、基本的な在庫には標準フォーマットを参照しつつ、プレミアム枠にカスタムフォーマットを定義できます。

実装に関する補足

フォーマット権威のパターン

agent_url フィールドにより 分散型のフォーマット権威 モデルが成立します。
  • リファレンスエージェントは IAB 標準の権威
  • 各パブリッシャーは自社カスタムフォーマットの権威
  • バイヤーは正しい権威を発見し、検証できる

バージョン管理

リファレンスクリエイティブエージェントはフォーマットのバージョンと互換性を管理します。
  • フォーマット定義は業界標準に合わせて進化
  • 後方互換性を維持
  • バイヤーは安定した format_id を前提にできる

何が「標準」か

標準フォーマット とは、https://creative.adcontextprotocol.org のリファレンスクリエイティブエージェントが定義し、次に基づくものです。
  1. 業界仕様 - IAB 標準、VAST/VPAID 仕様、一般的な広告ユニットサイズ
  2. クロスプラットフォーム互換性 - 複数パブリッシャーでカスタマイズなしに動作
  3. 安定した定義 - エコシステム全体の一貫性のためにバージョン管理される
プロトコルの観点: プロトコルレベルでは標準フォーマットも他のフォーマットと同じで、特別な API 処理はありません。agent_url が権威となるエージェントを示す点はカスタムフォーマットと同様です。 エコシステムの観点: 標準フォーマットは可搬性を提供します。バイヤーは 1 つのクリエイティブを作成し、同じフォーマット定義を参照する多くのパブリッシャーで利用できます。

関連ドキュメント