devin ivy 80ada8f476
Video lexicons and appview views (#2751)
* lexicon: initial lexicons for video embeds in bsky app

* lexicon: fix video caption file size limit

* codegen

* appview: stub out video embed view logic

* api prerelease

* api prerelease

* lexicon: video upload/processing lexicons

* tidy

* lexicon: app.bsky.video lexicons for uploads

* codegen

* api prerelease

* appview: present video embeds on posts

* appview: snaps

* changeset

* appview: fix wiring of video url config
2024-08-28 19:03:35 -04:00

73 lines
2.0 KiB
JSON

{
"lexicon": 1,
"id": "app.bsky.embed.images",
"description": "A set of images embedded in a Bluesky record (eg, a post).",
"defs": {
"main": {
"type": "object",
"required": ["images"],
"properties": {
"images": {
"type": "array",
"items": { "type": "ref", "ref": "#image" },
"maxLength": 4
}
}
},
"image": {
"type": "object",
"required": ["image", "alt"],
"properties": {
"image": {
"type": "blob",
"accept": ["image/*"],
"maxSize": 1000000
},
"alt": {
"type": "string",
"description": "Alt text description of the image, for accessibility."
},
"aspectRatio": {
"type": "ref",
"ref": "app.bsky.embed.defs#aspectRatio"
}
}
},
"view": {
"type": "object",
"required": ["images"],
"properties": {
"images": {
"type": "array",
"items": { "type": "ref", "ref": "#viewImage" },
"maxLength": 4
}
}
},
"viewImage": {
"type": "object",
"required": ["thumb", "fullsize", "alt"],
"properties": {
"thumb": {
"type": "string",
"format": "uri",
"description": "Fully-qualified URL where a thumbnail of the image can be fetched. For example, CDN location provided by the App View."
},
"fullsize": {
"type": "string",
"format": "uri",
"description": "Fully-qualified URL where a large version of the image can be fetched. May or may not be the exact original blob. For example, CDN location provided by the App View."
},
"alt": {
"type": "string",
"description": "Alt text description of the image, for accessibility."
},
"aspectRatio": {
"type": "ref",
"ref": "app.bsky.embed.defs#aspectRatio"
}
}
}
}
}