Documentation Index
Fetch the complete documentation index at: https://docs.adcontextprotocol.org/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.
Specialisms this track prepares you to validate
The followingspecialisms fall under the creative domain. Each has its own compliance storyboard — see the Compliance Catalog for the full taxonomy.
| Specialism | Status | What it covers |
|---|---|---|
creative-ad-server | stable | Creative ad server with tag-based delivery |
creative-generative | stable | Generative creative agent producing assets on demand |
creative-template | stable | Creative 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
- Author against AdCP canonical formats: read
format_options[], choose the rightformat_kind, mapasset_source, and explain how a product narrows the canonical contract - Use
preview_creativein all three request modes — single, batch (5–10× faster for many creatives), and variant (retrieve historical renders fromget_creative_delivery) — and chooseoutput_format: "html"when bypassing the iframe speeds rendering - Understand creative agent pricing: the
pricing_options[]array on discovery responses, howpricing_option_idflows throughbuild_creativeandreport_usage, and why CPM ad servers show zerovendor_costat build time while transformation agents do not - Reason about tracker-slot presence — a format supports third-party measurement only if its
assetsarray declares a tracker slot (e.g.,impression_tracker). Broadcast formats intentionally omit tracker slots; measurement comes from panel and STB data viabilling_measurement - Attach
industry_identifiers[]to broadcast manifests with the correctcreative-identifier-type(ad_id,isci,clearcast_clock), and give each cut (:15vs: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.
Canonical formats
AdCP-defined format archetypes, product-level
format_options[], and asset-source taxonomy.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.| Agent surface | URL | Used in |
|---|---|---|
| Creative ad server | https://test-agent.adcontextprotocol.org/creative/mcp | Exercises 2, 4 |
| Stateless transformation / template agent | https://test-agent.adcontextprotocol.org/creative-builder/mcp | Exercises 1, 5 |
| Sales agent (push-and-preview) | https://test-agent.adcontextprotocol.org/sales/mcp | Exercises 3, 6 |
Canonical-format glossary
| Term | Definition |
|---|---|
| Canonical format | An AdCP-defined creative archetype such as image, video_hosted, or native_in_feed. Buyers validate the creative manifest against the canonical first. |
format_kind | The discriminator that names which canonical applies to a product format option. It controls creative shape, not delivery channel or targeting. |
format_options[] | Product-level declarations that narrow canonicals with sizes, slots, production source, and platform constraints. A product can offer one option or several alternatives. |
format_option_id | Stable identifier for a product or publisher-catalog option. Select it when the product publishes one; do not substitute creative-agent capability IDs in media-buy products or creative manifests. |
v1_format_ref[] | Legacy creative-format references attached to a canonical option. One option can point to one existing format or fan out to several size-specific formats. |
capability_id | Creative-agent build capability selector on creative.supported_formats. It chooses a build_creative path and is separate from product-level format_option_id. |
asset_source | Declares who renders the asset bytes for image, video_hosted, and audio_hosted: buyer_uploaded, publisher_host_recorded, seller_pre_rendered_from_brief, seller_human_designed, or agent_synthesized. |
| Manifest asset map | The slot-by-slot mapping from the selected format option’s requirements to the creative manifest assets, including which inputs the buyer provides and which assets are seller-, publisher-, or agent-produced. |
Lab exercises
Interaction models
- 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. - Ad server workflow — Connect to a pre-loaded ad server, browse the creative library with
list_creatives, generate tags for multiple media buys usingbuild_creative, and check delivery metrics. - 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
-
Pricing lifecycle — Using the same sandbox ad server from exercise 2:
- Establish an account with the ad server
list_creativeswithaccountandinclude_pricing: true— observepricing_optionson each creative reflecting your rate card- Switch to a second sandbox account,
list_creativesagain — observe thatpricing_optionsreflects a different rate (different CPM, model, or currency) build_creativewithaccount— examinepricing_option_id,vendor_cost, andconsumptionin the responsebuild_creativewithoutaccount— observe the rejection error- Call
report_usagewithcreative_id+pricing_option_id, verify the values match whatbuild_creativereturned - Explain: why is
vendor_costzero on a CPM-priced creative at build time?
-
Transformation agent pricing — Using the sandbox transformation agent from exercise 1, with pricing enabled:
- Establish an account with the transformation agent
list_creative_formatswithaccountandinclude_pricing: true— observepricing_optionson each format (per-unit pricing)build_creativewithaccount— examinepricing_option_id,vendor_cost, andconsumption(expect non-zerovendor_costat build time, unlike the CPM ad server)- Compare: ad server discovers pricing on
list_creatives, transformation agent discovers pricing onlist_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.Canonical formats
- Canonical-formats authoring — Using the validated reference fixtures in
static/examples/products/canonical/: the multi-format display fixture (nytimes_homepage_mrec.json) and the generative video fixture (veo_generative_video_15s.json):- Read each product’s
format_options[]and identify every availableformat_kind - Select
format_option_idwhen the product publishes one, and explain why a single-option product may not expose a separate selector - Explain why a creative-agent
capability_idis not a substitute for a media-buy product’sformat_option_id - Write the manifest asset map implied by the selected option’s slots, including when the buyer ships rendered assets and when the buyer ships a brief, video brief, or structured object
- Explain single-option vs multi-option products: when one product accepts several canonical alternatives, and when one option fans out to several sizes through
v1_format_ref[] - Explain why the seller validates against the canonical shape first and the product’s narrowing second, while the creative agent’s own capability can only narrow what it promises to produce
- Read each product’s
Cross-platform skills
- Format discovery — Query sandbox agents for supported formats, compare requirements across publishers
- Cross-platform adaptation — Adapt one concept across display, video, and native formats using
build_creativewithtarget_format_ids - Compliance — Configure provenance metadata and disclosure requirements for AI-generated creatives
- Preview modes — Run
preview_creativeasrequest_type: "single", then"batch"(submit 5 creatives in one call and measure the speedup), then"variant"against a priorget_creative_deliveryresult. Compareoutput_format: "url"vs"html"for rendering latency. - Tracker-slot audit — For each sandbox format, inspect the
assetsarray and determine whether it supports third-party measurement. Explain why assigning a DoubleVerify pixel to a broadcast spot won’t work, and whichbilling_measurementvendor would instead. - Broadcast identifiers — Build a broadcast manifest with distinct
industry_identifiers[]for:15and:30cuts of the same spot. Verify thecreative-identifier-typevalues and explain why each cut needs its own Ad-ID.
Assessment
| Dimension | Weight | What Addie evaluates |
|---|---|---|
| Interaction models | 20% | Correctly identifies and works with all three creative agent types |
| Cross-platform adaptation | 15% | Adapts creatives across display, video, native, preview, measurement, and broadcast workflows |
| Canonical formats | 10% | Reads format_options[], selects format_kind and format_option_id, explains single-option, multi-option, and v1_format_ref[] fan-out cardinality, maps asset_source values to buyer-provided, agent-synthesized, seller-rendered, seller-designed, and publisher-hosted workflows, and explains canonical-first/product-second validation order |
| Compliance | 25% | Configures disclosures, provenance, and regulatory requirements |
| Pricing and accounts | 15% | Understands rate cards, reads pricing from list_creatives and list_creative_formats, interprets build costs, closes the report_usage loop |
| Analytical skill | 15% | Interprets creative feature evaluation and delivery results |
Start this module
Start S2 with Addie
“I’d like to start the creative specialist module.”