@adcp/client API Reference - v3.11.2
    Preparing search index...

    Interface Artifact

    Content artifact for safety and suitability evaluation. An artifact represents content adjacent to an ad placement - a news article, podcast segment, video chapter, or social post. Artifacts are collections of assets (text, images, video, audio) plus metadata and signals.

    interface Artifact {
        property_id: Identifier;
        artifact_id: string;
        variant_id?: string;
        format_id?: FormatID;
        url?: string;
        published_time?: string;
        last_update_time?: string;
        assets: (
            | {
                type: "text";
                role?: | "description"
                | "title"
                | "paragraph"
                | "heading"
                | "caption"
                | "quote"
                | "list_item";
                content: string;
                language?: string;
                heading_level?: number;
            }
            | {
                type: "image";
                url: string;
                access?: AssetAccess;
                alt_text?: string;
                caption?: string;
                width?: number;
                height?: number;
            }
            | {
                type: "video";
                url: string;
                access?: AssetAccess1;
                duration_ms?: number;
                transcript?: string;
                transcript_source?: | "original_script"
                | "subtitles"
                | "closed_captions"
                | "dub"
                | "generated";
                thumbnail_url?: string;
            }
            | {
                type: "audio";
                url: string;
                access?: AssetAccess2;
                duration_ms?: number;
                transcript?: string;
                transcript_source?: "original_script"
                | "closed_captions"
                | "generated";
            }
        )[];
        metadata?: {
            canonical?: string;
            author?: string;
            keywords?: string;
            open_graph?: { [k: string]: unknown };
            twitter_card?: { [k: string]: unknown };
            json_ld?: {}[];
            [k: string]: unknown;
        };
        identifiers?: {
            apple_podcast_id?: string;
            spotify_show_id?: string;
            podcast_guid?: string;
            youtube_video_id?: string;
            rss_url?: string;
            [k: string]: unknown;
        };
        [k: string]: unknown;
    }

    Indexable

    • [k: string]: unknown
    Index

    Properties

    property_id: Identifier
    artifact_id: string

    Identifier for this artifact within the property. The property owner defines the scheme (e.g., 'article_12345', 'episode_42_segment_3', 'post_abc123').

    variant_id?: string

    Identifies a specific variant of this artifact. Use for A/B tests, translations, or temporal versions. Examples: 'en', 'es-MX', 'v2', 'headline_test_b'. The combination of artifact_id + variant_id must be unique.

    format_id?: FormatID
    url?: string

    Optional URL for this artifact (web page, podcast feed, video page). Not all artifacts have URLs (e.g., Instagram content, podcast segments, TV scenes).

    published_time?: string

    When the artifact was published (ISO 8601 format)

    last_update_time?: string

    When the artifact was last modified (ISO 8601 format)

    assets: (
        | {
            type: "text";
            role?: | "description"
            | "title"
            | "paragraph"
            | "heading"
            | "caption"
            | "quote"
            | "list_item";
            content: string;
            language?: string;
            heading_level?: number;
        }
        | {
            type: "image";
            url: string;
            access?: AssetAccess;
            alt_text?: string;
            caption?: string;
            width?: number;
            height?: number;
        }
        | {
            type: "video";
            url: string;
            access?: AssetAccess1;
            duration_ms?: number;
            transcript?: string;
            transcript_source?: | "original_script"
            | "subtitles"
            | "closed_captions"
            | "dub"
            | "generated";
            thumbnail_url?: string;
        }
        | {
            type: "audio";
            url: string;
            access?: AssetAccess2;
            duration_ms?: number;
            transcript?: string;
            transcript_source?: "original_script"
            | "closed_captions"
            | "generated";
        }
    )[]

    Artifact assets in document flow order - text blocks, images, video, audio

    Type Declaration

    • {
          type: "text";
          role?:
              | "description"
              | "title"
              | "paragraph"
              | "heading"
              | "caption"
              | "quote"
              | "list_item";
          content: string;
          language?: string;
          heading_level?: number;
      }
      • type: "text"
      • Optionalrole?:
            | "description"
            | "title"
            | "paragraph"
            | "heading"
            | "caption"
            | "quote"
            | "list_item"

        Role of this text in the document. Use 'title' for the main artifact title, 'description' for summaries.

      • content: string

        Text content

      • Optionallanguage?: string

        BCP 47 language tag for this text (e.g., 'en', 'es-MX'). Useful when artifact contains mixed-language content.

      • Optionalheading_level?: number

        Heading level (1-6), only for role=heading

    • {
          type: "image";
          url: string;
          access?: AssetAccess;
          alt_text?: string;
          caption?: string;
          width?: number;
          height?: number;
      }
      • type: "image"
      • url: string

        Image URL

      • Optionalaccess?: AssetAccess
      • Optionalalt_text?: string

        Alt text or image description

      • Optionalcaption?: string

        Image caption

      • Optionalwidth?: number

        Image width in pixels

      • Optionalheight?: number

        Image height in pixels

    • {
          type: "video";
          url: string;
          access?: AssetAccess1;
          duration_ms?: number;
          transcript?: string;
          transcript_source?:
              | "original_script"
              | "subtitles"
              | "closed_captions"
              | "dub"
              | "generated";
          thumbnail_url?: string;
      }
      • type: "video"
      • url: string

        Video URL

      • Optionalaccess?: AssetAccess1
      • Optionalduration_ms?: number

        Video duration in milliseconds

      • Optionaltranscript?: string

        Video transcript

      • Optionaltranscript_source?: "original_script" | "subtitles" | "closed_captions" | "dub" | "generated"

        How the transcript was generated

      • Optionalthumbnail_url?: string

        Video thumbnail URL

    • {
          type: "audio";
          url: string;
          access?: AssetAccess2;
          duration_ms?: number;
          transcript?: string;
          transcript_source?: "original_script" | "closed_captions" | "generated";
      }
      • type: "audio"
      • url: string

        Audio URL

      • Optionalaccess?: AssetAccess2
      • Optionalduration_ms?: number

        Audio duration in milliseconds

      • Optionaltranscript?: string

        Audio transcript

      • Optionaltranscript_source?: "original_script" | "closed_captions" | "generated"

        How the transcript was generated

    metadata?: {
        canonical?: string;
        author?: string;
        keywords?: string;
        open_graph?: { [k: string]: unknown };
        twitter_card?: { [k: string]: unknown };
        json_ld?: {}[];
        [k: string]: unknown;
    }

    Rich metadata extracted from the artifact

    Type Declaration

    • [k: string]: unknown
    • Optionalcanonical?: string

      Canonical URL

    • Optionalauthor?: string

      Artifact author name

    • Optionalkeywords?: string

      Artifact keywords

    • Optionalopen_graph?: { [k: string]: unknown }

      Open Graph protocol metadata

    • Optionaltwitter_card?: { [k: string]: unknown }

      Twitter Card metadata

    • Optionaljson_ld?: {}[]

      JSON-LD structured data (schema.org)

    identifiers?: {
        apple_podcast_id?: string;
        spotify_show_id?: string;
        podcast_guid?: string;
        youtube_video_id?: string;
        rss_url?: string;
        [k: string]: unknown;
    }

    Platform-specific identifiers for this artifact

    Type Declaration

    • [k: string]: unknown
    • Optionalapple_podcast_id?: string

      Apple Podcasts ID

    • Optionalspotify_show_id?: string

      Spotify show ID

    • Optionalpodcast_guid?: string

      Podcast GUID (from RSS feed)

    • Optionalyoutube_video_id?: string

      YouTube video ID

    • Optionalrss_url?: string

      RSS feed URL