> ## 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 の生成系クリエイティブは AI を使ってブリーフから広告アセットを生成します。静的マニフェスト、アセットグループ最適化、コンテキスト別生成の3段階があります。

Creative Protocol は、広告キャンペーン向けに AI を活用したクリエイティブ生成とアセット管理を可能にします。本ガイドでは 5 分で最初のクリエイティブを作成する方法を説明します。

<img src="https://mintcdn.com/pier1inc/vHTnro7E5QeRFhdT/images/walkthrough/diagram-generative-tiers.png?fit=max&auto=format&n=vHTnro7E5QeRFhdT&q=85&s=d91458bc61b5aec2082f57c6fca6835e" alt="Three tiers of generative creative: Tier 1 static (one creative, one variant), Tier 2 optimized (asset group combinations), Tier 3 generated (AI creates for each context)" style={{ width: '100%', borderRadius: '12px', marginBottom: '1.5rem' }} width="1376" height="768" data-path="images/walkthrough/diagram-generative-tiers.png" />

> **技術リファレンス**: 本ガイドでは [`build_creative` タスク](/docs/creative/task-reference/build_creative) の使い方を示します。完全な API 仕様はタスクリファレンスを参照。

## 概要

Creative Protocol は AI を用いたクリエイティブ生成を提供します。

* **`build_creative`**: 静的マニフェストまたは動的コードを使い AI でクリエイティブを生成
* **`preview_creative`**: クリエイティブマニフェストのプレビューを生成
* **`list_creative_formats`**: サポートされるクリエイティブフォーマットを探索

アセットは [brand identity](/docs/brand-protocol/brand-json) 経由で提供され、個別のアセットライブラリ管理は不要です。

## クイックスタート: 最初のクリエイティブを生成します

### ステップ 1: 基本的な生成

ネイティブディスプレイ広告を生成する最もシンプルなリクエスト例:

```json theme={null}
{
  "message": "Create a simple ad for a coffee shop promotion - 20% off all drinks this week",
  "target_format_id": {
    "agent_url": "https://creative.adcontextprotocol.org",
    "id": "display_native"
  }
}
```

### ステップ 2: レスポンスの理解

構造化されたクリエイティブマニフェストが返されます。

```json theme={null}
{
  "creative_manifest": {
    "format_id": {
      "agent_url": "https://creative.adcontextprotocol.org",
      "id": "display_native"
    },
    "assets": {
      "headline": {
        "content": "20% Off All Drinks This Week!"
      },
      "description": {
        "content": "Visit our cozy coffee shop and enjoy premium coffee at an unbeatable price."
      },
      "call_to_action": {
        "content": "Visit Today"
      }
    }
  }
}
```

### ステップ 3: クリエイティブをプレビューします

反復前にどのように見えるかを確認するためにマニフェストをプレビューする:

```json theme={null}
{
  "request_type": "single",
  "creative_manifest": {
    "format_id": {
      "agent_url": "https://creative.adcontextprotocol.org",
      "id": "display_native"
    },
    "assets": {
      "headline": {
        "content": "20% Off All Drinks This Week!"
      },
      "description": {
        "content": "Visit our cozy coffee shop and enjoy premium coffee at an unbeatable price."
      },
      "call_to_action": {
        "content": "Visit Today"
      }
    }
  }
}
```

レスポンスには iframe に埋め込める preview URL が含まれます。デバイスバリアント、バッチプレビュー、出力フォーマットオプションは [`preview_creative`](/docs/creative/task-reference/preview_creative) を参照。

### ステップ 4: クリエイティブを洗練します

前回の出力の `creative_manifest` を新しい `message` と一緒に渡すことで反復できます。あるいは、brief アセット（`assets.brief`）を更新してクリエイティブの方向性を変えることもできる — brief はクリエイティブがどうあるべきかについてバイヤーが管理するソースオブトゥルースです。

```json theme={null}
{
  "message": "Make the headline more exciting and add urgency",
  "target_format_id": {
    "agent_url": "https://creative.adcontextprotocol.org",
    "id": "display_native"
  },
  "creative_manifest": {
    "format_id": {
      "agent_url": "https://creative.adcontextprotocol.org",
      "id": "display_native"
    },
    "assets": {
      "headline": {
        "content": "20% Off All Drinks This Week!"
      }
    }
  }
}
```

## よくあるパターン

### brand identity の活用

ブランドのコンテキストを提供して、より良い生成結果を得る:

