Skip to main content

Documentation Index

Fetch the complete documentation index at: https://agenticadvertisingorg-changeset-release-main.mintlify.app/llms.txt

Use this file to discover all available pages before exploring further.

S2: Creative mastery

Members only β€” Requires Practitioner credential. ~45 minutes with Addie. Combines hands-on lab and adaptive exam.
This specialist module tests your mastery of the creative protocol. You’ll work with sandbox agents to discover format requirements across channels, produce and adapt creative assets, sync them to publishers, and verify compliance. Addie evaluates both your hands-on work and your conceptual understanding. Passing earns the AdCP specialist β€” Creative credential.

Specialisms this track prepares you to validate

The following specialisms fall under the creative domain. Each has its own compliance storyboard β€” see the Compliance Catalog for the full taxonomy.
SpecialismStatusWhat it covers
creative-ad-serverstableCreative ad server with tag-based delivery
creative-generativestableGenerative creative agent producing assets on demand
creative-templatestableCreative template and transformation agent

What you’ll demonstrate

  • Identify the three creative agent interaction models and explain when each applies
  • Work with stateless agents (template/transformers): discover formats, preview with inline assets, build serving tags
  • Work with stateful ad servers: browse a creative library, generate tags per media buy, track delivery
  • Work with stateful sales agents: push creatives, preview in the publisher’s environment
  • Adapt a single creative concept across multiple channels and formats
  • Use preview_creative in all three request modes β€” single, batch (5–10Γ— faster for many creatives), and variant (retrieve historical renders from get_creative_delivery) β€” and choose output_format: "html" when bypassing the iframe speeds rendering
  • Understand creative agent pricing: the pricing_options[] array on discovery responses, how pricing_option_id flows through build_creative and report_usage, and why CPM ad servers show zero vendor_cost at build time while transformation agents do not
  • Reason about tracker-slot presence β€” a format supports third-party measurement only if its assets array declares a tracker slot (e.g., impression_tracker). Broadcast formats intentionally omit tracker slots; measurement comes from panel and STB data via billing_measurement
  • Attach industry_identifiers[] to broadcast manifests with the correct creative-identifier-type (ad_id, isci, clearcast_clock), and give each cut (:15 vs :30) its own Ad-ID
  • Reason about format edge cases, accessibility, and provenance

Prerequisite reading

Core creative tasks

list_creative_formats

Format discovery: what specs does each publisher require?

build_creative

Creative generation and transformation from brand assets.

preview_creative

Preview creatives before deployment.

sync_creatives

Synchronize creative assets with publisher platforms.

Supporting concepts

Creative protocol overview

The creative protocol: assets, formats, manifests, and creative agents.

Creative specification

Formal specification for the creative protocol.

Formats reference

Format definitions, technical specs, and the renders structure.

Asset types

Images, video, audio, HTML5, and native asset specifications.

Creative manifests

Manifest structure: how creative packages describe their contents.

Channel guides

Channel-specific specs for video, display, audio, DOOH, and carousels.

Broadcast TV

Broadcast formats, industry_identifiers[] (ad_id, isci, clearcast_clock), Ad-ID integration, and why broadcast formats omit tracker slots.

Generative creative

AI-generated creative workflows and best practices.

Accessibility

Accessibility standards for advertising creatives.

Provenance

AI creative provenance and disclosure requirements.

Implementing creative agents

Architecture guide for building creative agents.

Creative governance

Creative governance

Feature-based creative evaluation: security scanning, regulatory compliance, and content categorization.

get_creative_features

The evaluation task that scores creatives against governance features.

Content standards

Buyer-defined content rules that constrain what creatives can contain.

Provenance verification

How governance agents verify AI creative provenance metadata.

Connecting to the test agent

Lab exercises run against the public test agent. Use the shared token β€” no signup required. The creative module spans three agent surfaces; start with the ad server (the most common path) and switch URLs when an exercise calls for a different agent type.
export ADCP_AUTH_TOKEN="1v8tAhASaUYYp4odoQ1PnMpdqNaMiTrCRqYo9OJp6IQ"
export AGENT_URL="https://test-agent.adcontextprotocol.org/creative/mcp"
Agent surfaceURLUsed in
Creative ad serverhttps://test-agent.adcontextprotocol.org/creative/mcpExercises 2, 4
Stateless transformation / template agenthttps://test-agent.adcontextprotocol.org/creative-builder/mcpExercises 1, 5
Sales agent (push-and-preview)https://test-agent.adcontextprotocol.org/sales/mcpExercise 3
See the Quickstart for a walkthrough of your first call.

