has_creative_library: true を宣言するエージェントがホストする: 広告サーバー(CM360、Flashtalking)、クリエイティブ管理プラットフォーム(Celtra)、またはインラインクリエイティブ管理を持つセールスエージェント。
モデル
クリエイティブライブラリは3つのレベルでアセットを整理する:| レベル | AdCP 相当 | 例 |
|---|---|---|
| アカウント | アカウント(accounts プロトコル経由) | CM360 の広告主、Celtra のブランドワークスペース |
| コンセプト | concept_id / concept_name | Flashtalking コンセプト、CM360 クリエイティブグループ、Celtra キャンペーンフォルダ |
| クリエイティブ | creative_id、format_id、assets を持つクリエイティブアイテム | 300x250 ディスプレイ広告、30 秒ビデオスポット |
concept_id を使用してグループとしてフィルタリングと管理を行います。
ライブラリへの接続
クエリ前にアカウントアクセスを確立する:クリエイティブの参照
list_creatives を使用してライブラリを参照します。コンセプト、フォーマット、ステータス、タグ、または日付範囲でフィルタリングする:
status フィールドはライブラリ内のクリエイティブの現在の状態を反映する: processing、pending_review、approved、rejected、archived。ステータス遷移の仕組みについてはクリエイティブレビューを参照。
クリエイティブのアップロード
sync_creatives を使用して新しいクリエイティブをアップロードするか既存のものを更新します。この操作は upsert セマンティクスを使用する — creative_id がすでに存在する場合は更新し、そうでなければ作成します。
list_creatives を確認して pending_review から approved への遷移を確認します。
アサインメント付きアップロード
同じ呼び出しでクリエイティブをパッケージに割り当てる:ライブラリクリエイティブからのタグ生成
ライブラリのクリエイティブに配信タグが必要な場合は、マニフェストの代わりにcreative_id を使って build_creative を使用します:
creative_id を解決し、配信タグを含むマニフェストを返します。タグフォーマットはプラットフォームによって異なる:
- Flashtalking、Celtra: どんな環境にも適応するユニバーサルタグ。プレースメントコンテキスト不要。
- CM360: トラフィッキングコンテキストが必要なプレースメントレベルのタグ。
media_buy_idとpackage_idを渡す:
クリエイティブのキャンペーンへの割り当て
ライブラリクリエイティブをメディアバイに付与するには2つのパスがある:パス 1: パッケージのクリエイティブアサインメント
メディアバイ作成時に ID でライブラリクリエイティブを参照する:sync_creatives またはプラットフォーム独自のアップロードフローを経由して)に機能します。
パス 2: パッケージのインラインクリエイティブ
メディアバイと一緒にクリエイティブを直接アップロードする — 別途同期ステップ不要:マルチセラー配布
複数のセラーと作業する場合、クリエイティブを一度ビルドして配布する:- クリエイティブエージェントでビルドする:
- 各セラーのライブラリに同期する:
sync_creatives を個別に呼び出す。セラー間で同じ creative_id と concept_id を使用して、メディアバイ全体で同じクリエイティブとキャンペーンコンセプトを関連付けられるようにします。完全なパターンはマルチエージェントクリエイティブオーケストレーションを参照。
- セラーごとに承認状態を追跡する — 各セラーは独立してレビューします。各エージェントで
list_creativesをポーリングしてステータスを確認します。クリエイティブはポリシーに基づいて、あるセラーではapproved、別のセラーではrejectedになる場合があります。
承認状態の追跡
クリエイティブの承認は2つのレベルで動作する: ライブラリレベル:list_creatives の各クリエイティブの status フィールド — processing、pending_review、approved、rejected、archived。
パッケージレベル: get_media_buys の各クリエイティブの approval_status — pending_review、approved、または rejection_reason 付きの rejected。
クリエイティブはライブラリでは approved でも、プレースメント固有のポリシーに違反する場合はパッケージレベルで rejected になる可能性があります。新しいクリエイティブを同期またはメディアバイに提出した後は、両方をポーリングします。
ダイナミッククリエイティブ最適化(DCO)
動的コンテンツ変数を持つクリエイティブは、include: { variables: true } を要求するとライブラリに variables 配列付きで表示されます。各変数は広告サーバーが配信時に埋める槽を定義します:
list_creatives フィルターで has_variables: true を使用して DCO クリエイティブを見つける。変数タイプは一般的なプラットフォームパターンと一致する: text、color、image、video、number、boolean。
広告サーバーが配信時にこれらの変数をどのように使用するか(データフィード、ターゲティングルール、最適化アルゴリズム)は AdCP のスコープ外です。AdCP は変数のスロットをモデル化し、最適化ロジックはモデル化しません。
次のステップ
- 生成クリエイティブ — AI 駆動のクリエイティブ生成とメディアバイ内のブリーフワークフロー
- セールスエージェントのクリエイティブ機能 — セラーがメディアとクリエイティブの両方を管理する場合
- クリエイティブエージェントの実装 — プラットフォームを中心に AdCP クリエイティブエージェントを構築します
- sync_creatives リファレンス — アップロード API の詳細
- list_creatives リファレンス — 完全なフィルタリングオプションを含むクエリ API の詳細