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.
クリエイティブライブラリは、バイヤーが AdCP を通じてクリエイティブを管理できるようにする — 既存のアセットの参照、新しいもののアップロード、キャンペーンへの割り当て、承認状態の追跡。クリエイティブライブラリは、ケイパビリティで 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 秒ビデオスポット |
コンセプトはサイズとフォーマットをまたいで関連するクリエイティブをグループ化します。“Holiday 2026” コンセプトは 300x250 バナー、728x90 リーダーボード、30 秒ビデオを含む場合がある — すべて同じキャンペーンアイデアを表現しています。concept_id を使用してグループとしてフィルタリングと管理を行います。
ライブラリへの接続
クエリ前にアカウントアクセスを確立する:
{
"accounts": [{
"account_id": "acct_acme_2026",
"account_name": "Acme Corp",
"credentials": {
"api_key": "..."
}
}]
}
アカウントのセットアップは、ライブラリがスタンドアロンのクリエイティブエージェントにあるかセールスエージェントにあるかに関わらず同じです。詳細は accounts プロトコルを参照。
クリエイティブの参照
list_creatives を使用してライブラリを参照します。コンセプト、フォーマット、ステータス、タグ、または日付範囲でフィルタリングする:
{
"filters": {
"concept_ids": ["concept_holiday_2026"],
"statuses": ["approved"],
"format_ids": [{
"agent_url": "https://ads.flashtalking-example.com",
"id": "display_300x250"
}]
},
"include": {
"variables": true,
"assignments": true
}
}
レスポンスの各クリエイティブには次の情報が含まれます:
{
"creative_id": "ft_88201",
"name": "Holiday 2026 - Medium Rectangle",
"format_id": {
"agent_url": "https://ads.flashtalking-example.com",
"id": "display_300x250"
},
"status": "approved",
"concept_id": "concept_holiday_2026",
"concept_name": "Holiday 2026 Campaign",
"created_date": "2026-10-15T14:00:00Z",
"updated_date": "2026-11-20T09:30:00Z",
"tags": ["holiday_2026", "display"],
"variables": [
{
"variable_id": "headline",
"name": "Headline text",
"type": "text",
"default_value": "Holiday Sale — Up to 40% Off"
}
],
"assignments": [
{ "package_id": "pkg_premium_display", "weight": 100 }
]
}
status フィールドはライブラリ内のクリエイティブの現在の状態を反映する: processing、pending_review、approved、rejected、archived。ステータス遷移の仕組みについてはクリエイティブレビューを参照。
クリエイティブのアップロード
sync_creatives を使用して新しいクリエイティブをアップロードするか既存のものを更新します。この操作は upsert セマンティクスを使用する — creative_id がすでに存在する場合は更新し、そうでなければ作成します。
{
"creatives": [
{
"creative_id": "acme_video_001",
"name": "Holiday Sale 30s",
"format_id": {
"agent_url": "https://creative.adcontextprotocol.org",
"id": "video_standard_30s"
},
"assets": {
"video": {
"url": "https://cdn.acme-example.com/holiday-sale-30s.mp4",
"width": 1920,
"height": 1080,
"duration_ms": 30000
},
"click_url": {
"url": "https://acme-example.com/holiday-sale"
}
}
}
]
}
レスポンスは各クリエイティブに何が起きたかを示します:
{
"creatives": [
{
"creative_id": "acme_video_001",
"action": "created"
}
]
}
アップロード後、クリエイティブはライブラリのレビュープロセスに入る。list_creatives を確認して pending_review から approved への遷移を確認します。
アサインメント付きアップロード
同じ呼び出しでクリエイティブをパッケージに割り当てる:
{
"creatives": [
{
"creative_id": "acme_video_001",
"name": "Holiday Sale 30s",
"format_id": { "agent_url": "...", "id": "video_standard_30s" },
"assets": { "...": "..." }
}
],
"assignments": [
{
"creative_id": "acme_video_001",
"package_id": "pkg_premium_video"
}
]
}
ライブラリクリエイティブからのタグ生成
ライブラリのクリエイティブに配信タグが必要な場合は、マニフェストの代わりに creative_id を使って build_creative を使用します:
{
"creative_id": "ft_88201",
"concept_id": "concept_holiday_2026",
"target_format_id": {
"agent_url": "https://ads.flashtalking-example.com",
"id": "display_300x250"
}
}
クリエイティブエージェントはライブラリから creative_id を解決し、配信タグを含むマニフェストを返します。タグフォーマットはプラットフォームによって異なる:
- Flashtalking、Celtra: どんな環境にも適応するユニバーサルタグ。プレースメントコンテキスト不要。
- CM360: トラフィッキングコンテキストが必要なプレースメントレベルのタグ。
media_buy_id と package_id を渡す:
{
"creative_id": "cm360_creative_12345",
"target_format_id": {
"agent_url": "https://ads.cm360-example.com",
"id": "display_300x250"
},
"media_buy_id": "buy_holiday_q4",
"package_id": "pkg_premium_display"
}
詳しくはタグ生成モデルを参照。
クリエイティブのキャンペーンへの割り当て
ライブラリクリエイティブをメディアバイに付与するには2つのパスがある:
パス 1: パッケージのクリエイティブアサインメント
メディアバイ作成時に ID でライブラリクリエイティブを参照する:
{
"packages": [{
"product_id": "premium_display",
"creative_assignments": [
{ "creative_id": "ft_88201", "weight": 60 },
{ "creative_id": "ft_88202", "weight": 40 }
]
}]
}
これは、クリエイティブがすでにエージェントのライブラリにある場合(sync_creatives またはプラットフォーム独自のアップロードフローを経由して)に機能します。
パス 2: パッケージのインラインクリエイティブ
メディアバイと一緒にクリエイティブを直接アップロードする — 別途同期ステップ不要:
{
"packages": [{
"product_id": "premium_display",
"creatives": [{
"creative_id": "acme_banner_001",
"name": "Holiday banner",
"format_id": { "agent_url": "...", "id": "display_300x250" },
"assets": { "...": "..." }
}]
}]
}
エージェントはクリエイティブをライブラリに追加し、1つの操作でパッケージに割り当てる。詳細はインラインクリエイティブ管理を参照。
マルチセラー配布
複数のセラーと作業する場合、クリエイティブを一度ビルドして配布する:
- クリエイティブエージェントでビルドする:
{
"message": "Create a holiday promotion banner",
"target_format_ids": [
{ "agent_url": "https://creative.adcontextprotocol.org", "id": "display_300x250" },
{ "agent_url": "https://creative.adcontextprotocol.org", "id": "display_728x90" }
]
}
- 各セラーのライブラリに同期する:
{
"creatives": [
{
"creative_id": "holiday_2026_300x250",
"name": "Holiday 2026 - Medium Rectangle",
"concept_id": "concept_holiday_2026",
"format_id": { "agent_url": "https://creative.adcontextprotocol.org", "id": "display_300x250" },
"assets": { }
}
]
}
各セールスエージェントで 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 配列付きで表示されます。各変数は広告サーバーが配信時に埋める槽を定義します:
{
"variables": [
{
"variable_id": "headline",
"name": "Headline text",
"type": "text",
"default_value": "Holiday Sale — Up to 40% Off"
},
{
"variable_id": "product_image",
"name": "Product image",
"type": "image",
"default_value": "https://cdn.acme-example.com/hero.jpg"
},
{
"variable_id": "cta_color",
"name": "CTA button color",
"type": "color",
"default_value": "#FF6600"
}
]
}
list_creatives フィルターで has_variables: true を使用して DCO クリエイティブを見つける。変数タイプは一般的なプラットフォームパターンと一致する: text、color、image、video、number、boolean。
広告サーバーが配信時にこれらの変数をどのように使用するか(データフィード、ターゲティングルール、最適化アルゴリズム)は AdCP のスコープ外です。AdCP は変数のスロットをモデル化し、最適化ロジックはモデル化しません。
次のステップ