social.skyphone.video.meta

riyo.skyphone.social

Documentation

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.

main record

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.

Record Key tid Timestamp-based ID

Properties

alt string Optional

Accessibility description of the video content.

maxGraphemes: 1000 graphemes
createdAt string datetime Required

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.

description string Optional

Free-form description of the video.

maxLength: 30000 bytesmaxGraphemes: 3000 graphemes
labels union Optional

Self-applied labels for zoning (adult content, graphic media). Readers SHOULD honor these before playback.

subject ref com.atproto.repo.strongRef Required

Strong reference to the social.skyphone.video.post record this metadata describes.

tags array of string Optional

Author-chosen keywords, without a leading hash mark.

maxLength: 8 items
thumb blob Optional

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: 2.0 MB
title string Optional

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.

maxLength: 3000 bytesmaxGraphemes: 300 graphemes
View raw schema
{
  "key": "tid",
  "type": "record",
  "record": {
    "type": "object",
    "required": [
      "subject",
      "createdAt"
    ],
    "properties": {
      "alt": {
        "type": "string",
        "description": "Accessibility description of the video content.",
        "maxGraphemes": 1000
      },
      "tags": {
        "type": "array",
        "items": {
          "type": "string",
          "maxGraphemes": 64
        },
        "maxLength": 8,
        "description": "Author-chosen keywords, without a leading hash mark."
      },
      "thumb": {
        "type": "blob",
        "accept": [
          "image/jpeg",
          "image/png",
          "image/webp"
        ],
        "maxSize": 2000000,
        "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."
      },
      "title": {
        "type": "string",
        "maxLength": 3000,
        "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
      },
      "labels": {
        "refs": [
          "com.atproto.label.defs#selfLabels"
        ],
        "type": "union",
        "description": "Self-applied labels for zoning (adult content, graphic media). Readers SHOULD honor these before playback."
      },
      "subject": {
        "ref": "com.atproto.repo.strongRef",
        "type": "ref",
        "description": "Strong reference to the social.skyphone.video.post record this metadata describes."
      },
      "announce": {
        "ref": "com.atproto.repo.strongRef",
        "type": "ref",
        "description": "Strong reference to the app.bsky.feed.post announcing this video, if any."
      },
      "createdAt": {
        "type": "string",
        "format": "datetime",
        "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."
      },
      "description": {
        "type": "string",
        "maxLength": 30000,
        "description": "Free-form description of the video.",
        "maxGraphemes": 3000
      }
    }
  },
  "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."
}

Lexicon Garden

@