532681d5c0
Co-authored-by: Claude Fable 5 <noreply@anthropic.com>
100 lines
2.6 KiB
JSON
100 lines
2.6 KiB
JSON
{
|
|
"id": "app.bsky.embed.gallery",
|
|
"defs": {
|
|
"main": {
|
|
"type": "object",
|
|
"required": [
|
|
"items"
|
|
],
|
|
"properties": {
|
|
"items": {
|
|
"type": "array",
|
|
"items": {
|
|
"refs": [
|
|
"#image"
|
|
],
|
|
"type": "union",
|
|
"description": "The media items in the gallery. Each item may be of a different type, but all types must be supported by the client."
|
|
},
|
|
"maxLength": 20,
|
|
"description": "The schema-level maxLength of 20 is a future-proof ceiling. Clients should currently enforce a soft limit of 10 items in authoring UIs."
|
|
}
|
|
}
|
|
},
|
|
"view": {
|
|
"type": "object",
|
|
"required": [
|
|
"items"
|
|
],
|
|
"properties": {
|
|
"items": {
|
|
"type": "array",
|
|
"items": {
|
|
"refs": [
|
|
"#viewImage"
|
|
],
|
|
"type": "union"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"image": {
|
|
"type": "object",
|
|
"required": [
|
|
"image",
|
|
"alt",
|
|
"aspectRatio"
|
|
],
|
|
"properties": {
|
|
"alt": {
|
|
"type": "string",
|
|
"description": "Alt text description of the image, for accessibility."
|
|
},
|
|
"image": {
|
|
"type": "blob",
|
|
"accept": [
|
|
"image/*"
|
|
],
|
|
"maxSize": 2000000
|
|
},
|
|
"aspectRatio": {
|
|
"ref": "app.bsky.embed.defs#aspectRatio",
|
|
"type": "ref"
|
|
}
|
|
}
|
|
},
|
|
"viewImage": {
|
|
"type": "object",
|
|
"required": [
|
|
"thumbnail",
|
|
"fullsize",
|
|
"alt",
|
|
"aspectRatio"
|
|
],
|
|
"properties": {
|
|
"alt": {
|
|
"type": "string",
|
|
"description": "Alt text description of the image, for accessibility."
|
|
},
|
|
"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."
|
|
},
|
|
"thumbnail": {
|
|
"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."
|
|
},
|
|
"aspectRatio": {
|
|
"ref": "app.bsky.embed.defs#aspectRatio",
|
|
"type": "ref"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"$type": "com.atproto.lexicon.schema",
|
|
"lexicon": 1,
|
|
"description": "An assortment of media embedded in a Bluesky record (eg, a post)."
|
|
}
|