full diff

ai.newnal.illi.family.mediaItem

From
bafyreihp7g6y4i36zm42qosxkp7nwriayx22md6o5mwtpg4yegdq5mxiay indexed 2026-11-06 13:46 UTC View this version
To
bafyreibau3kbtqvtxh6cdqnzmt4usy7y53bx7jomiwpxjgrx4sz7civyiq indexed 2026-11-07 06:56 UTC View this version

Compatibility

backward compatible No changes detected.

Changes

11{
22 "$type": "com.atproto.lexicon.schema",
33 "defs": {
44 "main": {
55 "description": "One original photo or video in the home's content bank. The original and its sidecar are blobs on the author's PDN; the thumbnail, display rendition, poster, dimensions and capture time are produced by the media service and uploaded by the Service Agent Node to the same PDN after the item was created, so a freshly created item may carry only the original and its upload-time content hash for exact deduplication.",
66 "key": "tid",
77 "record": {
88 "properties": {
99 "aiDescription": {
1010 "description": "Description written by the media service's AI analysis (ai.description of the asset snapshot). Written by the Service Agent Node; never edited by clients.",
1111 "maxGraphemes": 1000,
1212 "maxLength": 10000,
1313 "type": "string"
1414 },
1515 "aiTags": {
1616 "description": "Tags the media service's AI analysis chose (ai.tags of the asset snapshot). Written by the Service Agent Node from the media service's result; never edited by clients.",
1717 "items": {
1818 "maxGraphemes": 64,
1919 "maxLength": 640,
2020 "type": "string"
2121 },
2222 "maxLength": 100,
2323 "type": "array"
2424 },
2525 "contentHash": {
2626 "description": "sha256 hex of the original bytes, computed by the media service.",
2727 "maxLength": 128,
2828 "type": "string"
2929 },
3030 "createdAt": {
3131 "format": "datetime",
3232 "type": "string"
3333 },
3434 "display": {
3535 "accept": [
3636 "image/jpeg"
3737 ],
3838 "description": "1600 px display rendition for the device. Made by the media service and uploaded by the Service Agent Node to the uploader's PDN. Present only when the original's longest side exceeds 1600 px or a PNG or HEIC original exceeds 2 MB; clients show the original otherwise.",
3939 "maxSize": 2000000,
4040 "type": "blob"
4141 },
4242 "durationMs": {
4343 "description": "Video duration in milliseconds, set by the media service.",
4444 "minimum": 0,
4545 "type": "integer"
4646 },
4747 "height": {
4848 "description": "Orientation-corrected height in pixels of the original, set by the media service.",
4949 "minimum": 1,
5050 "type": "integer"
5151 },
5252 "kind": {
5353 "knownValues": [
5454 "photo",
5555 "video"
5656 ],
5757 "type": "string"
5858 },
5959 "manualTakenAt": {
6060 "description": "Uploader correction sent to media updateUserInput; omitted when cleared. Effective takenAt and its source come from media.",
6161 "format": "datetime",
6262 "type": "string"
6363 },
6464 "media": {
6565 "accept": [
6666 "image/jpeg",
6767 "image/png",
6868 "image/webp",
6969 "image/heic",
7070 "video/mp4",
7171 "video/quicktime"
7272 ],
7373 "maxSize": 314572800,
7474 "type": "blob"
7575 },
7676 "note": {
7777 "maxGraphemes": 300,
7878 "maxLength": 3000,
7979 "type": "string"
8080 },
8181 "people": {
8282 "items": {
8383 "ref": "ai.newnal.illi.family.mediaItem#person",
8484 "type": "ref"
8585 },
8686 "maxLength": 20,
8787 "type": "array"
8888 },
8989 "poster": {
9090 "accept": [
9191 "image/jpeg"
9292 ],
9393 "description": "Video poster frame. Made by the media service and uploaded by the Service Agent Node to the uploader's PDN; absent until processing has produced it.",
9494 "maxSize": 2000000,
9595 "type": "blob"
9696 },
9797 "sidecar": {
9898 "accept": [
9999 "application/xmp+xml"
100100 ],
101 "description": "XMP sidecar the media service wrote for the original, uploaded by the Service Agent Node to the uploader's PDN. The MIME type the PDN accepts for it is confirmed against the PDN when this is first exercised (dev-spec 15).",
101 "description": "XMP sidecar the media service wrote for the original (application/xmp+xml), uploaded by the Service Agent Node to the uploader's PDN with the uploader's own session, which needs the blob token for that type.",
102102 "maxSize": 1000000,
103103 "type": "blob"
104104 },
105105 "takenAt": {
106106 "description": "Capture time from file metadata, otherwise upload time. Until processing finishes, the upload time is used.",
107107 "format": "datetime",
108108 "type": "string"
109109 },
110110 "takenAtSource": {
111111 "description": "Effective capture-time provenance returned by media: manual, file metadata, file modification time or upload fallback.",
112112 "knownValues": [
113113 "exif",
114114 "upload",
115115 "manual",
116116 "file_modified"
117117 ],
118118 "type": "string"
119119 },
120120 "thumb": {
121121 "accept": [
122122 "image/jpeg"
123123 ],
124124 "description": "320 px thumbnail. Made by the media service and uploaded by the Service Agent Node to the uploader's PDN; absent until processing has produced it.",
125125 "maxSize": 200000,
126126 "type": "blob"
127127 },
128128 "width": {
129129 "description": "Orientation-corrected width in pixels of the original, set by the media service.",
130130 "minimum": 1,
131131 "type": "integer"
132132 }
133133 },
134134 "required": [
135135 "kind",
136136 "media",
137137 "createdAt"
138138 ],
139139 "type": "object"
140140 },
141141 "type": "record"
142142 },
143143 "person": {
144144 "properties": {
145145 "name": {
146146 "maxGraphemes": 50,
147147 "maxLength": 500,
148148 "type": "string"
149149 },
150150 "relationship": {
151151 "maxGraphemes": 20,
152152 "maxLength": 200,
153153 "type": "string"
154154 }
155155 },
156156 "required": [
157157 "name"
158158 ],
159159 "type": "object"
160160 }
161161 },
162162 "id": "ai.newnal.illi.family.mediaItem",
163163 "lexicon": 1
164164}

Compare other versions