net.wireservice.component.embed

wireservice.net

Documentation

Embed component: external content (a web page, video, or social post) or an ATProto record, with a snapshot of its metadata taken when it was embedded. Renderers show the snapshot as a card and MAY upgrade it to an interactive player they recognize from the URL or record; the lexicon names no providers.

main object

Embed component: external content (a web page, video, or social post) or an ATProto record, with a snapshot of its metadata taken when it was embedded. Renderers show the snapshot as a card and MAY upgrade it to an interactive player they recognize from the URL or record; the lexicon names no providers.

Properties

accessibilityCaption string Optional

No description available.

maxLength: 20000 bytesmaxGraphemes: 2000 graphemes
authorName string Optional

Snapshot: who made it.

maxLength: 2000 bytesmaxGraphemes: 200 graphemes
description string Optional

Snapshot: a summary or excerpt (for a social post, its text).

maxLength: 10000 bytesmaxGraphemes: 1000 graphemes
explicitContent boolean Optional

No description available.

hidden boolean Optional

No description available.

identifier string Optional

No description available.

maxLength: 256 bytes
layout string Optional

No description available.

maxLength: 256 bytes
providerName string Optional

Snapshot: the site or service it came from.

maxLength: 1000 bytesmaxGraphemes: 100 graphemes
publishedAt string datetime Optional

Snapshot: when the embedded content was published.

record ref com.atproto.repo.strongRef Optional

The embedded ATProto record, when there is one (e.g. a Bluesky post). Lets renderers that understand the record type show it natively.

role string Optional

Deprecated. Renderers choose presentation from the URL or record; providers are not enumerated here.

maxLength: 64 bytes
Known values: web-video, tweet, instagram, facebook-post, tiktok
style string Optional

No description available.

maxLength: 256 bytes
thumbnail blob Optional

Snapshot: a preview image, copied so the embed survives the original going away.

maxSize: 1.0 MB
title string Optional

Snapshot: the embedded content’s title.

maxLength: 3000 bytesmaxGraphemes: 300 graphemes
url string uri Required

URL of the content to embed.

View raw schema
{
  "description": "Embed component: external content (a web page, video, or social post) or an ATProto record, with a snapshot of its metadata taken when it was embedded. Renderers show the snapshot as a card and MAY upgrade it to an interactive player they recognize from the URL or record; the lexicon names no providers.",
  "properties": {
    "accessibilityCaption": {
      "maxGraphemes": 2000,
      "maxLength": 20000,
      "type": "string"
    },
    "aspectRatio": {
      "description": "Aspect ratio for the embed frame, primarily for web video embeds.",
      "ref": "net.wireservice.defs#aspectRatio",
      "type": "ref"
    },
    "authorName": {
      "description": "Snapshot: who made it.",
      "maxGraphemes": 200,
      "maxLength": 2000,
      "type": "string"
    },
    "caption": {
      "description": "Visible caption as an array of text runs with optional formatting marks.",
      "items": {
        "ref": "net.wireservice.defs#textRun",
        "type": "ref"
      },
      "type": "array"
    },
    "description": {
      "description": "Snapshot: a summary or excerpt (for a social post, its text).",
      "maxGraphemes": 1000,
      "maxLength": 10000,
      "type": "string"
    },
    "explicitContent": {
      "type": "boolean"
    },
    "hidden": {
      "type": "boolean"
    },
    "identifier": {
      "maxLength": 256,
      "type": "string"
    },
    "layout": {
      "maxLength": 256,
      "type": "string"
    },
    "providerName": {
      "description": "Snapshot: the site or service it came from.",
      "maxGraphemes": 100,
      "maxLength": 1000,
      "type": "string"
    },
    "publishedAt": {
      "description": "Snapshot: when the embedded content was published.",
      "format": "datetime",
      "type": "string"
    },
    "record": {
      "description": "The embedded ATProto record, when there is one (e.g. a Bluesky post). Lets renderers that understand the record type show it natively.",
      "ref": "com.atproto.repo.strongRef",
      "type": "ref"
    },
    "role": {
      "description": "Deprecated. Renderers choose presentation from the URL or record; providers are not enumerated here.",
      "knownValues": [
        "web-video",
        "tweet",
        "instagram",
        "facebook-post",
        "tiktok"
      ],
      "maxLength": 64,
      "type": "string"
    },
    "style": {
      "maxLength": 256,
      "type": "string"
    },
    "thumbnail": {
      "accept": [
        "image/jpeg",
        "image/png",
        "image/webp",
        "image/gif"
      ],
      "description": "Snapshot: a preview image, copied so the embed survives the original going away.",
      "maxSize": 1000000,
      "type": "blob"
    },
    "title": {
      "description": "Snapshot: the embedded content’s title.",
      "maxGraphemes": 300,
      "maxLength": 3000,
      "type": "string"
    },
    "url": {
      "description": "URL of the content to embed.",
      "format": "uri",
      "type": "string"
    }
  },
  "required": [
    "url"
  ],
  "type": "object"
}

Lexicon Garden

@