Creative Formats
Creative formats define the structure, requirements, and delivery methods for advertising creatives. Each format specifies what assets are needed, their technical requirements, and how they should be assembled. For an overview of how formats, manifests, and creative agents work together, see the Creative Protocol Overview.Standard vs Custom Formats
AdCP defines two categories of formats:Standard Formats
Pre-defined, industry-standard specifications provided by the AdCP Reference Creative Agent (https://creative.adcontextprotocol.org):
- Simplified: No platform-specific complexity
- Portable: One creative works everywhere
- Validated: Pre-tested IAB specifications
- Discoverable: Available via
list_creative_formats - Maintained: Centrally hosted and updated
https://creative.adcontextprotocol.org. See Implementing Standard Format Support for detailed guidance.
Custom Formats
Publisher-specific formats for unique inventory that doesn’t match standard specifications:- Unique requirements: Custom dimensions, special asset needs, or unique technical specs
- Specialized capabilities: Platform-specific features not available in standard formats
- Premium experiences: Differentiated ad products like takeovers, rich media, or immersive units
- Custom validation: Publisher-specific creative review or assembly logic
Discovering Formats
Buyers discover available formats using thelist_creative_formats task, which returns formats supported by a sales agent.
Formats can come from two sources:
- Directly from the sales agent - Custom formats defined by the publisher
- Referenced creative agents - The sales agent points to other creative agents (like the reference agent) for additional format support
Format Authority
Each format includes anagent_url field pointing to its authoritative source:
- Complete format specifications
- Asset validation rules
- Preview generation
- Format documentation
Format Visual Presentation
Formats include two optional fields for visual presentation in format browsing UIs:Preview Image
Field:preview_image
Purpose: Thumbnail/card image for format browsing
Specifications:
- Dimensions: 400×300px (4:3 aspect ratio)
- Format: PNG or JPG
- Use case: Quick visual identification in format lists/grids
Example Showcase
Field:example_url
Purpose: Link to full interactive demo/showcase page
Content: Publisher-controlled page showing:
- Video walkthroughs of the format
- Interactive demos
- Multiple creative examples
- Technical specifications
- Best practices
- Publishers control how to best showcase complex formats
- No schema limitations on presentation methods
- Handles video, interactive demos, DOOH installations, etc.
- Structured card (preview_image) + deep link (example_url) pattern
Referencing Formats
CRITICAL: AdCP uses structured format ID objects everywhere to avoid parsing ambiguity and handle namespace collisions.Structured Format IDs (Required Everywhere)
ALL format references use structured format ID objects:- No parsing needed: Components are explicit
- Unambiguous: Clear separation of namespace and identifier
- Handles collisions: Same format ID from different agents are distinct
- No exceptions: Simpler mental model - one format_id pattern everywhere
- Validation-friendly: Easy to validate with JSON Schema
- Extensible: Can add version or other metadata later
Where Structured Format IDs Are Used
Requests:sync_creatives- Uploading creative assetsbuild_creative- Generating creatives via creative agentspreview_creative- Preview generationcreate_media_buy- When specifying format requirements
list_creatives- Returning creative detailsget_products- Product format capabilitieslist_creative_formats- Format definitions- Any response containing creative or format details
format_ids(plural) in request filters - Array of structured format_id objects
Validation Rules
All AdCP agents MUST:- ✅ Accept structured
format_idobjects in ALL contexts - ✅ Return structured
format_idobjects in ALL responses - ❌ Reject string format_ids with clear error messages
- ❌ Never use string format_ids in any API contract
Legacy Considerations
Some legacy systems may send string format_ids. Implementers have two options:- Strict validation (recommended): Reject strings immediately with clear error
- Auto-upgrade with deprecation: Accept strings temporarily, log warnings, set removal timeline
- Only accept strings for well-known formats you can map to agent URLs
- Fail loudly for unknown format strings
- Log deprecation warnings on every request
- Set and communicate a removal date (recommend 6 months maximum)
Format Structure
Formats are JSON objects with the following key fields:- format_id: Unique identifier (may be namespaced with
domain:id) - agent_url: The creative agent authoritative for this format
- type: Category (video, display, audio, native, dooh, rich_media)
- assets_required: Array of asset specifications
- asset_role: Identifies asset purpose (hero_image, logo, cta_button, etc.)
- renders: Array of rendered outputs with dimensions - see below
Rendered Outputs and Dimensions
Formats specify their rendered outputs via therenders array. Most formats produce a single render, but some (companion ads, adaptive formats, multi-placement) produce multiple renders:
- Supports single and multi-render formats uniformly
- No string parsing required - structured dimensions
- Schema-validated dimensions
- Supports responsive and fixed formats equally
- Enables proper preview rendering
- Allows dimension-based filtering
- Supports physical units for DOOH
- Clear semantic roles for each rendered piece
Format Categories
AdCP supports formats across multiple media types:Video Formats
- Standard video (15s, 30s, 60s)
- Vertical video for mobile/stories
- VAST/VPAID tags
- Interactive video
Display Formats
- Standard IAB sizes (300x250, 728x90, etc.)
- Responsive units
- Rich media and expandable
- HTML5 creative
Audio Formats
- Streaming audio (15s, 30s, 60s)
- Podcast insertion
- Companion banners
- VAST audio tags
DOOH Formats
- Digital billboards
- Transit displays
- Retail screens
- Venue-based impression tracking
Carousel/Multi-Asset Formats
- Product carousels (3-10 items)
- Story sequences
- Slideshow formats
- Frame-based structures
Multi-Asset & Frame-Based Formats
Some formats like carousels, slideshows, and stories use repeatable asset groups where each frame contains a collection of assets. See the Carousel & Multi-Asset Formats guide for complete documentation on frame-based format patterns.Format Cards
Format cards provide visual representations of creative formats for display in browsing and selection interfaces. Creative agents can optionally include card definitions that reference card formats and provide the assets needed to render attractive visual cards.Card Types
Creative agents should provide at least the standard card, and optionally a detailed card: Standard Card (format_card):
- Compact 300x400px card for format browsing
- Supports 2x density images for retina displays
- Quick visual understanding of format specs
format_card_detailed, optional):
- Responsive layout with text description alongside hero carousel showing format in context
- Markdown specifications section below
- Full format documentation similar to Yahoo’s ad specs
Structure
Rendering Cards
Cards can be rendered in two ways:- Via
preview_creative: Pass the card format and manifest to generate a rendered card - Pre-rendered: Creative agents can pre-generate cards and serve them directly
Standard Card Formats
The AdCP reference creative agent defines two standard card formats:format_card_standard(300x400px) - Compact card for format browsingformat_card_detailed(responsive) - Rich card with carousel and full specs
When to Include Format Cards
Format cards are optional but recommended for:- Visual formats (display, video, DOOH) where mockups help explain the format
- Complex formats with multiple asset requirements
- Custom formats that differ from standard specifications
- Formats where visual preview aids buyer understanding
Client Rendering Guidelines
When displaying formats in UIs, clients should follow this fallback order:- If
format_cardexists → Render card viapreview_creativeor display pre-rendered image - If only
preview_imageexists → Display static image (deprecated but supported) - If neither exists → Render text-only representation (format name + description)
- If card rendering fails → Gracefully fall back to text-only representation
Related Documentation
- Creative Protocol Overview - How formats, manifests, and agents work together
- Creative Manifests - Pairing assets with formats
- Asset Types - Understanding asset specifications
- Channel Guides - Detailed format documentation by media type
- Implementing Standard Format Support - For sales agents
- list_creative_formats Task - API reference for format discovery