net.wireservice.component.embed
{
"$type": "com.atproto.lexicon.schema",
"defs": {
"main": {
"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"
}
},
"id": "net.wireservice.component.embed",
"lexicon": 1
}
Metadata
- DID
-
did:plc:lktj64hp7lc3fzuf6iyy7lwj - CID
-
bafyreidclbziak3wgrpfzdunrxr2nguvykjzk4pu2cqkkqi42nusxkihuq - Indexed At
- 2026-10-13 09:20 UTC
- AT-URI
-
at://did:plc:lktj64hp7lc3fzuf6iyy7lwj/com.atproto.lexicon.schema/net.wireservice.component.embed
Version History (2 versions)
- 2026-10-13 09:20 UTC (current)
- 2026-10-12 21:12 UTC diff
Referenced Schemas (2)
Similar Lexicons
Lexicons whose schemas describe something close to this one. Check them before publishing a new one that overlaps.
-
place.pollen.post.atmoembed record
Embedded content from any Atmosphere app. Single item or curated collection.
-
Video component. Supports blob storage for AT Protocol-native video and optional external URLs (e.g., HLS streams or CDN-hosted MP4). At least one of `video` or `url` should be provided.
-
app.bsky.embed.video object
A video embedded in a Bluesky record (eg, a post).
-
A video embedded in a Bluesky record (eg, a post).
-
app.offprint.block.webEmbed object