正準フォーマットの読者へ: このページはアセットタイプとそのペイロード形状を説明します——v1 と正準フォーマットのパスで同じです。アセットがAdCP のクリエイティブフォーマットは、明確に定義されたプロパティを持つ標準化されたアセットタイプを使います。アセットは、フォーマットが要件を定義するために、マニフェストが具体的な値を供給するために使う、離散的で型付けされた構成要素です。 アセットタイプを標準化することで、フォーマット間の一貫性が保証され、バイヤーやシステムが要件を理解しやすくなります。asset_group_idを介して正準フォーマットのスロットにどうマップされるかは、canonical-formats とマイグレーションガイドを参照してください。v1 はasset_id+asset_roleを使い、正準フォーマットは正準語彙レジストリを参照するasset_group_idを使います。両方のパスは同じアセットペイロードスキーマを使い、スロットキーの語彙だけが異なります。
v2 のアセットタイプ
v2 フォーマットのslots 宣言の asset_type フィールドで有効なアセットタイプの完全な集合:
v2 マニフェストの
assets マップでは、スロットキーは正準の asset_group_id(例: image_main、video_main、script、cards、landing_page_url)で、値は asset_type 判別子を持つ対応するアセットペイロードを運びます。フォーマット宣言の slots[].asset_type が、どのペイロードスキーマが適用されるかをバリデーターに伝えます。
公開済み投稿の参照も同じルールを使います: 既存の投稿を受け入れるプロダクトは published_post スロットを宣言し、マニフェストの値は post_url または platform_post_id とともに asset_type: "published_post" を運びます。
重要: ペイロード vs 要件
ペイロードスキーマ(クリエイティブマニフェストで供給される実際のアセットデータの構造)については、次を参照してください:- アセットタイプレジストリ - すべてのペイロードスキーマへのリンク
/schemas/v3/core/assets/のコアアセットスキーマ - 個々のアセットペイロード定義
- アセットが必須か任意か
- 受け入れ可能なファイルまたはコンテナフォーマット
- 長さ、寸法、アスペクト比の制限
- ファイルサイズとビットレートの制限
- 許可または制限された機能(タグベースのアセット向け)
urlcontent(インラインテキストまたはインラインタグのマークアップ向け)width/height(宣言された場合)duration_ms(該当する場合)format(宣言されたコンテナタイプ)
アセットタイプのスキーマ
アセットタイプの公式 JSON スキーマは次で入手できます:- 本番: https://adcontextprotocol.org/schemas/asset-types-v1.json
- GitHub: https://github.com/adcontextprotocol/adcp/blob/main/static/schemas/asset-types-v1.json
コアアセットタイプ
動画アセット
動画アセットは、特定の技術要件を持つ動画ファイルを表します。duration_seconds: 想定される動画の長さmin_duration_seconds/max_duration_seconds: 長さの範囲(柔軟な場合)acceptable_formats: コンテナフォーマット(mp4、webm、mov)acceptable_codecs: 動画コーデック(h264、h265、vp8、vp9、av1)acceptable_resolutions: width x height 文字列のリストaspect_ratio: 必須のアスペクト比(16:9、9:16、1:1 など)max_file_size_mb: 最大ファイルサイズ(メガバイト)min_bitrate_mbps/max_bitrate_mbps: ビットレート範囲(Mbps)features: 追加要件(例: [“non-skippable”, “sound on”])
画像アセット
バナー、ロゴ、ビジュアルコンテンツ向けの静止画像アセット。width/height: ピクセル単位の寸法min_width/min_height: 最小寸法(px。通常、レスポンシブ/サイズレスフォーマットで使用)aspect_ratio: 必須のアスペクト比acceptable_formats: 画像フォーマット(jpg、png、gif、webp、svg)max_file_size_kb: 最大ファイルサイズ(キロバイト)transparency: 透明性が必須/サポートされるかanimation_allowed: アニメーション GIF が受け入れられるかnotes: 追加要件(例: “Must be free of text”)
- 固定レイアウト:
widthとheightを提供します。min_width、min_height、aspect_ratioを含めません。 - レスポンシブ(固定の画像アスペクト比):
min_width、min_height、aspect_ratioを提供します。widthやheightを含めません。 - レスポンシブ(任意の画像アスペクト比):
min_widthとmin_heightのみを提供します。width、height、aspect_ratioを含めません。
width と height を指定します。レスポンシブレイアウトでは、レンダラーが画像をリサイズします。スケーリング後にシャープな結果を得るのに十分なピクセルを確保するために min_width/min_height を使います。画像アセット自体が特定の形状(例: 16:9)でなければならない場合にのみ aspect_ratio を使い、任意の画像アスペクト比が受け入れられる場合は省略します。
テキストアセット
見出し、説明、CTA などのテキストコンテンツ。text_type: 具体的なタイプ(title、headline、description、body、cta、advertiser_name、disclaimer)max_length: 最大文字数min_length: 最小文字数default: 提供されない場合のデフォルト値allowed_characters: 検証用の正規表現パターンformat: 想定されるフォーマット(plain、currency、percentage)
URL アセット
クリックスルー、トラッキング、ランディングページ向けのリンク。関連するが異なる二つのフィールドが URL アセットを記述します:url_type(マニフェストのアセット上)— 受信者がこの URL を呼び出すために使うメカニズム。url-asset-requirements.role(フォーマット上)— この URL スロットがクリエイティブで果たす目的。
click_tracker(目的)でありながら tracker_pixel(メカニズム)の URL を受け入れられます——それらは異なるものを記述します。
マニフェスト側: url_type(メカニズム)
送信者はすべての URL アセットに url_type を含めるべきです(SHOULD)。有効な値は次のとおりです:
url_type が不在の場合、受信者はフォーマットの url-asset-requirements.role にフォールバックすべきです(SHOULD):
url_type もフォーマット側の role もない場合、受信者は黙ってメカニズムを選んではなりません(MUST NOT)——クリックスルー URL をピクセルとして(またはその逆で)発火すると、計測を黙って破損させ、ユーザーフローを壊します。受信者はマニフェストを拒否すべきです(SHOULD)。
VAST/DAAST の URL は URL アセットではありません。 アドサーバーの XML マークアップを指す URL はパースされるものであり、GET 発火されません。VAST タグにはdelivery_type: "url"を伴うasset_type: "vast"を使い、専用のトラッカータイプ(vast_tracker/daast_tracker)は RFC #2915 に沿って着地したら使います。url_type: "tracker_pixel"を伴うasset_type: "url"として宣言された VAST タグは、これらのメカニズムセマンティクスの下では非準拠です。
セラー向けの移行の合図。 ツールが以前は{asset_type: "url", url: ...}のみを出力していた場合(古いドキュメントに沿って)、3.x を通じてそのまま続けられます——ただし、このフィールドが必須になる 4.0 の前にurl_typeを追加する計画を立ててください。
フォーマット側: role(目的)
フォーマット要件では、role は URL スロットが何のためかを宣言します:
role の列挙: clickthrough、landing_page、impression_tracker、click_tracker、viewability_tracker、third_party_tracker。
正準フォーマット v2 向けには、レンダラー発火の計測トラッカーにはurl+url_type: tracker_pixelよりpixel_trackerを優先してください(任意のウェブレンダリングされる正準——image、html5、image_carousel、responsive_creative、sponsored_placement、native、VAST 以外のイベントの video_hosted、DAAST 以外のイベントの audio_hosted)。レガシーのurl形状は、VAST/DAAST の<Impression>URL や後方互換性のために有効なままです。新しいオーサリングは型付けされたpixel_tracker形式を使うべきです(SHOULD)。裸の URL が失う event + method のセマンティクスを運ぶからです。下記の専用セクションを参照してください。
その他の url-asset-requirements プロパティ
protocols: 許可されるスキーム(https、http)allowed_domains: 許可されるホスト名のリストmax_length: 最大 URL 長macro_support: マクロ置換が許可されるか
オーディオアセット
オーディオ広告とポッドキャスト向けのオーディオファイル。duration_seconds: 想定される長さacceptable_formats: オーディオフォーマット(mp3、m4a、aac、ogg)min_bitrate_kbps: 最小ビットレート(kbps)max_file_size_mb: 最大ファイルサイズ(メガバイト)stereo_required: ステレオオーディオが必須か
HTML アセット
リッチメディアフォーマットとサードパーティディスプレイタグ向けの HTML5 クリエイティブアセット。content: インライン HTML コンテンツurl: 外部でホストされる HTML ファイルへの URL(インラインコンテンツの代替)format: HTML フォーマットタイプ(html5、amphtml)max_initial_load_kb: 最大初期ロードサイズmax_total_size_kb: すべてのアセットを含む最大合計サイズallowed_features: 許可される HTML5 機能restricted_features: 使ってはならない機能
VAST アセット
サードパーティ動画広告配信向けの VAST(Video Ad Serving Template)タグ。 URL 配信:delivery_type: “url” または “inline”(必須の判別子)url: VAST XML を返す URL エンドポイント(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(Video Player-Ad Interface Definition)がサポートされるかmax_wrapper_depth: 許可される最大ラッパー/リダイレクトの深さduration_ms: 想定される動画の長さ(ミリ秒、既知の場合)tracking_events: サポートされるトラッキングイベントの配列。有効な値は VAST Tracking Event 列挙で定義されます。IAB VAST 4.2 XSD のTrackingEvents_type/Tracking/@event列挙(vast_4.2.xsd 行 112〜136)に整合し、加えてImpression、Error、VideoClicks、ViewableImpression要素の AdCP フラット化表現:- 再生:
impression(課金イベント)、creativeView、loaded、start、firstQuartile、midpoint、thirdQuartile、complete - インタラクション:
mute、unmute、pause、resume、rewind、skip、playerExpand、playerCollapse、fullscreen(VAST 2.x/3.x 互換)、exitFullscreen(VAST 2.x/3.x 互換)、otherAdInteraction、interactiveStart(SIMID) - ノンリニア / コンパニオン:
acceptInvitation、adExpand、adCollapse、minimize、overlayViewDuration - 進捗:
progress(VAST のoffset属性によるカスタム進捗ポイント向け) - クリック & クローズ:
clickTracking、customClick、close、closeLinear - 検証:
viewable、notViewable、viewUndetermined、measurableImpression(AdCP 拡張)、viewableImpression - エラー:
error
- 再生:
- サードパーティ動画広告サーバー
- プログラマティック動画バイイング
- 動画広告ネットワーク
- VPAID インタラクティブ動画広告
VAST トラッカーアセット
VAST のTrackingEvents イベントに紐づく単一の URL。クリエイティブエージェントがイベントごとに分解された URL を出力し、セールスエージェントが配信時に VAST の TrackingEvents ブロックを組み立てる責任を負う場合に使います——完全な VAST タグを渡す代替として。
例:
vast_event: この URL が発火するイベント。impression、clickTracking、customClick、error、およびviewable/notViewable/viewUndetermined/measurableImpression/viewableImpressionのいずれを除く任意の VAST トラッキングイベント列挙値——それらはTrackingEventsの下ではなく専用の VAST 要素(Impression、VideoClicks、Error、ViewableImpression)に存在します(下記のトラッカールーティングの規範ルールを参照)。一般的な値:start、firstQuartile、midpoint、thirdQuartile、complete、pause、resume、mute、unmute、skip、progress。url: トラッカー URL。AdCP ユニバーサルマクロをサポートします。offset:vast_event: "progress"のとき必須。VAST 4.2 の offset 形式(Tracking@offset): 絶対時刻にはHH:MM:SSまたはHH:MM:SS.mmm(2 桁の時、分 00〜59、秒 00〜59、存在する場合は正確に 3 桁の小数)、または%を付けた 0〜100 の整数パーセンテージ。負の offset は許可されません——VAST 4.2 XSD のパターンは先頭のマイナスを許しません。target: このトラッカーをスコープする VAST クリエイティブ要素——linear(デフォルト)、non_linear、またはcompanion。VAST 4.2 は<TrackingEvents>を三つの異なる親(<Linear>、<NonLinearAds>、<CompanionAds>/<Companion>)の下に、異なる有効イベント集合とともに配置します——例:acceptInvitationはnon_linear/companionで意味を持ち、closeLinearはlinearのみ。セールスエージェントは VAST 組み立て時にトラッカーを正しく配置するためにこれを読みます。
DAAST アセット
サードパーティオーディオ広告配信向けの DAAST(Digital Audio Ad Serving Template)タグ。 URL 配信:delivery_type: “url” または “inline”(必須の判別子)url: DAAST XML を返す URL エンドポイント(delivery_type が “url” のとき必須)content: インライン DAAST XML コンテンツ(delivery_type が “inline” のとき必須)daast_version: DAAST 仕様バージョン(1.0、1.1)duration_ms: 想定されるオーディオの長さ(ミリ秒、既知の場合)tracking_events: サポートされるトラッキングイベントの配列。有効な値は DAAST Tracking Event 列挙で定義されます。DAAST 1.1 §3.2.1.7 の<Tracking event="…">の値(VAST のオーディオ適用可能なサブセット)に整合し、加えてclose(DAAST 1.1 §3.2.4.2)と、Impression、Error、<AdInteractions>のクリック子要素の AdCP フラット化表現:- 再生:
impression(課金イベント)、creativeView(DAAST 1.1 §3.2.2.7 に従いコンパニオン表示にも使用)、start、firstQuartile、midpoint、thirdQuartile、complete - インタラクション:
mute、unmute、pause、resume、rewind、skip - 進捗:
progress(offset属性付き、DAAST 1.1 §3.2.4.3) - クリック & クローズ:
clickTracking、customClick、close - 検証(AdCP 拡張、OM-SDK Audio):
viewable、notViewable、viewUndetermined、measurableImpression、viewableImpression - エラー:
error
- 再生:
loaded、playerExpand/playerCollapse、fullscreen/exitFullscreen、acceptInvitation、adExpand/adCollapse、minimize、overlayViewDuration、interactiveStart)は意図的に除外されています——DAAST 1.1 では定義されたオーディオセマンティクスがありません。
companion_ads: コンパニオン表示広告が含まれるか
- サードパーティオーディオ広告サーバー
- ポッドキャスト広告ネットワーク
- ストリーミングオーディオプラットフォーム
- ラジオスタイルのデジタルオーディオ広告
DAAST トラッカーアセット
vast_tracker のオーディオ側のアナログ: DAAST の TrackingEvents イベントに紐づく単一の URL。
例:
daast_event:impression、clickTracking、customClick、error、およびviewable/notViewable/viewUndetermined/measurableImpression/viewableImpressionのいずれを除く任意の DAAST トラッキングイベント列挙値(vast_trackerと同じ要素ルーティングルール——それらの値はTrackingEventsではなくImpression/<AdInteractions>/Error/ AdCP 拡張の検証スロットに属します)。一般的な値:start、firstQuartile、midpoint、thirdQuartile、complete、pause、resume、mute、unmute、rewind、skip、progress。url: トラッカー URL。AdCP ユニバーサルマクロをサポートします。offset:daast_event: "progress"(DAAST 1.1 §3.2.4.3)のとき必須。VAST 4.2 のTracking@offsetと同じ形式。負の offset は許可されません。target: このトラッカーをスコープする DAAST クリエイティブ要素——linear(デフォルト、DAAST 1.1 §3.2.1.7)またはcompanion(DAAST 1.1 §3.2.2.7。唯一の有効イベントはcreativeView)。DAAST には<NonLinearAds>要素がありません——オーディオはリニアか、視覚的なコンパニオンを伴います。
ピクセルトラッカーアセット
計測イベントに紐づく、レンダラー発火の HTTP トラッカー——画像ピクセルまたは JavaScript インクルード。任意のウェブレンダリングされる正準フォーマット(image、html5、image_carousel、responsive_creative、sponsored_placement、native_*、加えて video_hosted / audio_hosted の VAST/DAAST 以外のイベント)に適用されます。フォーマット固有のトラッカープリミティブ(vast_tracker、daast_tracker)は VAST/DAAST のイベントセマンティクスにとって引き続き正しい形状です。display_tag は不透明です(サードパーティ配信)。
例:
event:impression|viewable_mrc_50|viewable_mrc_100|viewable_video_50|audible_video_complete|click|custom。イベント列挙は IAB OpenRTB Native 1.2 のイベントタイプレジストリ(タイプ 1、2、3、4、500)を反映します。audible_video_completeはviewable_video_50とは異なります——前者は音声オンでの完全完了、後者は音声オンで 2 秒以上の 50% ピクセルです。VAST 以外の動画フォーマット(Meta Reels、YouTube Shorts、TikTok Spark)で意味を持ちます。VAST フォーマットは代わりにvast_event: completeを伴うvast_trackerを使います。method:img(<img>ピクセルとして発火)またはjs(<script>インクルードとして発火)。IAB Native 1.2 の method 列挙(1=img、2=js)に一致します。デフォルトimg。JS トラッカーをサポートしないセラーは、sync_creatives 時にmethod: jsの宣言を拒否しなければなりません(MUST)。url:eventが発生したときに発火するトラッカー URL。AdCP ユニバーサルマクロを運べます。custom_event_name:event: customのとき必須で、それ以外では禁止(スキーマ層で if/then で強制)。アダプター定義のイベント名。登録された処理を持たないセラーは、拒否ではなく黙って no-op しなければなりません(MUST)。
imptrackers[]→event: impression、method: imgのpixel_trackerjstracker→event: impression、method: jsのpixel_trackereventtrackers[]→ エントリごとのpixel_tracker。eventは IAB 列挙からマップlink.clicktrackers[]→event: click、method: imgのpixel_tracker(クリックの遷移先はlanding_page_urlに残る)
pixel_tracker はレンダラー発火のトラッカーのみをカバーします——ユーザーがクリエイティブを見た、視認した、クリックしたときに広告の配信テンプレートが呼び出す計測イベント。クリック後に広告主のサイトで発火するコンバージョンピクセル(Meta Pixel、GA4 サーバーサイド、カスタムポストバック)は sync_event_sources / event_log を介してモデル化しなければなりません(MUST)——それらはクリエイティブアセットスコープではなく、キャンペーンスコープです。
マルチトラッカーのパターン。 実際の計測プランは、クリエイティブごとに 2〜4 個のトラッカーを日常的に添付します(ベンダー冗長性のためのインプレッション img 1 つ + インプレッション js 1 つ、MRC 視認可能 1 つ、時にクリックピクセル)。これらすべてを公開したいカタログエントリは、別々のスロット(impression_tracker、viewability_tracker、click_tracker)を宣言します——asset-group-vocabulary.json を参照。バイヤーはトラッカーを持つスロットのみを埋め、不在のスロットはスキップされます。
クリエイティブ / セールスエージェントの境界(VAST 組み立て)
AdCP は、クリエイティブエージェント(クリエイティブを構成するアセットを生成する)とセールスエージェント(それらのアセットを広告サーバーが期待する配信フォーマットに組み立てる)を分離します。VAST と DAAST では、この境界は規範的です:完全なタグ vs 分解されたトラッカー
クリエイティブマニフェストは、二つの形状のいずれかで VAST トラッカーを出力してもよい(MAY)。クリエイティブエージェントが選び、セールスエージェントがどちらも扱います。 完全なタグ — クリエイティブエージェントがホスト型またはインラインの VAST タグを引き渡し、セールスエージェントがそれをラップします:TrackingEvents ブロックを組み立てます:
規範ルール
-
ラッパーはセールスエージェントの関心事。 クリエイティブエージェントは VAST の
Wrapper要素を出力してはなりません(MUST NOT)。Wrapperはマルチホップのチェーン構造です——配信される VAST をラップする必要がある場合(マクロ署名、SSAI 互換のエンベロープ、アドサーバーのリダイレクトのため)、セールスエージェントが配信時にクリエイティブエージェントの出力の周りにラッパーを構築します。Ad > InLine > Creativesのコンテンツを持つインライン VAST ドキュメントを出力すること(ユニバーサルマクロに示されたパターン)は許可され、変更されません。 -
組み立ての責任。 セールスエージェントは、クリエイティブエージェントからのリソースを組み立てる VAST エンベロープ要素を構築する責任を負います:
TrackingEvents(vast_trackerアセットから)、AdVerifications(OMID 検証リソースから)、Wrapper/VASTAdTagURI(チェーンする場合)。クリエイティブエージェントがリソースを供給し、セールスエージェントが正しい要素に配置します。OMID リソースを分解するための専用のomid_verificationアセットタイプは、計画されたフォローアップです。 -
要素によるトラッカールーティング。 VAST のトラッカー URL は三つの異なる要素に存在し、AdCP はそれらを三つの異なるアセット形状でモデル化します——ストリームを交差させないでください:
ImpressionURL →url_type: "tracker_pixel"を伴うurlアセット(vast_trackerではない)。TrackingEventsのイベント(start、四分位、complete、pause など)→vast_eventを伴うvast_trackerアセット。VideoClicksの URL(ClickThrough、ClickTracking、CustomClick)→urlアセット(ClickThroughにはurl_type: "clickthrough"。クリックトラッカーの URL はurl_type: "tracker_pixel"を使う)。
vast_trackerスキーマはこの分割を強制します:vast_eventはimpression、clickTracking、customClick、errorであってはなりません(MUST NOT)。同じルールが DAAST に適用されます。 -
混在は許可。 クリエイティブマニフェストは、完全な
vastタグを追加のvast_trackerおよびurl(インプレッション / クリック)アセットと混在させてもよい(MAY)——セールスエージェントが配信時にそれらを一つの VAST ドキュメントにマージします。
SSAI に関する注意
サーバーサイド広告挿入(SSAI)環境——Yospace、AWS Elemental、MediaTailor——では、ストリームスティッチャーがプレーヤーに届く前に VAST XML を書き換えて再署名します。SSAI を生き延びる必要のあるトラッカーは、スティッチングの前に VAST ドキュメントに存在する必要があります。AdCP は今日、SSAI 固有のマニフェスト形状を規定していません。これは既知のギャップであり、フォローオンの RFC のトピックです。共通プロパティ
すべてのアセットタイプは次の共通フィールドを共有します:asset_id: フォーマット内の一意の識別子asset_type: アセットのタイプ(image、video、text、url など)asset_role: 意味的な目的(hero_video、logo、cta_button)required: アセットが必須か
Asset ID と Asset Role の違い
asset_id: マニフェストが値を供給するために使う安定した識別子。
asset_role: アセットの目的を記述する意味的なラベル。
例:
hero_image/hero_video- 主要なビジュアルコンテンツlogo- ブランドロゴheadline- メインの見出しテキストdescription- 本文コピーまたは説明テキストcta_button- コールトゥアクションボタンbackground_image- 背景ビジュアルthumbnail- プレビュー画像companion_banner- 二次的なディスプレイ広告
Asset ID の使い方
asset_id フィールドは、オーケストレーターとクリエイティブ管理システムにとって重要です。アップロードされたアセットをクリエイティブフォーマット内の正しい位置にマッピングするための安定した識別子を提供します。
例: アセットのアップロード
クリエイティブアセットを送信するとき、オーケストレーターはasset_id を使ってファイルをマッピングします:
asset_id の値に対応します。
クリエイティブフォーマットでの利用
クリエイティブフォーマットはassets 配列を使ってアセットを指定します。各アセットは required ブール値を持ちます:
required: true- 有効なクリエイティブのためにアセットを提供しなければならないrequired: false- アセットは任意で、クリエイティブを強化します(例: コンパニオンバナー、サードパーティトラッキングピクセル)
繰り返し可能なアセットグループ
アセットのシーケンスを持つフォーマット(カルーセル、スライドショー、ストーリーなど)については、繰り返し可能なアセットグループのパターンに関する完全なドキュメントとしてカルーセル & マルチアセットフォーマットガイドを参照してください。検証
実装は、互換性を保証するためにこれらのスキーマに対してアセットを検証すべきです。JSON スキーマは自動検証に使えます:ベストプラクティス
- 可能な限り具体的にする
- すべての制約を明示的に宣言する
- 標準単位を使う:
- ファイルサイズ: MB(動画/オーディオ)、KB(画像)
- 長さ: 秒
- ビットレート: Mbps(動画)、Kbps(オーディオ)
- 寸法: ピクセル
- 品質とパフォーマンスのバランスを取る