preview_creative は、既存のクリエイティブマニフェストを閲覧可能な出力へレンダリングします。入力マニフェストを生成または変更することはありません——それには build_creative を使います。単一クリエイティブのプレビューとバッチプレビュー(複数クリエイティブで 5〜10 倍高速)の両方をサポートします。
リクエストスキーマ: /schemas/v3/creative/preview-creative-request.json
レスポンススキーマ: /schemas/v3/creative/preview-creative-response.json
クイックスタート
単一クリエイティブのプレビュー
直接の HTML 埋め込み
iframe のオーバーヘッドなしのより高速なレンダリングのために、HTML を直接リクエストします:バッチプレビュー(複数クリエイティブ)
1 回の API 呼び出しで複数のクリエイティブをプレビューします(5〜10 倍高速):バリアントプレビュー(配信後)
特定のバリアントが配信されたときにどう見えたかをプレビューします。get_creative_delivery レスポンスの variant_id を使います:
get_creative_delivery の各バリアントは完全な manifest を含むため、それを再レンダリングするために、そのマニフェストを標準の単一リクエストとして直接 preview_creative に渡すこともできます。
リクエストパラメータ
すべてのモードは、request_type を判別子とする単一のフラットなオブジェクトを使います。
必須列の値: Single =
request_type が "single" のときに必須、Batch = "batch" のとき必須、Variant = "variant" のとき必須。
入力セット
異なるコンテキストを提供することで、複数のプレビューバリアントを生成します:DEVICE_TYPE、COUNTRY、CITY、DMA、GDPR、US_PRIVACY、CONTENT_GENRE など。
コンテキスト記述: ホストリードの音声広告のような AI 生成コンテンツ向け。
レスポンスフォーマット
単一モードのレスポンス
バッチモードのレスポンス
プレビューの構造
render_id と role を持ちます。
生成系クリエイティブのプレビュー
生成系フォーマット——コンテキストディスプレイ、AI 生成ネイティブ、会話型広告——では、クリエイティブは配信時まで存在しません。プレビューは二つの異なる目的を果たします:フライト前: 代表的なサンプル
キャンペーンが実行される前に、単一またはバッチモードを使って、異なるコンテキストが与えられたときにエージェントが何を生成しうるかをプレビューします。配信時の条件をシミュレートするためにcontext_description を持つ inputs を渡します:
フライト後: 正確なリプレイ
キャンペーンが実行された後、バリアントモードを使って、正確に何が配信されたかを確認します。get_creative_delivery からの variant_id を渡します:
期待値の設定
すべてのインプレッションが異なるクリエイティブを生成する生成系フォーマット(AI チャットやリアルタイムコンテキストのような)では、フライト前プレビューは広告そのものではなく分布からのサンプルとして理解するのが最善です。ブリーフとブランドアイデンティティが分布を制約し、プレビューはエージェントがそれらの制約を正しく解釈することを検証できるようにします。
会話型とインタラクティブなフォーマット
広告がステートフルなフォーマット——AI チャット、インタラクティブな体験、会話型ネイティブ——では、プレビューは追加の意味を帯びます:- フライト前は、代表的な最初のインタラクションまたはシミュレートされた会話をレンダリングします。プレビューレスポンスの
interactive_urlフィールド(存在する場合)は、レビュアーが体験と直接やり取りできるサンドボックスを提供します。異なる会話のエントリーポイントをシミュレートするにはcontext_descriptionを使います。 - フライト後のバリアントリプレイは、実際に起きたやり取りを示します。マルチターンフォーマットでは、バリアントマニフェストがエージェントが生成した完全なコンテンツ(メッセージシーケンス、レスポンス、表示されたメディアアセット)を捕捉します。詳細のレベルはエージェントに依存します——完全なトランスクリプトを提供するものもあれば、匿名化されたユーザーシグナルで要約されたコンテンツを提供するものもあります。
品質の不一致
要求された品質レベルがサポートされていない場合、エージェントは提供できる最善の品質でレンダリングします。プロトコルはエージェントに両方のレベルのサポートを要求しません——1 つの忠実度でしか生成しないエージェントはパラメータを無視します。実際に使われた品質をエコーバックするレスポンスフィールドはないため、ワークフローで品質の正確さが重要な場合は、目視で検証するか、list_creative_formats を通じてエージェントの機能について尋ねてください。
プレビューの有効期限とバリアントの保持
プレビューレスポンスにはexpires_at タイムスタンプが含まれる場合があります。存在する場合、コンシューマはその時刻を過ぎたプレビュー URL を無効として扱い、再利用の前に再生成すべきです。expires_at が省略された場合、プレビュー URL は期限切れになりません。生成系クリエイティブでは、フライト前プレビューを再生成すると異なる出力が生成される可能性があります——同じブリーフとコンテキストでも、毎回異なるクリエイティブになりえます。
プレビュー URL の耐久性
preview_url は、バイヤーと MCPUI ホストがレンダリングするプロトコルリソースです。AdCP は 3.x でプレビューレンダー用の別個の耐久性のあるアセットポインタを定義しません。クリエイティブエージェントが内部のアセットキー、リソース URI、またはストレージオブジェクト ID を必要とする場合、スキーマが将来のフィールドを追加しない限り、それはエージェント内部に留まります。
クリエイティブエージェントは、各 preview_url をレスポンスの expires_at タイムスタンプまで参照解決可能に保たなければなりません(MUST)。expires_at が省略された場合、URL はプロトコルレベルの有効期限を持たず、エージェントが帯域外で明示的に失効またはパージするまで参照解決可能でなければなりません。マルチプロセスまたはマルチポッドのデプロイでは、プレビュー URL をポッドローカルの Map/LRU の状態だけで裏付けないでください。ブラウザのフェッチ、後のリファインメント呼び出し、またはレビュアーのセッションが、プレビューを作成したのとは異なるプロセスに着地する可能性があるためです。
耐久性のあるストレージは、恒久的な公開 CDN ホスティングを必要としません。ルートが共有ストレージ(データベース行、オブジェクトストアのキー、共有キャッシュ層など)から、表明されたライフタイムにわたってレンダーを回復できる限り、プレビュー URL はクリエイティブエージェントの認証済みプレビュールートを通じて解決できます。
バリアントプレビュー(フライト後)は、エージェントがバリアントデータを保持することに依存します。エージェントはバリアントデータを無期限に保持する必要はありません。エージェントがパージしたバリアントのバリアントプレビューをリクエストした場合、標準のエラーレスポンスを期待してください。長期間実行されるキャンペーンでは、バリアントプレビューが利用可能なままだと仮定するのではなく、定期的に取得してアーカイブしてください。
例
デバイスバリアント
HTML 出力を伴うバッチ
グリッドレイアウト用に複数のクリエイティブをプレビューします:AI 生成音声のプレビュー
HTTP ステータスコード
単一モード:- 200 OK - プレビューが正常に生成された
- 400 Bad Request - 無効なマニフェストまたは format_id
- 404 Not Found - フォーマットがサポートされていない
- 200 OK - バッチが処理された(個々の
successフィールドを確認) - 400 Bad Request - 無効なバッチ構造
主なポイント
- すべてのレンダーの
preview_urlは、iframe 埋め込み用の HTML ページを返す - 10 件以上のプレビューのグリッドには
output_format: "html"を使う(iframe のオーバーヘッドなし) - バッチモードは個別リクエストより 5〜10 倍高速
- プレビュー URL は
expires_atが存在するときにのみ期限切れになる。expires_atの省略はプロトコルレベルの有効期限がないことを意味する - プレビュー URL を、URL の表明されたライフタイムを生き延びるストレージで裏付ける。プロセスローカルのマップは、単一プロセスのデモやプロセスライフタイムより短い URL にのみ適切
- 各結果の
successフィールドを確認して部分的なバッチ失敗を扱う
関連ドキュメント
- 高度なプレビューパターン - キャッシュ、ワークフロー、実装ノート
- クリエイティブマニフェスト - マニフェストの構造