> ## 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 は初期のフォーマット探索から継続的な最適化まで、クリエイティブアセットをライフサイクル全体で管理する包括的なツールを提供します。

## 概要

AdCP のクリエイティブ管理システムは次を扱います:

* サポートされるすべてのクリエイティブタイプの **フォーマット仕様**
* 作成から最適化までの **アセットライフサイクル管理**
* クリエイティブライブラリの **クロスプラットフォーム同期**
* 一貫した配信を可能にする **標準フォーマット対応**

## 主要なクリエイティブタスク

### クリエイティブ同期

[`sync_creatives`](/docs/creative/task-reference/sync_creatives) を使って、セラーまたはクリエイティブプラットフォームがホストするクリエイティブライブラリにクリエイティブアセットをアップロードし管理します。これにより、クリエイティブがプラットフォームとキャンペーンをまたいで割り当て可能になります。

`creative.has_creative_library: true` を持たずに `inline_creative_management: true` を宣言するセラーの場合、クリエイティブは再利用可能なライブラリを介さず、`create_media_buy` または `update_media_buy` のパッケージスコープの `packages[].creatives` として提供されます。

### クリエイティブラリ管理

[`list_creatives`](/docs/creative/task-reference/list_creatives) を使ってクリエイティブアセットライブラリを閲覧・管理します。ステータス追跡やパフォーマンスメタデータも確認できます。

## 3 つの主なフェーズ

AdCP は次の 3 つのフェーズでクリエイティブを管理します:

### フェーズ 1: フォーマット探索

クリエイティブアセットを作成する前に、**利用可能で必要なフォーマット** を理解する必要があります。AdCP は連携する 2 つの補完的なツールを提供します:

#### 探索ワークフロー

**`get_products`** はキャンペーンニーズに合う広告在庫を見つけ、そのプロダクトがサポートするフォーマット ID を返します。**`list_creative_formats`** は詳細なクリエイティブ要件を含む完全なフォーマット仕様を提供します。

#### 再帰的なフォーマット探索

営業エージェントは、追加のフォーマットを提供するクリエイティブエージェントを任意で参照できます。これにより再帰的な探索パターンが生まれます:

1. 営業エージェントで `list_creative_formats` を呼び出す
2. エージェントが直接サポートするフォーマットの完全な定義を受け取ります
3. 必要に応じて、他のクリエイティブエージェントへの URL を含む `creative_agents` 配列を受け取ります
4. それらのクリエイティブエージェントで `list_creative_formats` を再帰的に呼び出し、さらにフォーマットを探索します
5. **バイヤーは無限ループを避けるため訪問した URL を追跡する必要がある**

各フォーマットには、その権威元を示す `agent_url` フィールドが含まれます。

**注意**: `list_creative_formats` は認証を必要とせず、公開されたフォーマット探索が可能です。

#### よくある 2 つのアプローチ:

**1. Inventory-First** - "自分のキャンペーンに合うプロダクトと、そのために必要なフォーマットは何か？"

```javascript theme={null}
// Find products for your campaign
const products = await get_products({
  brand_manifest: {
    name: "Nike",
    url: "https://nike.com"
  },
  brief: "Nike Air Max 2024 launch campaign"
});
// Products return: format_ids: ["video_15s_hosted", "homepage_takeover_2024"]

// Get full creative specs (returns complete format objects, not just IDs)
const response = await list_creative_formats({});
const formatSpecs = response.formats.filter(f =>
  products.products.flatMap(p => p.format_ids).includes(f.format_id)
);
// Now you have full specs: video_15s_hosted needs MP4 H.264, 15s, 1920x1080
//                          homepage_takeover_2024 needs hero image + logo + headline

// Optionally discover formats from linked creative agents
if (response.creative_agents) {
  for (const agent of response.creative_agents) {
    const agentFormats = await list_creative_formats({ agent_url: agent.agent_url });
    formatSpecs.push(...agentFormats.formats);
  }
}
```

**2. Creative-First** - "このパブリッシャーはどの動画フォーマットをサポートしているか？"

