@adcp/client API Reference - v4.19.0
    Preparing search index...

    Interface CreativeFormat

    Creative format definition.

    Extends the official Format type from the schema with an additional agent_url field for convenience when working with creative agents.

    interface CreativeFormat {
        agent_url: string;
        format_id: FormatID;
        name: string;
        description?: string;
        example_url?: string;
        accepts_parameters?: FormatIDParameter[];
        renders?: ({ [k: string]: unknown } | { parameters_from_format_id: true })[];
        assets?: (
            | BaseIndividualAsset
            | {
                item_type: "repeatable_group";
                asset_group_id: string;
                required: boolean;
                min_count: number;
                max_count: number;
                selection_mode?: "sequential"
                | "optimize";
                assets: BaseGroupAsset[];
            }
        )[];
        delivery?: {};
        supported_macros?: string[];
        input_format_ids?: FormatID[];
        output_format_ids?: FormatID[];
        format_card?: { format_id: FormatID; manifest: {} };
        accessibility?: {
            wcag_level: WCAGLevel;
            requires_accessible_assets?: boolean;
        };
        supported_disclosure_positions?: DisclosurePosition[];
        disclosure_capabilities?: {
            position: DisclosurePosition;
            persistence: DisclosurePersistence[];
        }[];
        format_card_detailed?: { format_id: FormatID; manifest: {} };
        reported_metrics?: AvailableMetric[];
    }

    Hierarchy (View Summary)

    Index

    Properties

    agent_url: string

    Base URL of the creative agent that provides this format

    format_id: FormatID
    name: string

    Human-readable format name

    description?: string

    Plain text explanation of what this format does and what assets it requires

    example_url?: string

    Optional URL to showcase page with examples and interactive demos of this format

    accepts_parameters?: FormatIDParameter[]

    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.

    renders?: ({ [k: string]: unknown } | { parameters_from_format_id: true })[]

    Specification 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.

    assets?: (
        | BaseIndividualAsset
        | {
            item_type: "repeatable_group";
            asset_group_id: string;
            required: boolean;
            min_count: number;
            max_count: number;
            selection_mode?: "sequential"
            | "optimize";
            assets: BaseGroupAsset[];
        }
    )[]

    Array 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.

    Type Declaration

    • BaseIndividualAsset
    • {
          item_type: "repeatable_group";
          asset_group_id: string;
          required: boolean;
          min_count: number;
          max_count: number;
          selection_mode?: "sequential" | "optimize";
          assets: BaseGroupAsset[];
      }
      • item_type: "repeatable_group"

        Discriminator indicating this is a repeatable asset group

      • asset_group_id: string

        Identifier for this asset group (e.g., 'product', 'slide', 'card')

      • required: boolean

        Whether this asset group is required. If true, at least min_count repetitions must be provided.

      • min_count: number

        Minimum number of repetitions required (if group is required) or allowed (if optional)

      • max_count: number

        Maximum number of repetitions allowed

      • Optionalselection_mode?: "sequential" | "optimize"

        How the platform uses repetitions of this group. 'sequential' means all items display in order (carousels, playlists). 'optimize' means the platform selects the best-performing combination from alternatives (asset group optimization like Meta Advantage+ or Google Pmax).

      • assets: BaseGroupAsset[]

        Assets within each repetition of this group

    delivery?: {}

    Delivery method specifications (e.g., hosted, VAST, third-party tags)

    supported_macros?: string[]

    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.

    input_format_ids?: FormatID[]

    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. Omit for formats that work from raw assets (images, text, etc.) rather than existing creatives.

    output_format_ids?: FormatID[]

    Array of format IDs that this format can produce as output. When present, indicates this format can build creatives in these output formats (e.g., a multi-publisher template format might produce standard display formats across many publishers). Omit for formats that produce a single fixed output (the format itself).

    format_card?: { format_id: FormatID; manifest: {} }

    Optional standard visual card (300x400px) for displaying this format in user interfaces. Can be rendered via preview_creative or pre-generated.

    Type Declaration

    • format_id: FormatID
    • manifest: {}

      Asset manifest for rendering the card, structure defined by the format

    accessibility?: { wcag_level: WCAGLevel; requires_accessible_assets?: boolean }

    Accessibility posture of this format. Declares the WCAG conformance level that creatives produced by this format will meet.

    Type Declaration

    • wcag_level: WCAGLevel
    • Optionalrequires_accessible_assets?: boolean

      When 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.

    supported_disclosure_positions?: DisclosurePosition[]

    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.

    disclosure_capabilities?: {
        position: DisclosurePosition;
        persistence: DisclosurePersistence[];
    }[]

    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.

    Type Declaration

    • position: DisclosurePosition
    • persistence: DisclosurePersistence[]

      Persistence modes this position supports

    format_card_detailed?: { format_id: FormatID; manifest: {} }

    Optional detailed card with carousel and full specifications. Provides rich format documentation similar to ad spec pages.

    Type Declaration

    • format_id: FormatID
    • manifest: {}

      Asset manifest for rendering the detailed card, structure defined by the format

    reported_metrics?: AvailableMetric[]

    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.