{
"id": "me.byjp.pebble-index.recording",
"defs": {
"main": {
"key": "any",
"type": "record",
"record": {
"type": "object",
"required": [
"audio",
"recordedAt"
],
"properties": {
"audio": {
"type": "blob",
"accept": [
"audio/mp4"
],
"maxSize": 104857600,
"description": "The recorded audio, AAC in an MP4 container."
},
"client": {
"type": "string",
"description": "The capture device or app that produced the recording (e.g. \"ring\")."
},
"trigger": {
"type": "string",
"description": "The device gesture that started the recording, when known.",
"knownValues": [
"single-click-hold",
"double-click-hold"
]
},
"createdAt": {
"type": "string",
"format": "datetime",
"description": "When this record was created, if different from recordedAt."
},
"durationMs": {
"type": "integer",
"minimum": 0,
"description": "Recording length in milliseconds."
},
"recordedAt": {
"type": "string",
"format": "datetime"
},
"transcript": {
"type": "string",
"maxGraphemes": 100000
},
"recordingId": {
"type": "string",
"maxLength": 512,
"description": "The capturing app's identifier for the recording, when known."
}
}
},
"description": "A voice recording captured by Pebble Index: the audio as a blob plus its transcript. Blob access control is at the record layer, so the audio is only reachable by parties with access to the space."
}
},
"$type": "com.atproto.lexicon.schema",
"lexicon": 1
}