Skip to main content

list_creative_formats

Returns full specifications for all creative formats provided by this creative agent. Response Time: ~1 second (simple database lookup) Authentication: None required - this endpoint must be publicly accessible for format discovery Request Schema: https://adcontextprotocol.org/schemas/v1/creative/list-creative-formats-request.json Response Schema: https://adcontextprotocol.org/schemas/v1/creative/list-creative-formats-response.json

Recursive Discovery Model

Creative agents use the same response format as sales agents:
  1. formats: Full format definitions for formats they own/support
  2. creative_agents (optional): URLs to other creative agents providing additional formats
Each format includes an agent_url field indicating its authoritative source. Buyers can recursively query creative_agents to discover all available formats. Buyers must track visited URLs to avoid infinite loops.

Request Parameters

ParameterTypeRequiredDescription
format_idsFormatID[]NoReturn only these specific structured format ID objects
typestringNoFilter by format type: "audio", "video", "display", "dooh" (technical categories with distinct requirements)
asset_typesstring[]NoFilter to formats that include these asset types. For third-party tags, search for ["html"] or ["javascript"]. E.g., ["image", "text"] returns formats with images and text, ["javascript"] returns formats accepting JavaScript tags. Values: image, video, audio, text, html, javascript, url
max_widthintegerNoMaximum width in pixels (inclusive). Returns formats with width ≤ this value.
max_heightintegerNoMaximum height in pixels (inclusive). Returns formats with height ≤ this value.
min_widthintegerNoMinimum width in pixels (inclusive). Returns formats with width ≥ this value.
min_heightintegerNoMinimum height in pixels (inclusive). Returns formats with height ≥ this value.
is_responsivebooleanNoFilter for responsive formats that adapt to container size. When true, returns formats without fixed dimensions.
name_searchstringNoSearch for formats by name (case-insensitive partial match, e.g., "mobile" or "vertical")

Response Structure

{
  "agent_url": "https://creative.adcontextprotocol.org",
  "agent_name": "AdCP Reference Creative Agent",
  "capabilities": ["validation", "assembly", "preview"],
  "formats": [
    {
      "format_id": {
        "agent_url": "https://creative.adcontextprotocol.org",
        "id": "video_standard_30s"
      },
      "name": "Standard Video - 30 seconds",
      "type": "video",
      "iab_specification": "https://iabtechlab.com/standards/video-ad-serving-template-vast/",
      "supported_macros": ["MEDIA_BUY_ID", "CREATIVE_ID", "CACHEBUSTER", "DEVICE_TYPE"],
      "requirements": {
        "duration_seconds": 30,
        "max_file_size_mb": 50,
        "acceptable_formats": ["mp4", "mov", "webm"],
        "aspect_ratios": ["16:9", "9:16", "1:1"]
      },
      "assets_required": [
        {
          "asset_role": "video_file",
          "asset_type": "video",
          "required": true,
          "width": 1920,
          "height": 1080,
          "duration_seconds": 30
        }
      ]
    }
  ]
}

Field Descriptions

  • agent_url: Base URL for this creative agent (authoritative source for these formats)
  • agent_name: Human-readable name for this creative agent
  • capabilities: What this creative agent can do
    • validation: Can validate creatives against format specs
    • assembly: Can assemble creatives from assets
    • generation: Can generate creatives from prompts (AI/DCO)
    • preview: Can generate preview renderings
  • formats: Array of complete format definitions

Example 1: Find Formats by Asset Types

“I have images and text - what formats can I build?”
{
  "asset_types": ["image", "text"]
}
Response:
{
  "agent_url": "https://creative.adcontextprotocol.org",
  "agent_name": "AdCP Reference Creative Agent",
  "capabilities": ["validation", "assembly", "preview"],
  "formats": [
    {
      "format_id": {
        "agent_url": "https://creative.adcontextprotocol.org",
        "id": "display_300x250"
      },
      "name": "Medium Rectangle",
      "type": "display",
      "assets_required": [
        {
          "asset_type": "image",
          "asset_role": "hero_image",
          "required": true
        },
        {
          "asset_type": "text",
          "asset_role": "headline",
          "required": true
        }
      ]
    }
  ]
}

