Manifest Structure
基本構造
Asset ID
各アセットはフォーマットのassets 配列で定義された asset_id をキーにします。asset_id はフォーマット仕様の要件を参照するための技術的識別子です。
Asset ID の仕組み:
フォーマットが必須アセットを定義する場合:
banner_image,hero_image: メインビジュアルlogo: ブランドロゴheadline,description: テキストcta_text: ボタン文言video_file: 動画コンテンツvast_tag: 動画配信用 VAST XMLclickthrough_url: ランディングページ URL
assets を確認してください。
完全な例
冗長なフィールドを省き、最新の構造を示すクリエイティブマニフェストの例です。image、text、url など)はマニフェスト内では宣言しません。各 asset_id がどのタイプかは、フォーマット仕様の assets 配列を参照して決まります。
クリエイティブマニフェストの種類
マニフェストは、上記の 3 つのクリエイティブエージェントモダリティに対応して、静的・動的・ハイブリッドになり得ます。静的マニフェスト
即時レンダリング可能なすべてのアセットを含むマニフェストです。Static Asset Delivery または Prompt to Static Rendering モードのクリエイティブエージェントが生成します。- 従来のディスプレイ広告
- 事前レンダリングされた動画広告
- 静的ネイティブ広告
- 固定クリエイティブキャンペーン
動的マニフェスト
リアルタイム生成用のエンドポイントやコードを含むマニフェストです。Prompt to Dynamic Rendering モード(DCO/生成系)で生成されます。- 天候連動クリエイティブ
- 時間帯に応じたメッセージ切り替え
- 商品在庫状況のメッセージ
- リアルタイム在庫更新
html や javascript アセットタイプでタグを埋め込みます。
動的マニフェストはアセットタイプを混在させられます — 一部は静的(画像・動画)、一部は動的(webhook、マクロ入りタグ)。例: 静的なヒーロー動画とパーソナライズされたエンドカード webhook を含む動画 VAST タグ。
DOOH マニフェスト(インプレッション計測あり)
デジタル屋外広告 (DOOH) では、他のフォーマット同様インプレッショントラッキングを使用しますが、デバイス識別子の代わりに会場固有のマクロを利用します。{SCREEN_ID}- 物理スクリーンの一意識別子{VENUE_TYPE}- 会場カテゴリ(airport, mall, transit, highway, retail){VENUE_LAT}/{VENUE_LONG}- 位置座標{PLAY_TIMESTAMP}- 掲出時刻(Unix タイムスタンプ){DWELL_TIME}- 平均滞在時間
マニフェストの扱い
マニフェストの作成
マニフェスト(JSON)は次の 2 通りで作成できます。 1. 手動組み立て フォーマット要件と自社アセットを直接組み合わせます。build_creative を呼び出し、自然言語のブリーフからマニフェストを生成します。詳細は Generative Creative を参照してください。
マニフェストの検証
使用前にマニフェストをフォーマット要件と照合します。- フォーマット整合性:
format_idが意図したフォーマットと一致しているか - 必須アセット: フォーマットで必須 (
required: true) のasset_idがすべてassetsオブジェクトに存在するか - キー一致: マニフェストの
assetsオブジェクト内の各キーがフォーマットのassets配列のasset_idと一致しているか - アセット仕様: 寸法・ファイルサイズ・尺などフォーマット要件を満たしているか
- マクロサポート: 動的マニフェストの場合、必要なマクロに対応しているか
- 必須 asset_id の欠落: クリエイティブエージェントは欠落した必須アセットをエラーで返し、拒否しなければならない
- 未知の asset_id: フォーマットに存在しないキーを含むマニフェストは拒否し、タイプミスや非対応フォーマットを即座に検出する
- asset_type の不一致: フォーマット仕様で要求されたタイプと異なる場合は明確な型不一致エラーで拒否する
build_creative を実装するクリエイティブエージェントは検証を自動で行います。手動で組み立てる場合は、list_creative_formats で返されるフォーマット仕様と照合してください。
フォーマットを前提とした検証: マニフェストの JSON スキーマでは資産キーに柔軟なパターン(^[a-z0-9_]+$)を採用しています。正しいキーかどうか、どのタイプかはフォーマットの assets を参照して実行時に検証します。asset_type 情報はマニフェスト自体には含まれず、asset_id をフォーマットの assets 配列で引くことで決まります。
検証フロー
クリエイティブエージェントがマニフェストを検証する際:- マニフェストから format_id を取得
- フォーマットレジストリからフォーマット仕様を取得(
agent_urlに応じてローカル/リモート) manifest.assets内の各アセットキーについて:- フォーマットの
format.assetsでasset_idを検索 - 見つからなければ → 「Unknown asset_id …」のエラーで拒否
- 見つかれば → フォーマット要件から期待する
asset_typeを特定 - アセットタイプスキーマ(例:
/schemas/v2/core/assets/image-asset.json)を取得 - アセットペイロードをスキーマに対して検証
- フォーマットの
requirementsフィールドにある追加制約を検証
- フォーマットの
- 必須アセットがすべて存在するか確認(フォーマットで
required: trueのもの) - タイプ固有の制約を検証(寸法、ファイルサイズ、尺など)
asset_id のタイプと適用される制約の単一の信頼できる情報源となります。
検証はスキーマ時ではなく実行時: クリエイティブマニフェストの JSON スキーマはアセットキーに柔軟なパターンを使っています。妥当性チェックは、マニフェストをクリエイティブエージェントに送信した際に、対応するフォーマットの assets を基に行われます。
マニフェストのプレビュー
preview_creative タスクでマニフェストのレンダリングを確認します。
マニフェストの送信
マニフェストはsync_creatives でクリエイティブラリに登録し、メディアバイで ID を参照します。
creative_id を参照します。マニフェストは 1 つのフォーマットに対応します。
マクロ置換
マニフェストは動的値のためのマクロプレースホルダーをサポートします。AdCP ではすべてのパブリッシャーで一貫して動作するユニバーサルマクロを使用します。 利用可能なマクロ、置換プロセス、フォーマット固有のマクロサポートについては Universal Macros を参照してください。Best Practices
クリエイティブエージェント向け
- 完全なマニフェスト: フォーマットの必須アセットをすべて含める
- アセット検証: アセットがフォーマット仕様を満たすことを確認する
- フォールバック提供: 動的クリエイティブにはフォールバックアセットを含める
- マクロの明示: 使用するマクロを明確にする
- バージョニング: アセット管理のためにバージョン付き URL を使用する
パブリッシャー向け
- 受領時の検証: フォーマット要件と照合する
- アセットキャッシュ: ホストされたアセットを事前取得・キャッシュする
- 障害対応: 動的マニフェストにはフォールバックレンダリングを実装する
- マクロサポート: ユニバーサルマクロを実装する
- テンプレート提供: カスタムフォーマット向けにレンダリングテンプレートを提供する
バイヤー向け
- 検証: マニフェストがフォーマット要件を満たすことを確認(手動または
build_creative) - プレビュー: 送信前に必ずプレビューする
- マクロテスト: マクロ置換が期待どおりか確認する
- アセット最適化: アセットのサイズや圧縮を適切に行う
- ライブラリ整理: クリエイティブラリでアセット管理を行う
Advanced Topics
繰り返し可能なアセットグループ
カルーセルやスライドショーなど複数アセットのフォーマットについては、Carousel & Multi-Asset Formats を参照してください。スキーマリファレンス
関連ドキュメント
- Creative Formats - フォーマット仕様とディスカバリー
- Channel Guides - 動画・ディスプレイ・音声・DOOH・カルーセルのフォーマット例
- build_creative タスク
- preview_creative タスク