ai.newnal.illi.family.mediaItem

illi-service.newnal.id

Schema Diff

+17 -1

From

CID
bafyreieaupx6trt...
Indexed At
2026-10-13 03:55 UTC
View this version

To

CID
bafyreidhtfjxqca...
Indexed At
2026-10-13 08:54 UTC
View this version

Compatibility Analysis

Backward Compatible

Backward compatible. 4 non-breaking changes.

Non-Breaking Changes (4)
  • AddedVertex AddedVertex { vertex_id: "ai.newnal.illi.family.mediaItem:body.display" }
  • AddedVertex AddedVertex { vertex_id: "ai.newnal.illi.family.mediaItem:body.thumb" }
  • AddedEdge AddedEdge { src: "ai.newnal.illi.family.mediaItem:body", tgt: "ai.newnal.illi.family.mediaItem:body.display", kind: "prop", name: Some("display") }
  • AddedEdge AddedEdge { src: "ai.newnal.illi.family.mediaItem:body", tgt: "ai.newnal.illi.family.mediaItem:body.thumb", kind: "prop", name: Some("thumb") }

Migration Guidance

Added Elements

  • AddedVertex { vertex_id: "ai.newnal.illi.family.mediaItem:body.display" }
  • AddedVertex { vertex_id: "ai.newnal.illi.family.mediaItem:body.thumb" }

Additional Notes

  • Non-breaking: AddedEdge { src: "ai.newnal.illi.family.mediaItem:body", tgt: "ai.newnal.illi.family.mediaItem:body.display", kind: "prop", name: Some("display") }
  • Non-breaking: AddedEdge { src: "ai.newnal.illi.family.mediaItem:body", tgt: "ai.newnal.illi.family.mediaItem:body.thumb", kind: "prop", name: Some("thumb") }
1 1
{
2 2
  "$type": "com.atproto.lexicon.schema",
3 3
  "defs": {
4 4
    "main": {
5 -
      "description": "One original photo or video in the home's content bank. The blob lives on the author's PDN.",
5 +
      "description": "One original photo or video in the home's content bank. The original and its derivatives (thumb, display, poster) are blobs on the author's PDN.",
6 6
      "key": "tid",
7 7
      "record": {
8 8
        "properties": {
9 9
          "albumHidden": {
10 10
            "default": false,
11 11
            "type": "boolean"
12 12
          },
13 13
          "caption": {
14 14
            "maxGraphemes": 300,
15 15
            "maxLength": 3000,
16 16
            "type": "string"
17 17
          },
18 18
          "contentHash": {
19 19
            "description": "sha256 hex of the original bytes.",
20 20
            "maxLength": 128,
21 21
            "type": "string"
22 22
          },
23 23
          "createdAt": {
24 24
            "format": "datetime",
25 25
            "type": "string"
26 26
          },
27 +
          "display": {
28 +
            "accept": [
29 +
              "image/jpeg"
30 +
            ],
31 +
            "description": "1600 px display rendition for the device.",
32 +
            "maxSize": 2000000,
33 +
            "type": "blob"
34 +
          },
27 35
          "durationMs": {
28 36
            "minimum": 0,
29 37
            "type": "integer"
30 38
          },
31 39
          "excludeFromDelivery": {
32 40
            "default": false,
33 41
            "type": "boolean"
34 42
          },
35 43
          "height": {
36 44
            "minimum": 1,
37 45
            "type": "integer"
38 46
          },
39 47
          "kind": {
40 48
            "knownValues": [
41 49
              "photo",
42 50
              "video"
43 51
            ],
44 52
            "type": "string"
45 53
          },
46 54
          "media": {
47 55
            "accept": [
48 56
              "image/jpeg",
49 57
              "image/png",
50 58
              "image/webp",
51 59
              "image/heic",
52 60
              "video/mp4",
53 61
              "video/quicktime"
54 62
            ],
55 63
            "maxSize": 314572800,
56 64
            "type": "blob"
57 65
          },
58 66
          "poster": {
59 67
            "accept": [
60 68
              "image/jpeg"
61 69
            ],
62 70
            "description": "Video poster frame.",
63 71
            "maxSize": 2000000,
64 72
            "type": "blob"
65 73
          },
66 74
          "reviewState": {
67 75
            "knownValues": [
68 76
              "notRequired",
69 77
              "pending",
70 78
              "approved",
71 79
              "rejected"
72 80
            ],
73 81
            "type": "string"
74 82
          },
75 83
          "takenAt": {
76 84
            "format": "datetime",
77 85
            "type": "string"
78 86
          },
79 87
          "takenAtSource": {
80 88
            "knownValues": [
81 89
              "exif",
82 90
              "upload",
83 91
              "manual"
84 92
            ],
85 93
            "type": "string"
86 94
          },
95 +
          "thumb": {
96 +
            "accept": [
97 +
              "image/jpeg"
98 +
            ],
99 +
            "description": "320 px thumbnail, generated by the Service Node and uploaded to the author's PDN.",
100 +
            "maxSize": 200000,
101 +
            "type": "blob"
102 +
          },
87 103
          "width": {
88 104
            "minimum": 1,
89 105
            "type": "integer"
90 106
          }
91 107
        },
92 108
        "required": [
93 109
          "kind",
94 110
          "media",
95 111
          "createdAt"
96 112
        ],
97 113
        "type": "object"
98 114
      },
99 115
      "type": "record"
100 116
    }
101 117
  },
102 118
  "id": "ai.newnal.illi.family.mediaItem",
103 119
  "lexicon": 1
104 120
}

Compare Other Versions

Lexicon Garden

@