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
Kindrecord
Record keytid
Authorityvideo.skyphone.social
Indexed
cid bafyreidapes2spyzi5mbwf7gaip6i24bc4bdkjvndmenrej6ggbotpqltu

Checks

Valid
  • large-string defs.main.record.properties.descriptionmaxLength is over 20 KB. Use a blob for content that large.
JSONDownload
{
  "$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
}