Asset Types
Creative formats in AdCP use standardized asset types with well-defined properties. This ensures consistency across formats and makes it easier for buyers to understand requirements.Important: Payload vs Requirements
This document describes format requirements (constraints and specifications defined in format specs). For payload schemas (the structure of actual asset data you send in creative manifests), see:- Asset Type Registry - Links to all payload schemas
- Core Asset Schemas at
/schemas/v1/core/assets/- Individual asset payload definitions
- Format requirements (this doc):
max_file_size_mb,required: true/false,acceptable_formats, duration constraints - Payload schemas (schemas):
url,width,height,content,duration_ms,format
requirements field. Asset payloads use the core schemas.
Asset Type Schema
The official JSON schema for asset types is available at:- Production: https://adcontextprotocol.org/schemas/asset-types-v1.json
- GitHub: https://github.com/adcontextprotocol/adcp/blob/main/static/schemas/asset-types-v1.json
Core Asset Types
Video Asset
Video assets represent video files with specific technical requirements.duration_seconds: Expected video durationmin_duration_seconds/max_duration_seconds: Duration range (if flexible)acceptable_formats: Container formats (mp4, webm, mov)acceptable_codecs: Video codecs (h264, h265, vp8, vp9, av1)acceptable_resolutions: List of width x height stringsaspect_ratio: Required aspect ratio (16:9, 9:16, 1:1, etc.)max_file_size_mb: Maximum file size in megabytesmin_bitrate_mbps/max_bitrate_mbps: Bitrate range in Mbpsfeatures: Additional requirements (e.g., [“non-skippable”, “sound on”])
Image Asset
Static image assets for banners, logos, and visual content.width/height: Dimensions in pixelsmin_width/min_height: Minimum dimensions (px; typically used by responsive/sizeless formats)aspect_ratio: Required aspect ratioacceptable_formats: Image formats (jpg, png, gif, webp, svg)max_file_size_kb: Maximum file size in kilobytestransparency: Whether transparency is required/supportedanimation_allowed: Whether animated GIFs are acceptednotes: Additional requirements (e.g., “Must be free of text”)
- Fixed layout: provide
widthandheight. Do not includemin_width,min_height, oraspect_ratio. - Responsive (fixed image aspect ratio): provide
min_width,min_heightandaspect_ratio. Do not includewidthorheight. - Responsive (any image aspect ratio): provide
min_widthandmin_heightonly. Do not includewidth,height, oraspect_ratio.
width and height. In responsive layouts, the renderer will resize the image; use min_width/min_height to ensure there are enough pixels for a sharp result after scaling. Use aspect_ratio only when the image asset itself must be a specific shape (e.g., 16:9); omit it if any image aspect ratio is acceptable
Text Asset
Text content for headlines, descriptions, CTAs, etc.text_type: Specific type (title, headline, description, body, cta, advertiser_name, disclaimer)max_length: Maximum character countmin_length: Minimum character countdefault: Default value if not providedallowed_characters: Regex pattern for validationformat: Expected format (plain, currency, percentage)
URL Asset
Links for clickthroughs, tracking, and landing pages.url_type: Whether the URL is for human interaction (used only in format requirements):clickthrough- User clicks this URL (may redirect through ad tech platforms before reaching destination)tracker- Fires in background (returns 1x1 pixel, JavaScript snippet, or 204 No Content)
must_be_https: Whether HTTPS is requiredallowed_domains: List of allowed domains (if restricted)tracking_macros_supported: Whether URL macros are supported
url_type field is only used in format requirements to specify how the URL will be used. When providing URLs in creative manifests, you only need to supply the url value - the asset_id already indicates the semantic purpose (e.g., impression_tracker, video_start_tracker, landing_url).
Audio Asset
Audio files for audio ads and podcasts.duration_seconds: Expected durationacceptable_formats: Audio formats (mp3, m4a, aac, ogg)min_bitrate_kbps: Minimum bitrate in kilobits per secondmax_file_size_mb: Maximum file size in megabytesstereo_required: Whether stereo audio is required
HTML Asset
HTML5 creative assets for rich media formats and third-party display tags.content: Inline HTML contenturl: URL to externally hosted HTML file (alternative to inline content)format: HTML format type (html5, amphtml)max_initial_load_kb: Maximum initial load sizemax_total_size_kb: Maximum total size including all assetsallowed_features: Allowed HTML5 featuresrestricted_features: Features that must not be used
VAST Asset
VAST (Video Ad Serving Template) tags for third-party video ad serving. URL Delivery:delivery_type: “url” or “inline” (required discriminator)url: URL endpoint that returns VAST XML (required when delivery_type is “url”)content: Inline VAST XML content (required when delivery_type is “inline”)vast_version: VAST specification version (2.0, 3.0, 4.0, 4.1, 4.2)vpaid_enabled: Whether VPAID (Video Player-Ad Interface Definition) is supportedmax_wrapper_depth: Maximum allowed wrapper/redirect depthduration_ms: Expected video duration in milliseconds (if known)tracking_events: Array of supported tracking events
- Third-party video ad servers
- Programmatic video buying
- Video ad networks
- VPAID interactive video ads
DAAST Asset
DAAST (Digital Audio Ad Serving Template) tags for third-party audio ad serving. URL Delivery:delivery_type: “url” or “inline” (required discriminator)url: URL endpoint that returns DAAST XML (required when delivery_type is “url”)content: Inline DAAST XML content (required when delivery_type is “inline”)daast_version: DAAST specification version (1.0, 1.1)duration_ms: Expected audio duration in milliseconds (if known)tracking_events: Array of supported tracking eventscompanion_ads: Whether companion display ads are included
- Third-party audio ad servers
- Podcast advertising networks
- Streaming audio platforms
- Radio-style digital audio ads
Common Properties
All asset types share these common properties:asset_id: Unique identifier for this asset within the format (e.g., “hero_image”, “video_file”, “headline”)asset_type: The type of asset (image, video, audio, text, html, css, javascript, vast, daast, url, promoted_offerings)asset_role: Semantic purpose of the asset (e.g., “hero_video”, “logo”, “cta_button”)required: Boolean indicating if the asset is mandatory
Asset ID vs Asset Role
asset_id: A unique identifier for this asset within the format specification. Used as the key when constructing manifests.
asset_role: Describes the semantic purpose or function of the asset in the creative. Helps buyers, AI systems, and publishers understand what the asset is for.
Example:
asset_id= “main_video” (the unique identifier for manifests)asset_role= “hero_video” (indicates this is the primary video content)
hero_image/hero_video- Primary visual contentlogo- Brand logoheadline- Main headline textdescription- Body copy or description textcta_button- Call-to-action buttonbackground_image- Background visualthumbnail- Preview imagecompanion_banner- Secondary display ad
Asset ID Usage
Theasset_id field is crucial for orchestrators and creative management systems. It provides a stable identifier for mapping uploaded assets to their correct positions in the creative format.
Example: Uploading Assets
When submitting creative assets, the orchestrator usesasset_id to map files:
asset_id values defined in the format.
Usage in Creative Formats
Creative formats specify their required assets using these standardized types:Repeatable Asset Groups
For formats with asset sequences (like carousels, slideshows, stories), see the Carousel & Multi-Asset Formats guide for complete documentation on repeatable asset group patterns.Validation
Implementations should validate assets against these schemas to ensure compatibility. The JSON schema can be used for automated validation:Best Practices
- Be Specific: Use exact values rather than ranges when possible
- Include All Constraints: Document all technical requirements upfront
- Use Standard Units:
- File sizes: MB for video/audio, KB for images
- Bitrates: Mbps for video, Kbps for audio
- Durations: seconds
- Dimensions: pixels
- Provide Reasonable Limits: Balance quality with file size constraints
- Document Edge Cases: Use the
notesfield for special requirements