Skip to main content

Generative Creative

The Creative Protocol enables AI-powered creative generation and asset management for advertising campaigns. This guide will help you create your first creative in 5 minutes.
Technical Reference: This guide shows how to use the build_creative task. For complete API specifications, see the task reference documentation.

Overview

The Creative Protocol provides AI-powered creative generation:
  • build_creative: Generate creative content using AI with either static manifests or dynamic code
  • preview_creative: Generate previews of creative manifests
  • list_creative_formats: Discover supported creative formats
Assets are provided via Brand Manifest - no separate asset library management needed.

Quick Start: Generate Your First Creative

Step 1: Basic Creative Generation

Here’s the simplest possible request to generate a native display ad:
{
  "message": "Create a simple ad for a coffee shop promotion - 20% off all drinks this week",
  "format_id": {
    "agent_url": "https://creative.adcontextprotocol.org",
    "id": "display_native"
  },
  "output_mode": "manifest"
}

Step 2: Understanding the Response

You’ll receive a structured creative manifest:
{
  "context_id": "ctx-coffee-123",
  "creative": {
    "format_id": {
      "agent_url": "https://creative.adcontextprotocol.org",
      "id": "display_native"
    },
    "output_mode": "manifest",
    "assets": [
      {
        "asset_id": "headline_001",
        "asset_role": "headline",
        "type": "text",
        "content": "20% Off All Drinks This Week!"
      },
      {
        "asset_id": "description_001", 
        "asset_role": "description",
        "type": "text",
        "content": "Visit our cozy coffee shop and enjoy premium coffee at an unbeatable price."
      },
      {
        "asset_id": "cta_001",
        "asset_role": "call_to_action",
        "type": "text", 
        "content": "Visit Today"
      }
    ]
  }
}

Step 3: Refine Your Creative

Use the context_id to make improvements:
{
  "message": "Make the headline more exciting and add urgency",
  "context_id": "ctx-coffee-123",
  "output_mode": "manifest"
}

Common Patterns

Using Brand Manifests

Provide brand context for better creative generation:
{
  "message": "Create a display ad for our coffee shop promotion",
  "format_id": {
    "agent_url": "https://creative.adcontextprotocol.org",
    "id": "display_300x250"
  },
  "brand_manifest": {
    "url": "https://mycoffeeshop.com",
    "name": "Brew & Co",
    "colors": {
      "primary": "#6F4E37",
      "secondary": "#C4A35A"
    },
    "tone": "warm and inviting"
  },
  "output_mode": "manifest"
}
Minimal Brand Manifest: Start with just a URL for low-friction creative generation:
{
  "message": "Create a coffee shop ad",
  "format_id": {
    "agent_url": "https://creative.adcontextprotocol.org",
    "id": "display_native"
  },
  "brand_manifest": {
    "url": "https://mycoffeeshop.com"
  }
}
See Brand Manifest Reference for comprehensive examples.

Using Your Own Assets

Provide existing assets to incorporate into the creative:
{
  "message": "Create a display ad featuring our signature latte",
  "format_id": {
    "agent_url": "https://creative.adcontextprotocol.org",
    "id": "display_300x250"
  },
  "brand_manifest": {
    "url": "https://mycoffeeshop.com"
  },
  "assets": [
    {
      "asset_id": "brand_logo",
      "type": "image",
      "url": "https://mycoffeeshop.com/assets/logo.png",
      "tags": ["brand", "logo"]
    }
  ],
  "output_mode": "manifest"
}

Generating Dynamic Code

For real-time personalization, use code mode:
{
  "message": "Create a weather-responsive coffee ad that shows hot drinks when cold, iced drinks when warm",
  "format_id": {
    "agent_url": "https://creative.adcontextprotocol.org",
    "id": "display_native"
  },
  "output_mode": "code"
}

Format Discovery

Standard Formats

Common format IDs you can use immediately:
  • display_native - Native advertising format
  • display_300x250 - Medium rectangle banner
  • video_standard_30s - 30-second video ad

Publisher-Specific Formats

For custom publisher formats, specify the source:
{
  "message": "Create a premium video ad",
  "format_id": {
    "agent_url": "https://premium-publisher.com",
    "id": "premium_video_15s"
  },
  "output_mode": "manifest"
}

Next Steps

  • Browse Examples: See Task Reference for detailed examples
  • Learn Advanced Features: Explore real-time inference and dynamic creative generation
  • Integration Guide: Learn how to integrate with your existing creative workflows
  • Best Practices: Asset organization and creative optimization strategies

Common Issues

Format Not Found

If you get a format error, the publisher may not support that format. Try:
  1. Use a standard AdCP format first (display_native, video_standard_30s)
  2. Check the publisher’s list_creative_formats endpoint
  3. Verify the format_source URL is correct

Creative Quality Issues

To improve creative output:
  1. Be more specific in your message: “Create a minimalist coffee ad with earth tones”
  2. Provide comprehensive brand manifest with assets and guidelines
  3. Use the conversational refinement feature to iterate (via context_id)

Asset Management

Assets are provided via Brand Manifest:
  1. Include assets in brand manifest with descriptive tags
  2. Use asset_filters in requests to select specific assets
  3. Reference product catalogs for large inventories
Ready to create your first creative? Start with the basic example above and explore from there!