Lab exercises

Interaction models

  1. Stateless transformation β€” Connect to a template agent, discover its formats, preview a template with sample brand assets (inline), and build a serving tag. No sync_creatives β€” everything is passed in the call.
  2. Ad server workflow β€” Connect to a pre-loaded ad server, browse the creative library with list_creatives, generate tags for multiple media buys using build_creative, and check delivery metrics.
  3. Push-and-preview β€” Connect to a sales agent, discover its accepted formats, push catalog assets with sync_creatives, and preview how they render in the publisher’s environment.

Creative pricing

  1. Pricing lifecycle β€” Using the same sandbox ad server from exercise 2:
    • Establish an account with the ad server
    • list_creatives with account and include_pricing: true β€” observe pricing_options on each creative reflecting your rate card
    • Switch to a second sandbox account, list_creatives again β€” observe that pricing_options reflects a different rate (different CPM, model, or currency)
    • build_creative with account β€” examine pricing_option_id, vendor_cost, and consumption in the response
    • build_creative without account β€” observe the rejection error
    • Call report_usage with creative_id + pricing_option_id, verify the values match what build_creative returned
    • Explain: why is vendor_cost zero on a CPM-priced creative at build time?
  2. Transformation agent pricing β€” Using the sandbox transformation agent from exercise 1, with pricing enabled:
    • Establish an account with the transformation agent
    • list_creative_formats with account and include_pricing: true β€” observe pricing_options on each format (per-unit pricing)
    • build_creative with account β€” examine pricing_option_id, vendor_cost, and consumption (expect non-zero vendor_cost at build time, unlike the CPM ad server)
    • Compare: ad server discovers pricing on list_creatives, transformation agent discovers pricing on list_creative_formats. Ad server has zero build cost (CPM accrues at serve time), transformation agent has non-zero build cost (per-unit pricing)
Vendor pricing is consistent across protocolsAll vendor services use the same pattern: pricing_options[] on discovery responses, pricing_option_id in report_usage. Signals, content standards, creative agents, and property list agents all follow this.Vendors often offer multiple pricing options per creative β€” volume/commitment tiers (lower CPM at higher spend), context-specific rates (premium vs. standard placements), or different pricing models for different product lines (CPM for rich media, per-unit for social variants). The buyer selects the appropriate pricing_option_id and passes it in report_usage.

Cross-platform skills

  1. Format discovery β€” Query sandbox agents for supported formats, compare requirements across publishers
  2. Cross-platform adaptation β€” Adapt one concept across display, video, and native formats using build_creative with target_format_ids
  3. Compliance β€” Configure provenance metadata and disclosure requirements for AI-generated creatives
  4. Preview modes β€” Run preview_creative as request_type: "single", then "batch" (submit 5 creatives in one call and measure the speedup), then "variant" against a prior get_creative_delivery result. Compare output_format: "url" vs "html" for rendering latency.
  5. Tracker-slot audit β€” For each sandbox format, inspect the assets array and determine whether it supports third-party measurement. Explain why assigning a DoubleVerify pixel to a broadcast spot won’t work, and which billing_measurement vendor would instead.
  6. Broadcast identifiers β€” Build a broadcast manifest with distinct industry_identifiers[] for :15 and :30 cuts of the same spot. Verify the creative-identifier-type values and explain why each cut needs its own Ad-ID.

Assessment

DimensionWeightWhat Addie evaluates
Interaction models20%Correctly identifies and works with all three creative agent types
Cross-platform25%Adapts creatives across channels and formats
Compliance25%Configures disclosures, provenance, and regulatory requirements
Pricing and accounts15%Understands rate cards, reads pricing from list_creatives and list_creative_formats, interprets build costs, closes the report_usage loop
Analytical skill15%Interprets creative feature evaluation and delivery results
Passing threshold: 70%.

Start this module

Start S2 with Addie

β€œI’d like to start the creative specialist module.”