Skip to main content
特定フォーマット向けのクリエイティブマニフェストを生成または変換します。このタスクはソースマニフェスト(純生成の場合は最小構成)を受け取り、指定フォーマットのターゲットマニフェストを出力します。 キー概念: build_creative は本質的に 変換タスク です。入力としてクリエイティブマニフェストを受け、出力としてクリエイティブマニフェストを返します。ゼロから生成する場合はソースマニフェストを最小化(フォーマットとシード資産のみ)。変換(リサイズ/リフォーマットなど)の場合は完全なクリエイティブをソースにします。 フォーマット ID の指定方法は Creative Formats - フォーマット参照 を参照してください。

リクエストパラメータ

ParameterTypeRequiredDescription
messagestringNo生成/変換に関する自然言語指示。純生成ならクリエイティブブリーフ、変換なら適用したい変更指示。
creative_manifestobjectNo変換/生成のベースとなるクリエイティブマニフェスト(Creative Manifest 参照)。純生成では format_id とフォーマットが要求する入力資産(例: ジェネレーティブフォーマット用の promoted_offerings)を含める。変換では完全なクリエイティブを渡す。
target_format_idobjectYes出力フォーマットの ID。agent_urlid を含むオブジェクト。必要入力資産はフォーマット定義で決まる。
重要: promoted_offerings など必須入力はタスク引数ではなく creative_manifest.assets 内に含めます。必要な資産はフォーマット定義が示します。

ユースケース

純生成(ゼロから作る)

フォーマットが要求する入力資産だけを持つ最小のソースマニフェストを渡します。
{
  "message": "Create a banner promoting our winter sale with a warm, inviting feel",
  "target_format_id": {
    "agent_url": "https://creative.adcontextprotocol.org",
    "id": "display_300x250_generative"
  },
  "creative_manifest": {
    "format_id": {
      "agent_url": "https://creative.adcontextprotocol.org",
      "id": "display_300x250_generative"
    },
    "assets": {
      "promoted_offerings": {
        "brand_manifest": {
          "url": "https://mybrand.com",
          "colors": {"primary": "#FF0000"}
        },
        "inline_offerings": [
          {
            "name": "Winter Sale Collection",
            "description": "50% off all winter items"
          }
        ]
      }
    }
  }
}

変換(既存クリエイティブの適用)

完全なソースマニフェストを渡して変換します。
{
  "message": "Adapt this creative for mobile, making the text larger and CTA more prominent",
  "creative_manifest": {
    "format_id": {
      "agent_url": "https://creative.adcontextprotocol.org",
      "id": "display_300x250"
    },
    "assets": {
      "banner_image": {
        "asset_type": "image",
        "url": "https://cdn.example.com/original-banner.png",
        "width": 300,
        "height": 250
      },
      "headline": {
        "asset_type": "text",
        "content": "Winter Sale - 50% Off"
      }
    }
  },
  "target_format_id": {
    "agent_url": "https://creative.adcontextprotocol.org",
    "id": "display_mobile_320x50"
  }
}

フォーマットリサイズ

既存クリエイティブを別サイズに変換します。
{
  "creative_manifest": {
    "format_id": {
      "agent_url": "https://creative.adcontextprotocol.org",
      "id": "display_728x90"
    },
    "assets": { /* complete assets */ }
  },
  "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"
    },
    "promoted_offering": "Winter Sale Collection",
    "assets": {
      "banner_image": {
        "asset_type": "image",
        "url": "https://cdn.example.com/generated-banner.png",
        "width": 300,
        "height": 250
      },
      "headline": {
        "asset_type": "text",
        "content": "Winter Sale - 50% Off"
      },
      "clickthrough_url": {
        "asset_type": "url",
        "url": "https://mybrand.com/sale"
      }
    }
  }
}

ワークフロー例

例1: 純生成(ゼロから作る)

