Skip to main content
AdCP のクリエイティブフォーマットは、明確なプロパティを持つ標準化されたアセットタイプを使用します。アセットは、フォーマットが要件を定義し、マニフェストが具体的な値を供給する際に利用する、型付きの構成要素です。 アセットタイプを標準化することで、フォーマット間の一貫性が保たれ、バイヤーやシステムが要件を理解しやすくなります。

重要: ペイロード vs 要件

ペイロードスキーマ(クリエイティブマニフェストで実際に提供するアセットデータの構造)については次を参照してください。
  • Asset Type Registry - すべてのペイロードスキーマへのリンク
  • /schemas/v2/core/assets/ のコアアセットスキーマ - 個別のアセットペイロード定義
重要な違い: フォーマット要件(本ドキュメント)は次のような制約を定義します。
  • アセットが必須か任意か
  • 受け入れ可能なファイル/コンテナ形式
  • 長さ、寸法、アスペクト比の制限
  • ファイルサイズやビットレートの上限
  • タグベースアセットの許可/禁止機能
ペイロードスキーマ(コアスキーマ)は提供する値を定義します。
  • url
  • content(インラインテキストやインラインタグ)
  • width / height(宣言される場合)
  • duration_ms(該当する場合)
  • format(宣言されたコンテナ種別)

Asset Type Schema

公式のアセットタイプ用 JSON スキーマ:

Core Asset Types

Video Asset

動画ファイルを表すアセット。技術要件を持ちます。
{
  "asset_type": "video",
  "required": true,
  "duration_seconds": 15,
  "acceptable_formats": ["mp4"],
  "acceptable_codecs": ["h264"],
  "acceptable_resolutions": ["1920x1080", "1280x720"],
  "aspect_ratio": "16:9",
  "max_file_size_mb": 30,
  "min_bitrate_mbps": 8,
  "max_bitrate_mbps": 10
}
プロパティ:
  • duration_seconds: 期待する動画尺
  • min_duration_seconds / max_duration_seconds: 可変の場合の尺範囲
  • acceptable_formats: コンテナ形式(mp4, webm, mov)
  • acceptable_codecs: 動画コーデック(h264, h265, vp8, vp9, av1)
  • acceptable_resolutions: 幅 x 高さの文字列配列
  • aspect_ratio: 必須のアスペクト比(16:9, 9:16, 1:1 など)
  • max_file_size_mb: 最大ファイルサイズ(MB)
  • min_bitrate_mbps / max_bitrate_mbps: ビットレート範囲(Mbps)
  • features: 追加要件(例: [“non-skippable”, “sound on”])

Image Asset

バナーやロゴなど静止画像のアセット。
{
  "asset_type": "image",
  "required": true,
  "width": 300,
  "height": 250,
  "acceptable_formats": ["jpg", "png", "gif"],
  "max_file_size_kb": 200,
  "animation_allowed": true
}
プロパティ:
  • width / height: ピクセル寸法
  • min_width / min_height: 最小寸法(px; レスポンシブ/サイズレスで利用)
  • aspect_ratio: 必須のアスペクト比
  • acceptable_formats: 画像形式(jpg, png, gif, webp, svg)
  • max_file_size_kb: 最大ファイルサイズ(KB)
  • transparency: 透過の要否/サポート
  • animation_allowed: アニメーション GIF を受け付けるか
  • notes: 追加要件(例: “Must be free of text”)
ユースケース:
  • 固定レイアウト: widthheight を指定。min_width/min_height/aspect_ratio は含めない。
  • レスポンシブ(特定の画像アスペクト比): min_widthmin_heightaspect_ratio を指定し、width/height は含めない。
  • レスポンシブ(任意の画像アスペクト比): min_widthmin_height のみ指定し、width/height/aspect_ratio は含めない。
注意: 固定レイアウトでは画像枠はピクセル単位で固定のため widthheight を指定します。レスポンシブではレンダラーが画像をリサイズするので、min_width/min_height で拡大後もシャープに見える画素数を確保します。特定の形状が必要な場合のみ aspect_ratio を使い、どんな比率でもよい場合は省略します。

Text Asset

