> ## Documentation Index
> Fetch the complete documentation index at: https://adcp-docs-ja.pier1.co.jp/llms.txt
> Use this file to discover all available pages before exploring further.

# Asset Types

> AdCP のアセットタイプは、クリエイティブフォーマットで使われる画像、動画、テキスト、オーディオ、タグ、トラッキング URL の標準化されたプロパティを定義します。

> **正準フォーマットの読者へ**: このページはアセットタイプとそのペイロード形状を説明します——v1 と正準フォーマットのパスで同じです。アセットが `asset_group_id` を介して正準フォーマットのスロットにどうマップされるかは、[canonical-formats](/docs/creative/canonical-formats) と[マイグレーションガイド](/docs/creative/canonical-formats-migration)を参照してください。v1 は `asset_id` + `asset_role` を使い、正準フォーマットは正準語彙レジストリを参照する `asset_group_id` を使います。両方のパスは同じアセットペイロードスキーマを使い、スロットキーの語彙だけが異なります。

AdCP のクリエイティブフォーマットは、明確に定義されたプロパティを持つ標準化されたアセットタイプを使います。アセットは、フォーマットが要件を定義するために、マニフェストが具体的な値を供給するために使う、離散的で型付けされた構成要素です。

アセットタイプを標準化することで、フォーマット間の一貫性が保証され、バイヤーやシステムが要件を理解しやすくなります。

## v2 のアセットタイプ

v2 フォーマットの `slots` 宣言の `asset_type` フィールドで有効なアセットタイプの完全な集合:

| asset\_type      | 何を運ぶか                                                                                                                                                                                                                                                                                                                             | 定義場所                                             |
| ---------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------ |
| `image`          | 画像ファイル（jpg/png/gif/webp/svg）                                                                                                                                                                                                                                                                                                      | `/schemas/core/assets/image-asset.json`          |
| `video`          | 動画ファイル（mp4/webm/mov）                                                                                                                                                                                                                                                                                                              | `/schemas/core/assets/video-asset.json`          |
| `audio`          | オーディオファイル（mp3/aac/wav）                                                                                                                                                                                                                                                                                                            | `/schemas/core/assets/audio-asset.json`          |
| `text`           | プレーンテキスト（見出し、本文、スクリプト）                                                                                                                                                                                                                                                                                                            | `/schemas/core/assets/text-asset.json`           |
| `markdown`       | Markdown テキスト                                                                                                                                                                                                                                                                                                                     | `/schemas/core/assets/markdown-asset.json`       |
| `url`            | `url_type` 判別子を持つ URL（clickthrough、tracker\_pixel、サードパーティタグ）                                                                                                                                                                                                                                                                      | `/schemas/core/assets/url-asset.json`            |
| `html`           | インライン HTML                                                                                                                                                                                                                                                                                                                        | `/schemas/core/assets/html-asset.json`           |
| `css`            | CSS ルール                                                                                                                                                                                                                                                                                                                           | `/schemas/core/assets/css-asset.json`            |
| `javascript`     | JavaScript                                                                                                                                                                                                                                                                                                                        | `/schemas/core/assets/javascript-asset.json`     |
| `vast`           | VAST タグ（URL またはインライン XML）、VAST 2.x〜4.x                                                                                                                                                                                                                                                                                            | `/schemas/core/assets/vast-asset.json`           |
| `daast`          | DAAST タグ（URL またはインライン XML）、1.0〜1.1                                                                                                                                                                                                                                                                                                | `/schemas/core/assets/daast-asset.json`          |
| `webhook`        | 非同期クリエイティブ生産のためのウェブフック URL                                                                                                                                                                                                                                                                                                        | `/schemas/core/assets/webhook-asset.json`        |
| `brief`          | 自由テキストのクリエイティブブリーフ（生成的生産への入力）                                                                                                                                                                                                                                                                                                     | `/schemas/core/assets/brief-asset.json`          |
| `catalog`        | 同期されたカタログへの参照（sponsored\_placement）                                                                                                                                                                                                                                                                                               | `/schemas/core/assets/catalog-asset.json`        |
| `published_post` | 認可/レビュー後にセラーが解決する、すでに公開された投稿への参照                                                                                                                                                                                                                                                                                                  | `/schemas/core/assets/published-post-asset.json` |
| `zip`            | Zip アーカイブ（HTML5 バナーバンドル）                                                                                                                                                                                                                                                                                                          | `/schemas/core/assets/zip-asset.json`            |
| `vast_tracker`   | 単一の VAST `Tracking` イベント URL（分解された）                                                                                                                                                                                                                                                                                               | `/schemas/core/assets/vast-tracker-asset.json`   |
| `daast_tracker`  | 単一の DAAST `Tracking` イベント URL（分解された）                                                                                                                                                                                                                                                                                              | `/schemas/core/assets/daast-tracker-asset.json`  |
| `pixel_tracker`  | 任意のウェブレンダリングされる正準向けの、レンダラー発火の HTTP トラッカー（画像ピクセルまたは JS インクルード）。`event`（impression / viewable\_mrc\_\* / viewable\_video\_50 / audible\_video\_complete / click / custom）× `method`（img / js）。IAB OpenRTB Native 1.2 の `imptrackers[]` / `jstracker` / `eventtrackers[]` / `link.clicktrackers[]` イベントタイプレジストリ（タイプ 1、2、3、4、500）にマップ | `/schemas/core/assets/pixel-tracker-asset.json`  |
| `object`         | 構造化オブジェクト（image\_carousel の `cards`、生成的動画向けの `video_brief`）——サブ形状は正準が宣言する                                                                                                                                                                                                                                                         | （スタンドアロンのスキーマなし。正準ごとのサブ形状）                       |

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 要件

