ai.newnal.illi.family.mediaItem
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.
Details · record, key tid
| Kind | record |
|---|---|
| Record key | tid |
| Authority | family.illi.newnal.ai |
| Indexed |
Checks
Validunlimited-stringdefs.main.record.properties.kindNo maxLength, maxGraphemes or format limits this string.unlimited-stringdefs.main.record.properties.takenAtSourceNo maxLength, maxGraphemes or format limits this string.
{
"$type": "com.atproto.lexicon.schema",
"defs": {
"main": {
"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.",
"key": "tid",
"record": {
"properties": {
"aiDescription": {
"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.",
"maxGraphemes": 1000,
"maxLength": 10000,
"type": "string"
},
"aiTags": {
"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.",
"items": {
"maxGraphemes": 64,
"maxLength": 640,
"type": "string"
},
"maxLength": 100,
"type": "array"
},
"contentHash": {
"description": "sha256 hex of the original bytes, computed by the media service.",
"maxLength": 128,
"type": "string"
},
"createdAt": {
"format": "datetime",
"type": "string"
},
"display": {
"accept": [
"image/jpeg"
],
"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.",
"maxSize": 2000000,
"type": "blob"
},
"durationMs": {
"description": "Video duration in milliseconds, set by the media service.",
"minimum": 0,
"type": "integer"
},
"height": {
"description": "Orientation-corrected height in pixels of the original, set by the media service.",
"minimum": 1,
"type": "integer"
},
"kind": {
"knownValues": [
"photo",
"video"
],
"type": "string"
},
"manualTakenAt": {
"description": "Uploader correction sent to media updateUserInput; omitted when cleared. Effective takenAt and its source come from media.",
"format": "datetime",
"type": "string"
},
"media": {
"accept": [
"image/jpeg",
"image/png",
"image/webp",
"image/heic",
"video/mp4",
"video/quicktime"
],
"maxSize": 314572800,
"type": "blob"
},
"note": {
"maxGraphemes": 300,
"maxLength": 3000,
"type": "string"
},
"people": {
"items": {
"ref": "ai.newnal.illi.family.mediaItem#person",
"type": "ref"
},
"maxLength": 20,
"type": "array"
},
"poster": {
"accept": [
"image/jpeg"
],
"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.",
"maxSize": 2000000,
"type": "blob"
},
"sidecar": {
"accept": [
"application/xmp+xml"
],
"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.",
"maxSize": 1000000,
"type": "blob"
},
"takenAt": {
"description": "Capture time from file metadata, otherwise upload time. Until processing finishes, the upload time is used.",
"format": "datetime",
"type": "string"
},
"takenAtSource": {
"description": "Effective capture-time provenance returned by media: manual, file metadata, file modification time or upload fallback.",
"knownValues": [
"exif",
"upload",
"manual",
"file_modified"
],
"type": "string"
},
"thumb": {
"accept": [
"image/jpeg"
],
"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.",
"maxSize": 200000,
"type": "blob"
},
"width": {
"description": "Orientation-corrected width in pixels of the original, set by the media service.",
"minimum": 1,
"type": "integer"
}
},
"required": [
"kind",
"media",
"createdAt"
],
"type": "object"
},
"type": "record"
},
"person": {
"properties": {
"name": {
"maxGraphemes": 50,
"maxLength": 500,
"type": "string"
},
"relationship": {
"maxGraphemes": 20,
"maxLength": 200,
"type": "string"
}
},
"required": [
"name"
],
"type": "object"
}
},
"id": "ai.newnal.illi.family.mediaItem",
"lexicon": 1
}