見出し、説明、CTA などのテキスト。
{
  "asset_type": "text",
  "required": true,
  "text_type": "headline",
  "max_length": 90,
  "min_length": 10
}
プロパティ:
  • text_type: 種別(title, headline, description, body, cta, advertiser_name, disclaimer)
  • max_length: 文字数上限
  • min_length: 文字数下限
  • default: 未指定時のデフォルト値
  • allowed_characters: 検証用の正規表現
  • format: 期待する形式(plain, currency, percentage)

URL Asset

クリック先、トラッキング、ランディングページの URL。
{
  "asset_type": "url",
  "required": true,
  "url_type": "clickthrough",
  "must_be_https": true,
  "tracking_macros_supported": true
}
プロパティ:
  • url_type: URL の用途(要件でのみ使用)
    • clickthrough - ユーザーがクリックする URL(到達前にリダイレクトする場合あり)
    • impression_tracker - バックグラウンドで発火(1x1 ピクセル、JavaScript、204 No Content など)
    • video_tracker - VAST/動画イベント用のトラッキング URL
    • landing_page - ランディングページ URL
  • must_be_https: HTTPS 必須かどうか
  • allowed_domains: 許可ドメイン(制限がある場合)
  • tracking_macros_supported: URL マクロをサポートするか
注意: url_type はフォーマット要件内で URL の利用方法を示すためにのみ使用します。クリエイティブマニフェストで URL を提供する際は url 値のみでよく、asset_id が用途(例: impression_tracker, video_start_tracker, landing_url)を示します。

Audio Asset

オーディオ広告やポッドキャスト用の音声ファイル。
{
  "asset_type": "audio",
  "required": true,
  "duration_seconds": 30,
  "acceptable_formats": ["mp3", "m4a"],
  "min_bitrate_kbps": 128,
  "max_file_size_mb": 5
}
プロパティ:
  • duration_seconds: 期待する尺
  • acceptable_formats: 音声形式(mp3, m4a, aac, ogg)
  • min_bitrate_kbps: 最低ビットレート(kbps)
  • max_file_size_mb: 最大ファイルサイズ(MB)
  • stereo_required: ステレオ必須か

HTML Asset

リッチメディアフォーマットやサードパーティディスプレイタグ用の HTML5 アセット。
{
  "asset_type": "html",
  "required": true,
  "format": "html5",
  "max_initial_load_kb": 200,
  "max_total_size_kb": 500,
  "restricted_features": ["document.write", "eval"]
}
プロパティ:
  • content: インライン HTML コンテンツ
  • url: 外部ホストの HTML ファイル URL(インラインの代替)
  • format: HTML 形式(html5, amphtml)
  • max_initial_load_kb: 初期ロードの最大サイズ
  • max_total_size_kb: すべてのアセットを含む総サイズの上限
  • allowed_features: 許可する HTML5 機能
  • restricted_features: 禁止する機能

VAST Asset

サードパーティ動画広告配信のための VAST(Video Ad Serving Template)タグ。 URL 配信:
{
  "asset_type": "vast",
  "required": true,
  "delivery_type": "url",
  "url": "https://vast.example.com/video/123",
  "vast_version": "4.1",
  "vpaid_enabled": false
}
インライン配信:
{
  "asset_type": "vast",
  "required": true,
  "delivery_type": "inline",
  "content": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<VAST version=\"4.2\">...</VAST>",
  "vast_version": "4.2",
  "vpaid_enabled": false
}
プロパティ:
  • delivery_type: “url” または “inline”(必須の識別子)
  • url: VAST XML を返すエンドポイント(delivery_type が “url” の場合必須)
  • content: インライン VAST XML(delivery_type が “inline” の場合必須)
  • vast_version: VAST のバージョン(2.0, 3.0, 4.0, 4.1, 4.2)
  • vpaid_enabled: VPAID をサポートするか
  • max_wrapper_depth: 許容するラッパー/リダイレクトの深さ
  • duration_ms: 期待する動画尺(ミリ秒; 既知の場合)
  • tracking_events: サポートするトラッキングイベントの配列
ユースケース:
  • サードパーティの動画アドサーバー
  • プログラマティック動画バイイング
  • 動画アドネットワーク
  • VPAID インタラクティブ動画広告

DAAST Asset