```json theme={null}
{
  "message": "Create a display ad for our coffee shop promotion",
  "target_format_id": {
    "agent_url": "https://creative.adcontextprotocol.org",
    "id": "display_300x250"
  },
  "brand": {
    "domain": "mycoffeeshop.com"
  }
}
```

**最小限のブランド参照**: ドメインだけから手軽に生成を始められます:

```json theme={null}
{
  "message": "Create a coffee shop ad",
  "target_format_id": {
    "agent_url": "https://creative.adcontextprotocol.org",
    "id": "display_native"
  },
  "brand": {
    "domain": "mycoffeeshop.com"
  }
}
```

詳細な例は [brand.json reference](/docs/brand-protocol/brand-json) を参照。

### 保有アセットの利用

既存のアセットを提供し、クリエイティブに組み込む:

```json theme={null}
{
  "message": "Create a display ad featuring our signature latte",
  "target_format_id": {
    "agent_url": "https://creative.adcontextprotocol.org",
    "id": "display_300x250"
  },
  "creative_manifest": {
    "format_id": {
      "agent_url": "https://creative.adcontextprotocol.org",
      "id": "display_300x250"
    },
    "assets": {
      "brand_logo": {
        "url": "https://mycoffeeshop.com/assets/logo.png",
        "width": 200,
        "height": 50
      }
    }
  }
}
```

### 動的コードの生成

クリエイティブエージェントは、ブリーフの要件に基づいて静的マニフェストを返すか動的コードを返すかを判断します。天気に応じた挙動、時間帯適応、位置情報ベースのコンテンツなどランタイムロジックが必要な場合、エージェントはマニフェストのアセットに実行可能なコードを返します。

動的な挙動を示す説明的なブリーフを使用します:

```json theme={null}
{
  "message": "Create a weather-responsive coffee ad that shows hot drinks when cold, iced drinks when warm",
  "target_format_id": {
    "agent_url": "https://creative.adcontextprotocol.org",
    "id": "display_native"
  }
}
```

コードベースのクリエイティブはレスポンスのアセット構造で識別できる — マニフェストには静的コンテンツと並行して、または代わりにコードアセットが含まれます:

```json theme={null}
{
  "creative_manifest": {
    "format_id": {
      "agent_url": "https://creative.adcontextprotocol.org",
      "id": "display_native"
    },
    "assets": {
      "code": {
        "content": "<script>/* weather-responsive logic */</script>"
      },
      "headline_warm": {
        "content": "Cool Down with Our Iced Collection"
      },
      "headline_cold": {
        "content": "Warm Up with Our Signature Roasts"
      }
    }
  }
}
```

### クリエイティブをメディアバイに添付します

クリエイティブを構築してプレビューしたら、それをメディアバイに添付します。`build_creative` からのマニフェストを `create_media_buy` のクリエイティブとして渡す（完全なリクエスト構造は [`create_media_buy`](/docs/media-buy/task-reference/create_media_buy) を参照）:

```json theme={null}
{
  "packages": [{
    "product_id": "premium_display",
    "pricing_option_id": "cpm_standard",
    "budget": 10000,
    "creatives": [{
      "creative_id": "coffee_promo_v3",
      "name": "Coffee shop 20% off - final",
      "format_id": {
        "agent_url": "https://creative.adcontextprotocol.org",
        "id": "display_native"
      },
      "assets": {
        "headline": {
          "content": "This Week Only: 20% Off Every Drink!"
        },
        "description": {
          "content": "Visit our cozy coffee shop and enjoy premium coffee at an unbeatable price."
        },
        "call_to_action": {
          "content": "Visit Today"
        }
      }
    }]
  }]
}
```

[インラインクリエイティブ管理](/docs/creative/sales-agent-creative-capabilities)を持つセラーの場合、クリエイティブはメディアバイと一緒に伝達されます。他のワークフローでは、[`sync_creatives`](/docs/creative/task-reference/sync_creatives) を使ってメディアバイで参照する前にクリエイティブをセールスエージェントのライブラリにアップロードします。

## フォーマットディスカバリー

### 標準フォーマット

すぐに使える一般的なフォーマット ID:

* `display_native` - ネイティブ広告フォーマット
* `display_300x250` - ミディアムレクタングルバナー
* `video_standard_30s` - 30 秒動画広告

### パブリッシャー固有のフォーマット

パブリッシャーのカスタムフォーマットを使う場合は、ソースを指定します:

```json theme={null}
{
  "message": "Create a premium video ad",
  "target_format_id": {
    "agent_url": "https://premium-publisher.com",
    "id": "premium_video_15s"
  }
}
```