Example 2: Find Formats for Third-Party HTML Tags

“I have 728x90 HTML tags - which of your formats support them?”
{
  "asset_types": ["html"],
  "dimensions": "728x90"
}
Response:
{
  "agent_url": "https://dco.example.com",
  "agent_name": "Custom DCO Platform",
  "capabilities": ["validation", "assembly", "generation", "preview"],
  "formats": [
    {
      "format_id": {
        "agent_url": "https://dco.example.com",
        "id": "display_728x90_3p"
      },
      "name": "Leaderboard - Third Party",
      "type": "display",
      "dimensions": "728x90",
      "assets_required": [
        {
          "asset_id": "tag",
          "asset_type": "html",
          "asset_role": "third_party_tag",
          "required": true,
          "requirements": {
            "width": 728,
            "height": 90,
            "max_file_size_kb": 200
          }
        }
      ]
    }
  ]
}

Example 3: Find Formats by Size

“What formats can accept HTML, JavaScript, or images up to 970x250?” Important: The asset_types parameter uses OR logic - formats matching ANY of the specified asset types will be returned. Query the reference creative agent:
{
  "asset_types": ["html", "javascript", "image"],
  "max_width": 970,
  "max_height": 250,
  "type": "display"
}
This returns all display formats at or below 970×250 that accept any of those asset types - both third-party tag formats and image-based formats (e.g., 300×250, 728×90, 970×250). Example: Find specific dimensions
{
  "min_width": 970,
  "max_width": 970,
  "min_height": 250,
  "max_height": 250
}
Returns only formats at exactly 970×250. Example: Find responsive formats
{
  "is_responsive": true,
  "type": "display"
}
Returns formats that adapt to container width (native ads, fluid layouts, full-width banners).

Example 4: Search by Name

“Show me your vertical or mobile formats”
{
  "name_search": "vertical"
}
Response returns all formats with “vertical” in the name.

Example 5: Generative Format with Output Formats

“What generative formats do you support for 300x250 banners?”
{
  "dimensions": "300x250"
}
Response:
{
  "agent_url": "https://creative.adcontextprotocol.org",
  "agent_name": "AdCP Reference Creative Agent",
  "capabilities": ["validation", "assembly", "generation", "preview"],
  "formats": [
    {
      "format_id": {
        "agent_url": "https://creative.adcontextprotocol.org",
        "id": "300x250_banner_generative"
      },
      "name": "300x250 Generative Banner",
      "type": "display",
      "assets_required": [
        {
          "asset_id": "promoted_offerings",
          "asset_type": "promoted_offerings",
          "required": true
        }
      ],
      "output_format_ids": [{
        "agent_url": "https://creative.adcontextprotocol.org",
        "id": "300x250_banner_image"
      }],
      "description": "Generative format that accepts promoted_offerings (which includes brand_manifest, product selectors, and asset filters), generates a complete 300x250 banner creative"
    },
    {
      "format_id": {
        "agent_url": "https://creative.adcontextprotocol.org",
        "id": "300x250_banner_image"
      },
      "name": "300x250 Standard Banner",
      "type": "display",
      "assets_required": [
        {
          "asset_type": "image",
          "asset_role": "banner_creative",
          "required": true,
          "requirements": {
            "width": 300,
            "height": 250,
            "formats": ["jpg", "png", "gif"],
            "max_file_size_kb": 150
          }
        }
      ],
      "description": "Standard 300x250 banner accepting a complete creative image"
    }
  ]
}
Usage: Sales agents can provide the generative format 300x250_banner_generative to buyers who submit brand manifests and messages. The creative agent generates creatives in the 300x250_banner_image format that can be trafficked.

Usage Workflow

  1. Buyer discovers formats via sales agent: list_creative_formats on sales agent
  2. Sales agent returns: format_ids + creative_agents list
  3. Buyer queries creative agent(s): list_creative_formats on each creative agent URL
  4. Creative agent returns: Full authoritative format specifications
  5. Buyer uses formats: Reference format specs when building/validating creatives
This two-tier model ensures:
  • Single source of truth: Each format has one authoritative definition
  • Flexibility: Sales agents can work with multiple creative agents
  • Clarity: Buyers know exactly where to get format details