Human-readable format name
OptionaldescriptionPlain text explanation of what this format does and what assets it requires
Optionalexample_Optional URL to showcase page with examples and interactive demos of this format
Optionalaccepts_List of parameters this format accepts in format_id. Template formats define which parameters (dimensions, duration, etc.) can be specified when instantiating the format. Empty or omitted means this is a concrete format with fixed parameters.
OptionalrendersSpecification of rendered pieces for this format. Most formats produce a single render. Companion ad formats (video + banner), adaptive formats, and multi-placement formats produce multiple renders. Each render specifies its role and dimensions.
Semantic role of this rendered piece (e.g., 'primary', 'companion', 'mobile_variant')
Dimensions for this rendered piece. Defaults to pixels when unit is absent.
Optionalwidth?: numberFixed width. Interpretation depends on unit (default: pixels).
Optionalheight?: numberFixed height. Interpretation depends on unit (default: pixels).
Optionalmin_width?: numberMinimum width for responsive renders
Optionalmin_height?: numberMinimum height for responsive renders
Optionalmax_width?: numberMaximum width for responsive renders
Optionalmax_height?: numberMaximum height for responsive renders
Optionalunit?: DimensionUnitOptionalresponsive?: { width: boolean; height: boolean }Indicates which dimensions are responsive/fluid
Optionalaspect_ratio?: stringFixed aspect ratio constraint (e.g., '16:9', '4:3', '1:1', '1.91:1')
Semantic role of this rendered piece (e.g., 'primary', 'companion', 'mobile_variant')
OptionalassetsArray of all assets supported for this format. Each asset is identified by its asset_id, which must be used as the key in creative manifests. Use the 'required' boolean on each asset to indicate whether it's mandatory.
OptionaldeliveryDelivery method specifications (e.g., hosted, VAST, third-party tags)
Optionalsupported_List of universal macros supported by this format (e.g., MEDIA_BUY_ID, CACHEBUSTER, DEVICE_ID). Used for validation and developer tooling. See docs/creative/universal-macros.mdx for full documentation.
Optionalinput_DEPRECATED in 3.1. Removed at 4.0. Use list_transformers instead — a transformer declares its own input_format_ids/output_format_ids, so build capability is a property of the transformer (the unit you select and that carries pricing), not a relationship hung on a format. Discover build capability via list_transformers (optionally filtered by input_format_ids/output_format_ids).
Migration: sellers that expressed transform capability by hanging input_format_ids on a format SHOULD declare a transformer via list_transformers instead. Buyers SHOULD discover build capability via list_transformers rather than filtering formats.
Legacy behavior, retained for 3.1–3.x backward compatibility: array of format IDs this format accepts as input creative manifests; when present, indicates this format can take existing creatives in these formats as input. SDKs reading 3.1 catalogs MUST continue to honor this field when present; 4.0+ SDKs MAY reject it. New code SHOULD NOT emit this field.
Optionaloutput_DEPRECATED in 3.1. Removed at 4.0. Use list_transformers instead — a transformer declares its own output_format_ids, so what a builder can produce is a property of the transformer, not a relationship hung on a format. Discover via list_transformers.
Migration: sellers that expressed multi-output build capability (e.g. a multi-publisher template) by hanging output_format_ids on a format SHOULD declare a transformer via list_transformers instead.
Legacy behavior, retained for 3.1–3.x backward compatibility: array of format IDs this format can produce as output; when present, indicates this format can build creatives in these output formats. SDKs reading 3.1 catalogs MUST continue to honor this field when present; 4.0+ SDKs MAY reject it. New code SHOULD NOT emit this field.
Optionalformat_Optional standard visual card (300x400px) for displaying this format in user interfaces. Can be rendered via preview_creative or pre-generated.
Asset manifest for rendering the card, structure defined by the format
OptionalaccessibilityAccessibility posture of this format. Declares the WCAG conformance level that creatives produced by this format will meet.
Optionalrequires_accessible_assets?: booleanWhen true, all assets with x-accessibility fields must include those fields. For inspectable assets (image, video, audio), this means providing accessibility metadata like alt_text or captions. For opaque assets (HTML, JavaScript), this means providing self-declared accessibility properties.
Optionalsupported_Disclosure positions this format can render. Buyers use this to determine whether a format can satisfy their compliance requirements before submitting a creative. When omitted, the format makes no disclosure rendering guarantees — creative agents SHOULD treat this as incompatible with briefs that require specific disclosure positions. Values correspond to positions on creative-brief.json required_disclosures.
Optionaldisclosure_Structured disclosure capabilities per position with persistence modes. Declares which persistence behaviors each disclosure position supports, enabling persistence-aware matching against provenance render guidance and brief requirements. When present, supersedes supported_disclosure_positions for persistence-aware queries. The flat supported_disclosure_positions field is retained for backward compatibility. Each position MUST appear at most once; validators and agents SHOULD reject duplicates.
Persistence modes this position supports
Optionalformat_Optional detailed card with carousel and full specifications. Provides rich format documentation similar to ad spec pages.
Asset manifest for rendering the detailed card, structure defined by the format
Optionalreported_Metrics this format can produce in delivery reporting. Buyers receive the intersection of format reported_metrics and product available_metrics. If omitted, the format defers entirely to product-level metric declarations.
Optionalpricing_DEPRECATED in 3.1. Removed at 4.0. Use transformer.pricing_options (via list_transformers) instead — pricing belongs on the transformer (the unit selected and billed), exactly as it belongs on a media-buy product. Once formats only describe output shape, format-level pricing is vestigial.
Migration: transformation/generation agents that charged via format.pricing_options SHOULD move the same vendor-pricing-option entries onto the corresponding transformer. The applied option is echoed per-leaf on the build_creative response and reconciled via report_usage, unchanged.
Legacy behavior, retained for 3.1–3.x backward compatibility: pricing options for this format, used by transformation/generation agents that charge per format adapted, per image generated, or per unit of work; present when the request included include_pricing=true and account. SDKs reading 3.1 catalogs MUST continue to honor this field when present; 4.0+ SDKs MAY reject it. New code SHOULD NOT emit this field.
OptionalcanonicalOptionalcanonical_
Represents a creative format with its requirements