## セラー側での生成（メディアバイ内のブリーフ）

上記の例では `build_creative` を使ってインタラクティブにクリエイティブを生成しています。セラーがサービス時にクリエイティブを生成する場合 — コンテキスト広告、ページマッチドディスプレイ、AI 生成ネイティブ — は異なるパターンが適用されます。

このフローでは、セールスエージェントが Media Buy Protocol と Creative Protocol の両方を実装します。バイヤーは `create_media_buy` の一部としてブリーフを提供し、セラーはサービス時にクリエイティブを生成します。`build_creative` の呼び出しは不要です。

### 仕組み

1. **ジェネレーティブフォーマットの探索** — セールスエージェントで `list_creative_formats` を呼び出す。`format_id.agent_url` がセールスエージェント自身を指しているフォーマットを探す。

2. **メディアバイにブリーフを含める** — ブリーフをアセットとして含むクリエイティブを送信します:

```json theme={null}
{
  "packages": [{
    "product_id": "premium_display",
    "pricing_option_id": "cpm_standard",
    "budget": 50000,
    "creatives": [{
      "creative_id": "brand_contextual_brief",
      "name": "Contextual campaign brief",
      "format_id": {
        "agent_url": "https://ads.seller-example.com",
        "id": "contextual_display_generative"
      },
      "assets": {
        "brief": {
          "content": "Highlight our sustainability story. Match tone to editorial context. Avoid competitor comparisons."
        }
      }
    }]
  }]
}
```

3. **ローンチ前にプレビュー** — セールスエージェントで `preview_creative` をブリーフマニフェストと `context_description` インプットとともに呼び出し、エージェントが生成するものの代表的なサンプルを確認します。高速な反復には `quality: "draft"` を、ステークホルダーレビューには `quality: "production"` を使います。これらは例示的なもの — 実際の出力はサービス時のライブシグナルに依存します。

```json theme={null}
{
  "request_type": "single",
  "quality": "draft",
  "creative_manifest": {
    "format_id": {
      "agent_url": "https://ads.seller-example.com",
      "id": "contextual_display_generative"
    },
    "assets": {
      "brief": {
        "content": "Highlight our sustainability story. Match tone to editorial context. Avoid competitor comparisons."
      }
    }
  },
  "inputs": [
    { "name": "Tech article", "context_description": "Article about semiconductor manufacturing" },
    { "name": "Travel blog", "context_description": "Blog post about eco-friendly travel" }
  ]
}
```