{
  "message": "Create a bold, modern banner for our new sneaker line",
  "target_format_id": {
    "agent_url": "https://creative.adcontextprotocol.org",
    "id": "display_300x600_generative"
  },
  "creative_manifest": {
    "format_id": {
      "agent_url": "https://creative.adcontextprotocol.org",
      "id": "display_300x600_generative"
    },
    "assets": {
      "promoted_offerings": {
        "brand_manifest": {
          "url": "https://sneakerbrand.com",
          "colors": {"primary": "#000000"}
        },
        "inline_offerings": [
          {
            "name": "Urban Runner",
            "description": "Lightweight sneakers for city running"
          }
        ]
      }
    }
  }
}
レスポンス例(抜粋):
{
  "creative_manifest": {
    "format_id": {
      "agent_url": "https://creative.adcontextprotocol.org",
      "id": "display_300x600"
    },
    "assets": {
      "banner_image": {
        "asset_type": "image",
        "url": "https://cdn.creative-agent.com/generated/urban_runner_123.png",
        "width": 300,
        "height": 600
      },
      "headline": {
        "asset_type": "text",
        "content": "Urban Runner"
      },
      "cta_text": {
        "asset_type": "text",
        "content": "Shop Now"
      },
      "clickthrough_url": {
        "asset_type": "url",
        "url": "https://sneakerbrand.com/urban"
      }
    }
  }
}

例2: 変換(リサイズ)

{
  "message": "Resize to 300x250 and keep the original imagery",
  "creative_manifest": {
    "format_id": {
      "agent_url": "https://creative.adcontextprotocol.org",
      "id": "display_728x90"
    },
    "assets": {
      "banner_image": {
        "asset_type": "image",
        "url": "https://cdn.creative-agent.com/original/banner_12345.png",
        "width": 728,
        "height": 90
      },
      "headline": {
        "asset_type": "text",
        "content": "Spring Sale - 30% Off"
      },
      "clickthrough_url": {
        "asset_type": "url",
        "url": "https://mybrand.com/spring"
      }
    }
  },
  "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"
    },
    "promoted_offering": "Spring Collection",
    "assets": {
      "banner_image": {
        "asset_type": "image",
        "url": "https://cdn.creative-agent.com/resized/banner_67890.png",
        "width": 300,
        "height": 250
      },
      "headline": {
        "asset_type": "text",
        "content": "Spring Sale - 30% Off"
      },
      "clickthrough_url": {
        "asset_type": "url",
        "url": "https://mybrand.com/spring"
      }
    }
  }
}

例3: 指定付き変換

{
  "message": "Make this mobile-friendly: increase text size, simplify the layout, and make the CTA button more prominent",
  "creative_manifest": {
    "format_id": {
      "agent_url": "https://creative.adcontextprotocol.org",
      "id": "display_300x600"
    },
    "assets": {
      "background_image": {
        "asset_type": "image",
        "url": "https://cdn.mybrand.com/bg.jpg",
        "width": 300,
        "height": 600
      },
      "headline": {
        "asset_type": "text",
        "content": "Discover Our New Collection"
      },
      "body_text": {
        "asset_type": "text",
        "content": "Shop the latest styles with free shipping on orders over $50"
      },
      "cta_text": {
        "asset_type": "text",
        "content": "Shop Now"
      }
    }
  },
  "target_format_id": {
    "agent_url": "https://creative.adcontextprotocol.org",
    "id": "display_mobile_320x50"
  }
}
レスポンス:
{
  "creative_manifest": {
    "format_id": {
      "agent_url": "https://creative.adcontextprotocol.org",
      "id": "display_mobile_320x50"
    },
    "assets": {
      "banner_image": {
        "asset_type": "image",
        "url": "https://cdn.creative-agent.com/mobile/banner_mobile_123.png",
        "width": 320,
        "height": 50
      },
      "headline": {
        "asset_type": "text",
        "content": "New Collection - Shop Now"
      },
      "clickthrough_url": {
        "asset_type": "url",
        "url": "https://mybrand.com/new"
      }
    }
  }
}

キーコンセプト

変換モデル

build_creativemanifest-in / manifest-out モデルに従います:
  • 入力: クリエイティブマニフェスト(最小/完全どちらも可、必要資産を含む)
  • 処理: message と資産に基づいて生成/変換
  • 出力: プレビューや同期に使えるターゲットマニフェスト

純生成と変換の違い

  • 純生成: format_id と必須入力資産(ジェネレーティブフォーマットなら promoted_offerings など)だけを含む最小の creative_manifest を渡す。message を指示として出力資産をゼロから生成。
  • 変換: 既存資産をすべて含む creative_manifest を渡す。message に従って既存資産をターゲットフォーマットへ適用。

他タスクとの連携

  1. build_creative → マニフェストを生成/変換
  2. preview_creative → マニフェストをレンダリング(preview_creative 参照)
  3. sync_creatives → 最終マニフェストをトラフィック投入
この分離により:
  • 一度ビルドし、異なるコンテキストで複数回プレビュー可能
  • ビルドを反復しても再同期せずに検証可能
  • 配信前にプレビューで確認可能