ペイロードスキーマ（クリエイティブマニフェストで供給される実際のアセットデータの構造）については、次を参照してください:

* [アセットタイプレジストリ](https://adcontextprotocol.org/schemas/v3/creative/asset-types/index.json) - すべてのペイロードスキーマへのリンク
* `/schemas/v3/core/assets/` のコアアセットスキーマ - 個々のアセットペイロード定義

**重要な区別:**

**フォーマット要件**（このドキュメント）は次のような制約を定義します:

* アセットが必須か任意か
* 受け入れ可能なファイルまたはコンテナフォーマット
* 長さ、寸法、アスペクト比の制限
* ファイルサイズとビットレートの制限
* 許可または制限された機能（タグベースのアセット向け）

**ペイロードスキーマ**（コアスキーマ）は次のような供給される値を定義します:

* `url`
* `content`（インラインテキストまたはインラインタグのマークアップ向け）
* `width` / `height`（宣言された場合）
* `duration_ms`（該当する場合）
* `format`（宣言されたコンテナタイプ）

## アセットタイプのスキーマ

アセットタイプの公式 JSON スキーマは次で入手できます:

* **本番**: [https://adcontextprotocol.org/schemas/asset-types-v1.json](https://adcontextprotocol.org/schemas/asset-types-v1.json)
* **GitHub**: [https://github.com/adcontextprotocol/adcp/blob/main/static/schemas/asset-types-v1.json](https://github.com/adcontextprotocol/adcp/blob/main/static/schemas/asset-types-v1.json)

## コアアセットタイプ

### 動画アセット

動画アセットは、特定の技術要件を持つ動画ファイルを表します。

```json theme={null}
{
  "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`: 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"]）

### 画像アセット

バナー、ロゴ、ビジュアルコンテンツ向けの静止画像アセット。

```json theme={null}
{
  "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`: 最大ファイルサイズ（キロバイト）
* `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 などのテキストコンテンツ。

```json theme={null}
{
  "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 アセット

クリックスルー、トラッキング、ランディングページ向けのリンク。関連するが異なる二つのフィールドが URL アセットを記述します:

* **`url_type`**（マニフェストのアセット上）— 受信者がこの URL を呼び出すために使う**メカニズム**。
* **`url-asset-requirements.role`**（フォーマット上）— この URL スロットがクリエイティブで果たす**目的**。

スロットは `click_tracker`（目的）でありながら `tracker_pixel`（メカニズム）の URL を受け入れられます——それらは異なるものを記述します。

#### マニフェスト側: `url_type`（メカニズム）

送信者はすべての URL アセットに `url_type` を含めるべきです（**SHOULD**）。有効な値は次のとおりです:

| 値                | メカニズム                                                               |
| ---------------- | ------------------------------------------------------------------- |
| `clickthrough`   | ユーザークリックの遷移先（ランディングページまたはアドテックのリダイレクタ）                              |
| `tracker_pixel`  | HTTP GET を発火し、1×1 ピクセルまたは 204 レスポンスを期待（インプレッション / イベント / 3P トラッカー）  |
| `tracker_script` | `<script>` タグとして読み込む——計測 SDK（OMID 検証、`method: 2` を使うネイティブイベントトラッカー） |

```json theme={null}
{
  "asset_type": "url",
  "url_type": "tracker_pixel",
  "url": "https://track.brand.com/imp?cb={CACHEBUSTER}"
}
```

`url_type` が**不在**の場合、受信者はフォーマットの `url-asset-requirements.role` にフォールバックすべきです（SHOULD）:

| `role`（フォーマット）                       | フォールバックの `url_type`（メカニズム）                                                          |
| ------------------------------------ | ----------------------------------------------------------------------------------- |
| `clickthrough`、`landing_page`        | `clickthrough`                                                                      |
| `impression_tracker`、`click_tracker` | `tracker_pixel`                                                                     |
| `viewability_tracker`                | `tracker_script` — OMID や同等の検証 SDK は `<script>` タグを**要求**します。ピクセルとして発火しても計測は生じません   |
| `third_party_tracker`                | **安全なフォールバックなし。** メカニズムは統合固有です（DV/IAS はピクセル形式とスクリプト形式の両方を提供）。受信者は拒否または警告してもよい（MAY）。 |

`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](https://github.com/adcontextprotocol/adcp/issues/2915) に沿って着地したら使います。`url_type: "tracker_pixel"` を伴う `asset_type: "url"` として宣言された VAST タグは、これらのメカニズムセマンティクスの下では非準拠です。

> **セラー向けの移行の合図。** ツールが以前は `{asset_type: "url", url: ...}` のみを出力していた場合（古いドキュメントに沿って）、3.x を通じてそのまま続けられます——ただし、このフィールドが必須になる 4.0 の前に `url_type` を追加する計画を立ててください。

#### フォーマット側: `role`（目的）

フォーマット要件では、`role` は URL スロットが何のためかを宣言します:

```json theme={null}
{
  "asset_type": "url",
  "asset_id": "impression_tracker",
  "required": true,
  "requirements": {
    "role": "impression_tracker",
    "protocols": ["https"]
  }
}
```

`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`: マクロ置換が許可されるか

### オーディオアセット

オーディオ広告とポッドキャスト向けのオーディオファイル。

```json theme={null}
{
  "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`: 最大ファイルサイズ（メガバイト）
* `stereo_required`: ステレオオーディオが必須か

### HTML アセット

リッチメディアフォーマットとサードパーティディスプレイタグ向けの HTML5 クリエイティブアセット。

```json theme={null}
{
  "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 アセット

サードパーティ動画広告配信向けの VAST（Video Ad Serving Template）タグ。

**URL 配信:**

```json theme={null}
{
  "asset_type": "vast",
  "required": true,
  "delivery_type": "url",
  "url": "https://vast.example.com/video/123",
  "vast_version": "4.1",
  "vpaid_enabled": false
}
```

**インライン配信:**

```json theme={null}
{
  "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 を返す 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](https://adcontextprotocol.org/schemas/v3/enums/vast-tracking-event.json) 列挙で定義されます。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 タグを渡す代替として。

**例:**

```json theme={null}
{
  "asset_type": "vast_tracker",
  "vast_event": "start",
  "url": "https://tracker.example.com/start?cid={CREATIVE_ID}&mb={MEDIA_BUY_ID}"
}
```

**offset を伴う progress:**

```json theme={null}
{
  "asset_type": "vast_tracker",
  "vast_event": "progress",
  "offset": "00:00:15.000",
  "url": "https://tracker.example.com/15s"
}
```

**プロパティ:**

* `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 ユニバーサルマクロ](/docs/creative/universal-macros)をサポートします。
* `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 組み立て時にトラッカーを正しく配置するためにこれを読みます。

**ノンリニアイベントを伴う target:**

```json theme={null}
{
  "asset_type": "vast_tracker",
  "vast_event": "acceptInvitation",
  "target": "non_linear",
  "url": "https://tracker.example.com/accept"
}
```

### DAAST アセット

サードパーティオーディオ広告配信向けの DAAST（Digital Audio Ad Serving Template）タグ。

**URL 配信:**

```json theme={null}
{
  "asset_type": "daast",
  "required": true,
  "delivery_type": "url",
  "url": "https://daast.example.com/audio/456",
  "daast_version": "1.0"
}
```

**インライン配信:**

```json theme={null}
{
  "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 を返す URL エンドポイント（delivery\_type が "url" のとき必須）
* `content`: インライン DAAST XML コンテンツ（delivery\_type が "inline" のとき必須）
* `daast_version`: DAAST 仕様バージョン（1.0、1.1）
* `duration_ms`: 想定されるオーディオの長さ（ミリ秒、既知の場合）
* `tracking_events`: サポートされるトラッキングイベントの配列。有効な値は [DAAST Tracking Event](https://adcontextprotocol.org/schemas/v3/enums/daast-tracking-event.json) 列挙で定義されます。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`

動画のみの VAST イベント（`loaded`、`playerExpand`/`playerCollapse`、`fullscreen`/`exitFullscreen`、`acceptInvitation`、`adExpand`/`adCollapse`、`minimize`、`overlayViewDuration`、`interactiveStart`）は意図的に除外されています——DAAST 1.1 では定義されたオーディオセマンティクスがありません。

* `companion_ads`: コンパニオン表示広告が含まれるか

**ユースケース:**

* サードパーティオーディオ広告サーバー
* ポッドキャスト広告ネットワーク
* ストリーミングオーディオプラットフォーム
* ラジオスタイルのデジタルオーディオ広告

### DAAST トラッカーアセット

`vast_tracker` のオーディオ側のアナログ: DAAST の `TrackingEvents` イベントに紐づく単一の URL。

**例:**

```json theme={null}
{
  "asset_type": "daast_tracker",
  "daast_event": "complete",
  "url": "https://tracker.example.com/complete?cid={CREATIVE_ID}"
}
```

**プロパティ:**

* `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` は不透明です（サードパーティ配信）。

**例:**

```json theme={null}
{
  "asset_type": "pixel_tracker",
  "event": "impression",
  "method": "img",
  "url": "https://measurement.example.com/imp?cb={CACHEBUSTER}&cid={CREATIVE_ID}"
}
```

**プロパティ:**

* `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）。

**IAB OpenRTB Native 1.2 へのマッピング:**

* `imptrackers[]` → `event: impression`、`method: img` の `pixel_tracker`
* `jstracker` → `event: impression`、`method: js` の `pixel_tracker`
* `eventtrackers[]` → エントリごとの `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 タグを引き渡し、セールスエージェントがそれをラップします:

```json theme={null}
{
  "asset_type": "vast",
  "delivery_type": "url",
  "url": "https://adserver.example.com/vast.xml",
  "vast_version": "4.2"
}
```

**分解されたトラッカー** — クリエイティブエージェントがイベントごとの URL を出力し、セールスエージェントが `TrackingEvents` ブロックを組み立てます:

```json theme={null}
[
  { "asset_type": "vast_tracker", "vast_event": "start",         "url": "..." },
  { "asset_type": "vast_tracker", "vast_event": "firstQuartile", "url": "..." },
  { "asset_type": "vast_tracker", "vast_event": "midpoint",      "url": "..." },
  { "asset_type": "vast_tracker", "vast_event": "thirdQuartile", "url": "..." },
  { "asset_type": "vast_tracker", "vast_event": "complete",      "url": "..." }
]
```

### 規範ルール

1. **ラッパーはセールスエージェントの関心事。** クリエイティブエージェントは VAST の `Wrapper` 要素を出力してはなりません（MUST NOT）。`Wrapper` はマルチホップのチェーン構造です——配信される VAST をラップする必要がある場合（マクロ署名、SSAI 互換のエンベロープ、アドサーバーのリダイレクトのため）、**セールスエージェント**が配信時にクリエイティブエージェントの出力の周りにラッパーを構築します。`Ad > InLine > Creatives` のコンテンツを持つインライン VAST ドキュメントを出力すること（[ユニバーサルマクロ](/docs/creative/universal-macros)に示されたパターン）は許可され、変更されません。
2. **組み立ての責任。** セールスエージェントは、クリエイティブエージェントからのリソースを組み立てる VAST エンベロープ要素を構築する責任を負います: `TrackingEvents`（`vast_tracker` アセットから）、`AdVerifications`（OMID 検証リソースから）、`Wrapper` / `VASTAdTagURI`（チェーンする場合）。クリエイティブエージェントがリソースを供給し、セールスエージェントが正しい要素に配置します。OMID リソースを分解するための専用の `omid_verification` アセットタイプは、計画されたフォローアップです。
3. **要素によるトラッカールーティング。** VAST のトラッカー URL は三つの異なる要素に存在し、AdCP はそれらを三つの異なるアセット形状でモデル化します——ストリームを交差させないでください:

   * `Impression` URL → `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 に適用されます。
4. **混在は許可。** クリエイティブマニフェストは、完全な `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`**: アセットの目的を記述する意味的なラベル。

**例**:

```json theme={null}
{
  "asset_id": "main_video",
  "asset_type": "video",
  "asset_role": "hero_video",
  "required": true
}
```

アセットロールは、レイアウトの前提をハードコードせずに、一貫したレンダリング、検証、AI 支援の生成を可能にします。

**一般的なアセットロール**:

* `hero_image` / `hero_video` - 主要なビジュアルコンテンツ
* `logo` - ブランドロゴ
* `headline` - メインの見出しテキスト
* `description` - 本文コピーまたは説明テキスト
* `cta_button` - コールトゥアクションボタン
* `background_image` - 背景ビジュアル
* `thumbnail` - プレビュー画像
* `companion_banner` - 二次的なディスプレイ広告

### Asset ID の使い方

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

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

クリエイティブアセットを送信するとき、オーケストレーターは `asset_id` を使ってファイルをマッピングします:

```json theme={null}
{
  "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`** - アセットは任意で、クリエイティブを強化します（例: コンパニオンバナー、サードパーティトラッキングピクセル）

```json theme={null}
{
  "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
      }
    }
  ]
}
```

## 繰り返し可能なアセットグループ

アセットのシーケンスを持つフォーマット（カルーセル、スライドショー、ストーリーなど）については、繰り返し可能なアセットグループのパターンに関する完全なドキュメントとして[カルーセル & マルチアセットフォーマットガイド](/docs/creative/channels/carousels)を参照してください。

## 検証

実装は、互換性を保証するためにこれらのスキーマに対してアセットを検証すべきです。JSON スキーマは自動検証に使えます:

```javascript theme={null}
// Example validation (pseudocode)
const assetSchema = await fetch('https://adcontextprotocol.org/schemas/asset-types-v1.json');
const validator = new JsonSchemaValidator(assetSchema);

const videoAsset = {
  asset_type: "video",
  required: true,
  duration_seconds: 15,
  // ... other properties
};

const isValid = validator.validate(videoAsset, 'video');
```

## ベストプラクティス

1. **可能な限り具体的にする**
2. **すべての制約を明示的に宣言する**
3. **標準単位を使う:**
   * ファイルサイズ: MB（動画/オーディオ）、KB（画像）
   * 長さ: 秒
   * ビットレート: Mbps（動画）、Kbps（オーディオ）
   * 寸法: ピクセル
4. **品質とパフォーマンスのバランスを取る**
