EXIF metadata for a photo. Stored as a sidecar record using the post rkey with an image index suffix (e.g. '3lqbc5xyz-0'). Float values are stored as strings to avoid precision issues.
any
Any valid record key
Properties
colorModel
string
Optional
Color model (e.g. 'RGB', 'CMYK')
maxLength: 64 bytescreatedAt
string
datetime
Required
An RFC 3339 formatted timestamp.
dateTimeOriginal
string
datetime
Optional
Original capture timestamp from EXIF
exposureTime
string
Optional
Exposure time in seconds as a decimal string (e.g. '0.002', '1.5')
maxLength: 32 bytesfNumber
string
Optional
Aperture f-number as a decimal string (e.g. '2.8', '5.6')
maxLength: 32 bytesflash
string
Optional
Flash status description (e.g. 'On, Fired', 'Off, Auto')
maxLength: 128 bytesfocalLength
string
Optional
Focal length in mm as a decimal string (e.g. '50.0', '24.0')
maxLength: 32 bytesfocalLengthIn35mmFormat
string
Optional
35mm equivalent focal length as a decimal string (e.g. '75.0', '36.0')
maxLength: 32 bytesimageIndex
integer
Required
Zero-based index of the image within the post's embed
minimum: 0iso
integer
Optional
ISO speed rating (e.g. 100, 800, 3200)
lensMake
string
Optional
Lens manufacturer
maxLength: 256 byteslensModel
string
Optional
Lens model (e.g. 'RF 50mm F1.2 L USM')
maxLength: 256 bytesmake
string
Optional
Camera manufacturer (e.g. 'Canon', 'Sony')
maxLength: 256 bytesmodel
string
Optional
Camera model (e.g. 'EOS R5', 'A7 IV')
maxLength: 256 bytesorientation
integer
Optional
EXIF orientation tag (1-8)
minimum: 1maximum: 8pixelHeight
integer
Optional
Original image height in pixels
minimum: 1pixelWidth
integer
Optional
Original image width in pixels
minimum: 1post
string
at-uri
Required
Reference to the parent post record
maxLength: 512 bytessoftware
string
Optional
Camera firmware or editing software
maxLength: 256 bytesView raw schema
{
"key": "any",
"type": "record",
"record": {
"type": "object",
"required": [
"post",
"imageIndex",
"createdAt"
],
"properties": {
"iso": {
"type": "integer",
"description": "ISO speed rating (e.g. 100, 800, 3200)"
},
"make": {
"type": "string",
"maxLength": 256,
"description": "Camera manufacturer (e.g. 'Canon', 'Sony')"
},
"post": {
"type": "string",
"format": "at-uri",
"maxLength": 512,
"description": "Reference to the parent post record"
},
"flash": {
"type": "string",
"maxLength": 128,
"description": "Flash status description (e.g. 'On, Fired', 'Off, Auto')"
},
"model": {
"type": "string",
"maxLength": 256,
"description": "Camera model (e.g. 'EOS R5', 'A7 IV')"
},
"fNumber": {
"type": "string",
"maxLength": 32,
"description": "Aperture f-number as a decimal string (e.g. '2.8', '5.6')"
},
"lensMake": {
"type": "string",
"maxLength": 256,
"description": "Lens manufacturer"
},
"software": {
"type": "string",
"maxLength": 256,
"description": "Camera firmware or editing software"
},
"createdAt": {
"type": "string",
"format": "datetime"
},
"lensModel": {
"type": "string",
"maxLength": 256,
"description": "Lens model (e.g. 'RF 50mm F1.2 L USM')"
},
"colorModel": {
"type": "string",
"maxLength": 64,
"description": "Color model (e.g. 'RGB', 'CMYK')"
},
"imageIndex": {
"type": "integer",
"minimum": 0,
"description": "Zero-based index of the image within the post's embed"
},
"pixelWidth": {
"type": "integer",
"minimum": 1,
"description": "Original image width in pixels"
},
"focalLength": {
"type": "string",
"maxLength": 32,
"description": "Focal length in mm as a decimal string (e.g. '50.0', '24.0')"
},
"orientation": {
"type": "integer",
"maximum": 8,
"minimum": 1,
"description": "EXIF orientation tag (1-8)"
},
"pixelHeight": {
"type": "integer",
"minimum": 1,
"description": "Original image height in pixels"
},
"exposureTime": {
"type": "string",
"maxLength": 32,
"description": "Exposure time in seconds as a decimal string (e.g. '0.002', '1.5')"
},
"dateTimeOriginal": {
"type": "string",
"format": "datetime",
"description": "Original capture timestamp from EXIF"
},
"focalLengthIn35mmFormat": {
"type": "string",
"maxLength": 32,
"description": "35mm equivalent focal length as a decimal string (e.g. '75.0', '36.0')"
}
}
},
"description": "EXIF metadata for a photo. Stored as a sidecar record using the post rkey with an image index suffix (e.g. '3lqbc5xyz-0'). Float values are stored as strings to avoid precision issues."
}