Files
Samuel Newman 2830daeaa6 Add presentation to video embed as a hint to the client about how to display the video (#4581)
* feat: add video presentation hinting

* codegen

* hydrate presentation

* Add changeset
2026-01-27 05:07:13 -08:00

78 lines
2.1 KiB
JSON

{
"lexicon": 1,
"id": "app.bsky.embed.video",
"description": "A video embedded in a Bluesky record (eg, a post).",
"defs": {
"main": {
"type": "object",
"required": ["video"],
"properties": {
"video": {
"type": "blob",
"description": "The mp4 video file. May be up to 100mb, formerly limited to 50mb.",
"accept": ["video/mp4"],
"maxSize": 100000000
},
"captions": {
"type": "array",
"items": { "type": "ref", "ref": "#caption" },
"maxLength": 20
},
"alt": {
"type": "string",
"description": "Alt text description of the video, for accessibility.",
"maxGraphemes": 1000,
"maxLength": 10000
},
"aspectRatio": {
"type": "ref",
"ref": "app.bsky.embed.defs#aspectRatio"
},
"presentation": {
"type": "string",
"description": "A hint to the client about how to present the video.",
"knownValues": ["default", "gif"]
}
}
},
"caption": {
"type": "object",
"required": ["lang", "file"],
"properties": {
"lang": {
"type": "string",
"format": "language"
},
"file": {
"type": "blob",
"accept": ["text/vtt"],
"maxSize": 20000
}
}
},
"view": {
"type": "object",
"required": ["cid", "playlist"],
"properties": {
"cid": { "type": "string", "format": "cid" },
"playlist": { "type": "string", "format": "uri" },
"thumbnail": { "type": "string", "format": "uri" },
"alt": {
"type": "string",
"maxGraphemes": 1000,
"maxLength": 10000
},
"aspectRatio": {
"type": "ref",
"ref": "app.bsky.embed.defs#aspectRatio"
},
"presentation": {
"type": "string",
"description": "A hint to the client about how to present the video.",
"knownValues": ["default", "gif"]
}
}
}
}
}