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 graphemesaspectRatio
ref
net.wireservice.defs#aspectRatio
Optional
Aspect ratio for the embed frame, primarily for web video embeds.
authorName
string
Optional
Snapshot: who made it.
maxLength: 2000 bytesmaxGraphemes: 200 graphemescaption
array
of refnet.wireservice.defs#textRun
Optional
Visible caption as an array of text runs with optional formatting marks.
description
string
Optional
Snapshot: a summary or excerpt (for a social post, its text).
maxLength: 10000 bytesmaxGraphemes: 1000 graphemesexplicitContent
boolean
Optional
No description available.
hidden
boolean
Optional
No description available.
identifier
string
Optional
No description available.
maxLength: 256 byteslayout
string
Optional
No description available.
maxLength: 256 bytesproviderName
string
Optional
Snapshot: the site or service it came from.
maxLength: 1000 bytesmaxGraphemes: 100 graphemespublishedAt
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 bytesweb-video, tweet, instagram, facebook-post, tiktokstyle
string
Optional
No description available.
maxLength: 256 bytesthumbnail
blob
Optional
Snapshot: a preview image, copied so the embed survives the original going away.
maxSize: 1.0 MBtitle
string
Optional
Snapshot: the embedded content’s title.
maxLength: 3000 bytesmaxGraphemes: 300 graphemesurl
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"
}