```javascript theme={null}
// Browse all available formats (returns full format objects immediately)
const response = await list_creative_formats({
  type: "video",
  category: "standard"
});
// response.formats contains: full format objects for video_15s_hosted, video_30s_vast, etc.

// Recursively discover formats from creative agents if needed
const allFormats = [...response.formats];
if (response.creative_agents) {
  for (const agent of response.creative_agents) {
    const agentResponse = await list_creative_formats({
      agent_url: agent.agent_url,
      type: "video"
    });
    allFormats.push(...agentResponse.formats);
  }
}

// Find products supporting your creative capabilities
const products = await get_products({
  brand_manifest: {
    name: "Nike",
    url: "https://nike.com"
  },
  brief: "Nike Air Max 2024 launch campaign",
  filters: {
    format_ids: allFormats.map(f => f.format_id)
  }
});
```

#### なぜ両方のツールが重要か

* **`list_creative_formats` がない場合**: プロダクトから返るフォーマット ID は不透明な識別子のまま
* **`get_products` がない場合**: どのフォーマットに実在庫があるか分からない
* **両方を組み合わせると**: 利用可能なものと、仕様を満たすために必要なものの両方を把握できます

### フェーズ 2: クリエイティブ制作

フォーマット要件を理解したら、フェーズ 1 で把握した仕様に従って実際のクリエイティブアセットを作成します。

### フェーズ 3: クリエイティブラリ管理

AdCP はクリエイティブ対応エージェントがホストするクリエイティブライブラリを使い、アセットを一度アップロードして複数キャンペーンに割り当てます。この手法により次が可能になります:

* クリエイティブをアカウントレベルのライブラリにアップロード
* クリエイティブを特定のキャンペーン/パッケージに割り当て
* 複数のメディアバイでクリエイティブを再利用
* すべての割り当てにわたってパフォーマンスを追跡

アセット管理は [Brand Manifests](/docs/brand-protocol/brand-json) を通じて行い、ブランドレベルのアセットをタグ付きで提供します。

## プラットフォーム考慮事項

プラットフォームによってクリエイティブ要件は異なります:

### Google Ad Manager

* 標準的な IAB フォーマットをサポート
* ポリシー準拠レビューが必要
* クリエイティブ承認は通常 24 時間以内

### Kevel

* カスタムのテンプレートベースクリエイティブをサポート
* リアルタイムのクリエイティブディシジョニング
* 柔軟なフォーマット対応

### Triton Digital

* オーディオ特化プラットフォーム
* 標準的なオーディオフォーマットをサポート
* 局単位のクリエイティブターゲティング

## レスポンスタイム

クリエイティブ関連の処理には次のような応答時間があります:

* **フォーマット一覧**: 約 1 秒（データベース参照）
* **クリエイティブ同期**: 数分〜数日（アセット処理と承認）
* **ライブラリクエリ**: 約 1 秒（データベース参照）

## ベストプラクティス

1. **フォーマット計画**: クリエイティブ制作前にサポートされるフォーマットを確認します
2. **早期アップロード**: キャンペーン開始の十分前にクリエイティブを提出します
3. **適応の受容**: より良い成果のためパブリッシャーの提案を検討します
4. **アセット整理**: クリエイティブ ID に明確な命名規則を用いる
5. **パフォーマンス監視**: 効果を追跡し継続的に改善します
6. **品質管理**: フォーマット仕様に厳密に従う
7. **ファイル最適化**: 高速読み込みのためファイルサイズを最適化します
8. **テスト**: さまざまなデバイスとプラットフォームでアセットをテストします

## 関連ドキュメント

* **[`sync_creatives`](/docs/creative/task-reference/sync_creatives)** - アップサートセマンティクスによるバルククリエイティブ管理
* **[`list_creatives`](/docs/creative/task-reference/list_creatives)** - クリエイティブラリの高度なクエリとフィルタリング
* **[`list_creative_formats`](/docs/creative/task-reference/list_creative_formats)** - フォーマット要件の理解
* **[Brand Manifest](/docs/brand-protocol/brand-json)** - ブランドアイデンティティとアセット管理
* **[Creative Formats](/docs/creative/formats)** - フォーマット仕様と探索の理解
* **[Creative Channel Guides](/docs/creative/channels/video)** - 動画、ディスプレイ、オーディオ、DOOH、カルーセルにおけるフォーマット例
* **[Asset Types](/docs/creative/asset-types)** - アセットの役割と仕様の理解
