social.skyphone.video.meta
Mutable metadata sidecar for a video. Record key MUST match the rkey of the social.skyphone.video.post record in the same repo, so a reader that holds a video record can fetch its metadata with one getRecord. Editing metadata is a put on this record; the canonical video record stays untouched.
Details · record, key tid
| Kind | record |
|---|---|
| Record key | tid |
| Authority | video.skyphone.social |
| Indexed |
Checks
Validlarge-stringdefs.main.record.properties.descriptionmaxLength is over 20 KB. Use a blob for content that large.
{
"$type": "com.atproto.lexicon.schema",
"defs": {
"main": {
"description": "Mutable metadata sidecar for a video. Record key MUST match the rkey of the social.skyphone.video.post record in the same repo, so a reader that holds a video record can fetch its metadata with one getRecord. Editing metadata is a put on this record; the canonical video record stays untouched.",
"key": "tid",
"record": {
"properties": {
"alt": {
"description": "Accessibility description of the video content.",
"maxGraphemes": 1000,
"type": "string"
},
"announce": {
"description": "Strong reference to the app.bsky.feed.post announcing this video, if any.",
"ref": "com.atproto.repo.strongRef",
"type": "ref"
},
"createdAt": {
"description": "When the video this metadata describes was created. Kept equal to the video record's createdAt across metadata edits, so readers can order videos by this field alone.",
"format": "datetime",
"type": "string"
},
"description": {
"description": "Free-form description of the video.",
"maxGraphemes": 3000,
"maxLength": 30000,
"type": "string"
},
"labels": {
"description": "Self-applied labels for zoning (adult content, graphic media). Readers SHOULD honor these before playback.",
"refs": [
"com.atproto.label.defs#selfLabels"
],
"type": "union"
},
"subject": {
"description": "Strong reference to the social.skyphone.video.post record this metadata describes.",
"ref": "com.atproto.repo.strongRef",
"type": "ref"
},
"tags": {
"description": "Author-chosen keywords, without a leading hash mark.",
"items": {
"maxGraphemes": 64,
"type": "string"
},
"maxLength": 8,
"type": "array"
},
"thumb": {
"accept": [
"image/jpeg",
"image/png",
"image/webp"
],
"description": "Author-supplied custom thumbnail. Absence is normal: an app may generate thumbnails from the video outside the record, so readers SHOULD NOT treat a missing thumb as an error.",
"maxSize": 2000000,
"type": "blob"
},
"title": {
"description": "Display title of the video. May be absent; clients SHOULD fall back to the announcement post text or a placeholder rather than showing an empty title.",
"maxGraphemes": 300,
"maxLength": 3000,
"type": "string"
}
},
"required": [
"subject",
"createdAt"
],
"type": "object"
},
"type": "record"
}
},
"id": "social.skyphone.video.meta",
"lexicon": 1
}