サードパーティ音声広告配信のための DAAST (Digital Audio Ad Serving Template) タグ。 URL 配信:
{
  "asset_type": "daast",
  "required": true,
  "delivery_type": "url",
  "url": "https://daast.example.com/audio/456",
  "daast_version": "1.0"
}
インライン配信:
{
  "asset_type": "daast",
  "required": true,
  "delivery_type": "inline",
  "content": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<DAAST version=\"1.0\">...</DAAST>",
  "daast_version": "1.0"
}
プロパティ:
  • delivery_type: “url” または “inline”(必須の識別子)
  • url: DAAST XML を返すエンドポイント(delivery_type が “url” の場合必須)
  • content: インライン DAAST XML(delivery_type が “inline” の場合必須)
  • daast_version: DAAST のバージョン(1.0, 1.1)
  • duration_ms: 期待する音声尺(ミリ秒; 既知の場合)
  • tracking_events: サポートするトラッキングイベントの配列
  • companion_ads: コンパニオンバナーを含むか
ユースケース:
  • サードパーティの音声アドサーバー
  • ポッドキャスト広告ネットワーク
  • ストリーミングオーディオプラットフォーム
  • ラジオ型デジタルオーディオ広告

共通プロパティ

すべてのアセットタイプは以下の共通フィールドを持ちます。
  • asset_id: フォーマット内での一意の識別子
  • asset_type: アセットタイプ(image, video, text, url など)
  • asset_role: 意味的な役割(hero_video, logo, cta_button など)
  • required: 必須かどうか

Asset ID と Asset Role の違い

asset_id: マニフェストが値を供給するときに使用する安定した識別子。 asset_role: アセットの目的を示す意味的ラベル。 :
{
  "asset_id": "main_video",
  "asset_type": "video",
  "asset_role": "hero_video",
  "required": true
}
アセットロールは、レイアウトをハードコーディングすることなく、一貫したレンダリング、検証、AI 支援生成を可能にします。 よくある asset_role:
  • hero_image / hero_video - 主となるビジュアル
  • logo - ブランドロゴ
  • headline - メイン見出し
  • description - 本文や説明
  • cta_button - コールトゥアクションボタン
  • background_image - 背景ビジュアル
  • thumbnail - サムネイル
  • companion_banner - セカンダリのディスプレイ広告

Asset ID の使い方

asset_id はオーケストレーターやクリエイティブ管理システムにとって重要で、アップロードされたアセットをフォーマット内の正しい箇所にマッピングするための安定識別子です。

例: アセットのアップロード

アセットを送信する際、オーケストレーターは asset_id を使ってファイルをマッピングします。
{
  "format_id": {
    "agent_url": "https://creative.adcontextprotocol.org",
    "id": "foundational_immersive_canvas"
  },
  "assets": {
    "hero_image": "https://cdn.example.com/campaign123/hero.jpg",
    "brand_logo": "https://cdn.example.com/brand/logo.png",
    "headline": "Discover Our New Collection",
    "description": "Experience premium quality with our latest products",
    "video_content": "https://cdn.example.com/campaign123/video.mp4"
  }
}
assets オブジェクト内のキーは、フォーマットで定義された asset_id に対応します。

クリエイティブフォーマットでの利用

クリエイティブフォーマットは assets 配列でアセットを指定します。各アセットには required ブール値があります。
  • required: true - 有効なクリエイティブには必須
  • required: false - 任意で、クリエイティブを強化(コンパニオンバナーやサードパーティトラッキングピクセルなど)
{
  "format_id": {
    "agent_url": "https://creative.adcontextprotocol.org",
    "id": "video_15s_hosted"
  },
  "assets": [
    {
      "item_type": "individual",
      "asset_id": "video_file",
      "asset_type": "video",
      "required": true,
      "requirements": {
        "duration_seconds": 15,
        "acceptable_formats": ["mp4"],
        "acceptable_codecs": ["h264"],
        "acceptable_resolutions": ["1920x1080", "1280x720"],
        "max_file_size_mb": 30
      }
    },
    {
      "item_type": "individual",
      "asset_id": "impression_tracker",
      "asset_type": "url",
      "required": false,
      "requirements": {
        "format": ["url"],
        "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",
      "requirements": {
        "duration_seconds": 15,
        "acceptable_formats": ["mp4"],
        "acceptable_codecs": ["h264"],
        "acceptable_resolutions": ["1920x1080", "1280x720"],
        "max_file_size_mb": 30
      }
    }
  ]
}