プレビューはメディアバイがアクティブである必要はない — `create_media_buy` を呼び出す前にブリーフマニフェストだけでプレビューできます。詳細なメンタルモデルは[ジェネレーティブクリエイティブのプレビュー](/docs/creative/task-reference/preview_creative#previewing-generative-creative)を参照。

4. **セラーがサービス時に生成** — セラーはブリーフとバイヤーの [brand identity](/docs/brand-protocol/brand-json) を使用して、インプレッションごとまたはページコンテキストごとにページに合わせたクリエイティブを生成します。ブリーフと brand identity がガードレールとして機能し、エージェントはその制約内で生成します。継続的な生成にバイヤーのアクションは不要です。

5. **生成されたバリアントのレビュー** — セールスエージェントで `get_creative_delivery` を呼び出し（Creative Protocol を実装しています）、バリアントマニフェストと生成コンテキストを含む生成結果を確認します:

```json theme={null}
{
  "media_buy_ids": ["mb_12345"],
  "max_variants": 20
}
```

レスポンスには、配信されたものを正確に示すバリアントレベルのマニフェストと、生成コンテキスト（ページトピック、デバイスクラスなど）が含まれます。

**バリアントの保持**: エージェントはバリアントデータを無期限に保持することを要求されない。`get_creative_delivery` を呼び出す際は、`max_variants` でクリエイティブごとに返されるバリアント数を制御します。エージェントは独自の基準に基づいて返すバリアントを選択する — 通常はインプレッション量（最も配信されたものが優先）だが、一部は最新順や代表的なサンプリングを使う場合もあります。大量のジェネレーティブキャンペーンでは、生成されたすべてのバリアントのサブセットのみが保持されることを想定します。キャンペーン後の一括取得に頼らず、キャンペーン中に早めに頻繁に `max_variants` をリクエストすること。

### `build_creative` との主な違い

| 側面         | `build_creative`                            | メディアバイ内のブリーフ                           |
| ---------- | ------------------------------------------- | -------------------------------------- |
| 生成のタイミング   | オンデマンド、キャンペーン開始前                            | サービス時、キャンペーン全期間                        |
| 誰が生成するか    | スタンドアロンのクリエイティブエージェントまたはセールスエージェント          | セールスエージェント（統合型）                        |
| ローンチ前プレビュー | 即時（マニフェストがクリエイティブそのもの）                      | 代表的なサンプル（ブリーフ + シミュレートされたコンテキスト）       |
| バイヤーの関与    | インタラクティブ — レビュー、反復、承認                       | サンプルをプレビューしてセットアンドフォーゲット — ブリーフが継続的な制約 |
| バリアントの可視性  | 即時（レスポンスで返されます）                             | 配信後（`get_creative_delivery` 経由）        |
| フォーマットの権威  | `format_id.agent_url` はフォーマットを所有するエージェントを指す | `format_id.agent_url` はセールスエージェント自身    |

詳細は [Creative capabilities on sales agents](/docs/creative/sales-agent-creative-capabilities) を参照。

### サービス時生成のガードレール

セラーがサービス時にクリエイティブを生成する場合、バイヤーの制御手段は以下の通り:

* **ブリーフ** — トーン、トピック、除外事項（「競合他社との比較は避ける」）に関する明示的な指示
* **Brand identity** — 色、ロゴ、ボイスガイドライン、[brand.json](/docs/brand-protocol/brand-json) 経由の承認済みアセット
* **プリフライトプレビュー** — ローンチ前に様々なコンテキストでエージェントが生成するものをサンプル確認
* **ポストフライト監査** — `get_creative_delivery` 経由でバリアントマニフェストと生成コンテキストをレビュー、`preview_creative` バリアントモードで特定バリアントを再生

ポストフライトレビューでブランドに反するバリアントが発見された場合、より具体的な制約でブリーフを更新して `create_media_buy` 経由で再送信します。規制対象カテゴリ（金融サービス、製薬）の場合は、ブリーフにコンプライアンス要件を含める — クリエイティブ機能で `supports_compliance: true` を宣言するエージェントは、生成中に開示事項と必須要素を検証します。

## 会話型・インタラクティブフォーマット

一部のジェネレーティブフォーマットはステートフル — AI チャット、インタラクティブエクスペリエンス、会話型ネイティブ広告。これらはメディアバイ内のブリーフパターンと同じに従うが、理解しておく価値のある独自の特性があります。

### フォーマット探索

`list_creative_formats` での会話型フォーマットの例:

```json theme={null}
{
  "format_id": {
    "agent_url": "https://ads.seller-example.com",
    "id": "conversational_native"
  },
  "name": "Conversational native ad",
  "type": "native",
  "description": "AI-powered conversational ad that responds to user messages within the content feed. Adapts tone and recommendations based on conversation context."
}
```

### ブリーフ構造

会話型フォーマットのブリーフにはペルソナ、トピックの境界、ガードレールが含まれます:

```json theme={null}
{
  "packages": [{
    "product_id": "premium_native",
    "pricing_option_id": "cpm_engaged",
    "budget": 25000,
    "creatives": [{
      "creative_id": "brand_chat_brief",
      "name": "Product advisor chat",
      "format_id": {
        "agent_url": "https://ads.seller-example.com",
        "id": "conversational_native"
      },
      "assets": {
        "brief": {
          "content": "Act as a helpful product advisor for our outdoor gear line. Recommend products based on the user's activity interests. Keep responses concise (2-3 sentences). Never discuss competitor products. Always include a product link when recommending."
        }
      }
    }]
  }]
}
```

### 会話のプレビュー

会話型フォーマットのプリフライトプレビューは代表的な最初のインタラクションを生成します。異なるエントリポイントをシミュレートするには `context_description` を使います:

```json theme={null}
{
  "request_type": "batch",
  "quality": "production",
  "requests": [
    {
      "creative_manifest": {
        "format_id": {
          "agent_url": "https://ads.seller-example.com",
          "id": "conversational_native"
        },
        "assets": {
          "brief": {
            "content": "Act as a helpful product advisor for our outdoor gear line. Recommend products based on the user's activity interests."
          }
        }
      },
      "inputs": [
        { "name": "Hiking enthusiast", "context_description": "User reading an article about day hikes near Portland" },
        { "name": "Runner", "context_description": "User browsing a running shoe review page" }
      ]
    }
  ]
}
```

プレビューレスポンスに `interactive_url` が含まれる場合、レビュアーはサンドボックスでエクスペリエンスと直接インタラクトできる — 異なる会話パスのテスト、ガードレールの確認、トーンの確認が可能です。

**ガードレールのテスト**: ブリーフの制約をエージェントが尊重するかを確認するために、プレビューインプットに adversarial なコンテキストを含める:

```json theme={null}
{
  "inputs": [
    { "name": "Competitor question", "context_description": "User asks which brand makes better hiking boots than yours" },
    { "name": "Off-topic request", "context_description": "User asks for medical advice about a knee injury" },
    { "name": "Price haggling", "context_description": "User asks for a discount code or tries to negotiate pricing" }
  ]
}
```

これらのプレビューを注意深くレビューする — ハッピーパスのプレビューでは表面化しないエッジケースをエージェントがどのように処理するかがわかる。

会話型フォーマットの場合、プレビューレスポンスにはレビュアーが会話をライブでテストできる `interactive_url` が含まれることがある:

```json theme={null}
{
  "response_type": "single",
  "previews": [
    {
      "preview_id": "prev_hiker",
      "renders": [
        {
          "render_id": "render_1",
          "output_format": "url",
          "preview_url": "https://ads.seller-example.com/preview/conv_hiker_001",
          "role": "primary"
        }
      ],
      "input": { "name": "Hiking enthusiast", "context_description": "User reading an article about day hikes near Portland" }
    }
  ],
  "interactive_url": "https://ads.seller-example.com/sandbox/conv_hiker_001",
  "expires_at": "2026-04-01T00:00:00Z"
}
```

`interactive_url` はレビュアーがエージェントと実際の会話ができるサンドボックスを提供し、異なるパスのテスト、ガードレールの確認、インタラクティブなトーン確認が可能です。静的プレビューは代表的な最初のインタラクションを示し、サンドボックスはエージェントが実際にどのように動作するかを示します。

### 会話のバリアントマニフェスト

キャンペーン実行後、`get_creative_delivery` はエージェントが生成したものを捉えたバリアントマニフェストを返します。会話型フォーマットでは、各バリアントは会話セッションを表します:

```json theme={null}
{
  "variant_id": "conv_hiker_session_042",
  "generation_context": {
    "context_type": "conversational",
    "topic": "outdoor recreation, hiking gear",
    "device_class": "mobile",
    "ext": {
      "turn_count": 4,
      "engagement_duration_seconds": 45
    }
  },
  "manifest": {
    "format_id": {
      "agent_url": "https://ads.seller-example.com",
      "id": "conversational_native"
    },
    "assets": {
      "greeting": {
        "asset_type": "text",
        "content": "Planning a hike? I can help you find the right gear for the trail."
      },
      "transcript": {
        "asset_type": "text",
        "content": "Agent: Planning a hike? I can help you find the right gear for the trail.\nUser: Looking for a lightweight daypack\nAgent: For day hikes near Portland, I'd recommend our TrailLite 22L — it's 380g with a built-in rain cover. [link]\nUser: What about trekking poles?\nAgent: The CompactTrek poles fold to 36cm and weigh just 240g per pair. Great for the elevation changes on trails like Dog Mountain. [link]"
      },
      "products_shown": {
        "asset_type": "text",
        "content": "TrailLite 22L Daypack, CompactTrek Folding Poles"
      }
    }
  },
  "impressions": 1,
  "clicks": 2
}
```

バリアントマニフェストの詳細レベルはエージェントによって異なります。完全なトランスクリプトを提供するもの（上記のように）もあれば、匿名化されたユーザーシグナルとともに要約された交換を提供するものもあります。重要なのは、バイヤーがブランドの AI がユーザーに何を言ったかを監査できることです。

### セッション管理とデータ処理

会話型フォーマットには静的広告にはない考慮事項がある:

* **ターン制限**: ブリーフにターン数または時間の制限を含める（「5 回のやり取りの後、丁寧に会話を終了する」）。エージェントが独自の制限を設けることもある — `list_creative_formats` のフォーマット説明を確認します。
* **エスカレーション**: 答えられない場合にエージェントがすべきことを定義する（「ユーザーが返品について聞いた場合は、ヘルプセンターへのリンクを提供する」）。スコープ外の質問に対する明示的なガイダンスがない場合、エージェントの挙動は未定義です。
* **トランスクリプト内のユーザーデータ**: `get_creative_delivery` からのバリアントマニフェストにはユーザーメッセージが含まれる場合があります。規制対象業種の場合は、ローンチ前にエージェントのデータ処理慣行（匿名化、保持期限）を確認します。
* **コストへの影響**: エンゲージメントごとまたはターンごとの料金体系の会話型広告は、可変コストが発生することがあります。`get_products` でプロダクトの料金モデルを確認して、会話の深さが支出にどう影響するかを把握します。

これらの制約はブリーフの自然言語で表現されます。プロトコルはランタイムでこれらを強制しない — [`get_creative_delivery`](/docs/creative/task-reference/get_creative_delivery) 経由のポストフライトバリアントレビューでコンプライアンスを確認します。

詳細なメンタルモデルは [ジェネレーティブクリエイティブのプレビュー](/docs/creative/task-reference/preview_creative#conversational-and-interactive-formats) を参照。

## 次のステップ

* **マルチフォーマット生成**: `target_format_ids` を使って 1 回の呼び出しで複数サイズのクリエイティブを生成 — [マルチフォーマット生成](/docs/creative/task-reference/build_creative#multi-format-generation)を参照
* **サンプルを見る**: `build_creative` の例は [タスクリファレンス](/docs/creative/task-reference/build_creative) を参照
* **セールスエージェントのクリエイティブフロー**: セラー側生成は [Creative capabilities on sales agents](/docs/creative/sales-agent-creative-capabilities) を参照
* **デリバリーレポーティング**: バリアントレベルの分析は [get\_creative\_delivery](/docs/creative/task-reference/get_creative_delivery) を参照

## よくある問題

### フォーマットが見つからない

フォーマットエラーが出る場合、そのフォーマットをパブリッシャーがサポートしていない可能性があります。次を試すとよい:

1. まず標準の AdCP フォーマット（`display_native`, `video_standard_30s`）を使用します
2. パブリッシャーの `list_creative_formats` エンドポイントを確認します
3. `format_id.agent_url` の URL が正しいか検証します

### クオリティモデルを理解します

クリエイティブクオリティには独立した 2 つの軸がある:

* **ビルドクオリティ**（`build_creative` の `quality`）: 生成フィデリティを制御 — クリエイティブ生成にどれだけのコンピュートを費やすか。`draft` は低解像度画像やシンプルなレイアウトを使った粗いコンセプトを高速に生成します。`production` はポリッシュされた最終品質の出力を生成します。
* **プレビュークオリティ**（`preview_creative` の `quality`、`build_creative` の `preview_quality`）: レンダーフィデリティを制御 — クリエイティブのレビューのための可視化方法。`draft` は高速な低フィデリティレンダリングで迅速な反復向け。`production` はステークホルダーレビュー向けの完全品質レンダリング。

これらの軸は独立しています。よくある組み合わせ:

| ビルド        | プレビュー      | ユースケース                                          |
| ---------- | ---------- | ----------------------------------------------- |
| draft      | draft      | 高速な探索 — 素早いコンセプト、素早いプレビュー                       |
| draft      | production | ドラフトコンセプトのステークホルダーレビュー — ドラフトクリエイティブの完全品質レンダリング |
| production | production | 最終レビュー — ポリッシュされたクリエイティブ、ポリッシュされたプレビュー          |
| production | draft      | サムネイルグリッド — 選択のためのクイックサムネイルとして表示される最終クリエイティブ    |

片方のクオリティレベルのみをサポートするエージェントは、サポートしないパラメーターを無視します。エコーバックフィールドはない — 検査によってクオリティを確認します。

### クリエイティブ品質の問題

クリエイティブ出力を改善するには:

1. **ビルドクオリティ**と**プレビュークオリティ**は独立した軸 — 上記の[クオリティモデルを理解する](#クオリティモデルを理解する)を参照。反復には `draft`、最終レビューには `production` を使います。
2. メッセージをより具体的にする: 「アーストーンでミニマルなコーヒー広告を作成して」
3. アセットやガイドラインを含む充実した brand identity を提供します
4. [refinement](/docs/creative/task-reference/build_creative#iterative-refinement) を使って反復する — マニフェストを新しいメッセージとともに渡し返すか、brief アセットを更新します

### アセット管理

アセットは [brand identity](/docs/brand-protocol/brand-json) 経由で提供します:

1. ブランドアイデンティティに説明的なタグ付きでアセットを含めます
2. リクエストで `asset_filters` を使い特定アセットを選択します
3. 大規模な在庫では商品カタログを参照します

最初のクリエイティブを作る準備はできたか？上記の基本例から始めて試してみよう。
