Skip to main content
本ガイドは、クリエイティブフォーマットを定義・管理するクリエイティブエージェントの実装方法を解説します。

クリエイティブエージェントとは

クリエイティブエージェントは次を行うサービスです。
  • フォーマットを定義 - 必要なアセットとその構造を指定
  • マニフェストを検証 - クリエイティブマニフェストがフォーマット要件を満たすか確認
  • プレビューを生成 - クリエイティブのレンダリング結果を表示
  • クリエイティブを構築(任意) - 自然言語ブリーフからマニフェストを生成
クリエイティブエージェントは営業エージェントとは独立しています。サードパーティのクリエイティブエージェンシー、アドテックプラットフォーム、パブリッシャーが実装し、複数のバイヤーやパブリッシャーにサービスを提供できます。

主要要件

1. フォーマット ID の名前空間化

定義するすべてのフォーマットで、競合を避けるために名前空間付きのフォーマット ID を使用します。 パターン: {domain}:{format_id} 例:
  • creative.adcontextprotocol.org:display_300x250
  • youragency.com:video_story_15s
  • brandstudio.com:interactive_carousel
ルール:
  • ドメインはエージェントのドメインと一致させる
  • フォーマット ID 部分は名前空間内で説明的かつ一意にする
  • 一貫性のため小文字とアンダースコアを使用する

2. フォーマットの検証

フォーマットがあなたの agent_url を参照する場合、あなたが次の権威となります。
  • フォーマット仕様
  • アセットの検証ルール
  • 技術要件
  • プレビュー生成
フォーマット定義例:
{
  "format_id": {
    "agent_url": "https://youragency.com",
    "id": "story_sequence_5frame"
  },
  "name": "5-Frame Story Sequence",
  "type": "display",
  "min_frames": 5,
  "max_frames": 5,
  "frame_schema": {
    "assets": [
      {
        "asset_type": "image",
        "asset_role": "frame_image",
        "required": true,
        "requirements": {
          "width": 1080,
          "height": 1920,
          "file_types": ["jpg", "png", "webp"],
          "max_file_size_kb": 500
        }
      },
      {
        "asset_type": "text",
        "asset_role": "caption",
        "required": false,
        "requirements": {
          "max_length": 100
        }
      }
    ]
  },
  "global_assets": [
    {
      "asset_type": "image",
      "asset_role": "brand_logo",
      "required": true,
      "requirements": {
        "width": 200,
        "height": 200,
        "transparency_required": true
      }
    }
  ]
}

必須タスク

クリエイティブエージェントは次の 2 つのタスクを実装する必要があります。

list_creative_formats

エージェントが定義するすべてのフォーマットを返します。バイヤーはこれによってサポートするクリエイティブフォーマットを発見します。 主な責務:
  • 必須・任意を含むすべての assets を備えた完全なフォーマット定義を返す
  • 各フォーマットに自分の agent_url を含める
  • format_id 値に適切な名前空間を使用する
完全な API 仕様は list_creative_formats task reference を参照してください。

preview_creative

マニフェストがあなたのフォーマットでどのように描画されるかを示すビジュアルプレビューを生成します。 主な責務:
  • マニフェストをフォーマット要件に照らして検証する
  • マニフェストが無効な場合は検証エラーを返す
  • ビジュアル表現(URL、画像、または HTML)を生成する
  • プレビューは少なくとも 24 時間アクセス可能にする
完全な API 仕様は preview_creative task reference を参照してください。

任意タスク

build_creative

自然言語ブリーフからクリエイティブマニフェストを生成します。AI を活用したクリエイティブ生成ワークフローを可能にします。 主な責務:
  • 自然言語ブリーフを解析する
  • 適切なアセットを生成または調達する
  • フォーマットに有効なマニフェストを返す
  • 任意でプレビュー URL を返す
完全な API 仕様は build_creative task reference を参照してください。

検証のベストプラクティス

マニフェストの検証

マニフェストを検証する際は次を行います。
  1. format_id を確認 - あなたのエージェントを参照しているか
  2. 必須アセットを検証 - 必須アセットがすべて存在するか
  3. アセットタイプを確認 - 指定されたタイプと一致するか
  4. 要件を検証 - 寸法、ファイルタイプ、サイズなど
  5. URL の到達性 - アセット URL にアクセスできるか(任意だが推奨)
検証エラーの例:
{
  "status": "error",
  "error": "validation_failed",
  "validation_errors": [
    {
      "asset_id": "frame_1_image",
      "error": "missing_required_asset",
      "message": "Required asset 'frame_1_image' is missing"
    },
    {
      "asset_id": "brand_logo",
      "error": "invalid_dimensions",
      "message": "Logo must be 200x200px, got 150x150px"
    }
  ]
}

フォーマットの進化

フォーマット定義を更新する際は次を考慮します。
  • 追加的な変更assets への required: false な新しい任意アセット)は安全
  • 破壊的変更(アセット削除や要件変更)は新しい format_id が必要
  • youragency.com:format_name_v2 のようなバージョニングを検討
  • 可能な限り後方互換性を維持

デプロイチェックリスト

クリエイティブエージェントを公開する前に確認してください。
  • MCP および/または A2A エンドポイントにアクセスできる
  • すべての format_id が適切に名前空間化されている (domain:id)
  • format_id のドメインが agent_url のドメインと一致している
  • list_creative_formats が全フォーマットを返す
  • preview_creative がマニフェストを検証しプレビューを生成する
  • フォーマット定義に完全なアセット要件が含まれている
  • カスタムフォーマットのドキュメントを用意している

インテグレーションパターン

パターン 1: クリエイティブエージェンシー

ブランド向けにカスタムフォーマットを構築するクリエイティブエージェンシーの場合:
{
  "format_id": {
    "agent_url": "https://brandstudio.com",
    "id": "hero_video_package"
  },
  "name": "Hero Video Package",
  "type": "video",
  "description": "Premium video creative with multiple aspect ratios",
  "assets": [
    {"asset_role": "hero_video_16x9", ...},
    {"asset_role": "hero_video_9x16", ...},
    {"asset_role": "hero_video_1x1", ...}
  ]
}

パターン 2: プラットフォーム固有フォーマット

専門フォーマットを定義するプラットフォームの場合:
{
  "format_id": {
    "agent_url": "https://platform.com",
    "id": "interactive_quiz"
  },
  "name": "Interactive Quiz Ad",
  "type": "rich_media",
  "description": "Engagement-driven quiz format",
  "assets": [
    {"asset_role": "question_1", "asset_type": "text", ...},
    {"asset_role": "answer_1a", "asset_type": "text", ...},
    // ... quiz structure
  ]
}

パターン 3: フォーマット拡張サービス

標準フォーマットの拡張版を提供する場合:
{
  "format_id": {
    "agent_url": "https://enhanced.com",
    "id": "video_30s_optimized"
  },
  "name": "Optimized 30s Video",
  "type": "video",
  "extends": "creative.adcontextprotocol.org:video_30s",
  "description": "Standard 30s video with automatic optimization",
  "assets": [
    // Same requirements as standard format
  ],
  "enhancements": {
    "auto_transcode": true,
    "quality_optimization": true,
    "format_variants": ["mp4", "webm", "hls"]
  }
}

関連ドキュメント