{
"id": "space.remanso.recording",
"defs": {
"main": {
"key": "tid",
"type": "record",
"record": {
"type": "object",
"required": [
"audio",
"createdAt"
],
"properties": {
"audio": {
"type": "blob",
"accept": [
"audio/*",
"video/mp4",
"video/webm"
],
"maxSize": 50000000,
"description": "The recording itself. video/mp4 and video/webm are accepted alongside audio/* because a PDS sniffs the container rather than trusting the upload's Content-Type: an audio-only MP4 or M4A sniffs as video/mp4, and a sniffer that reads no further than the EBML magic calls an audio-only WebM video/webm."
},
"title": {
"type": "string",
"maxLength": 1000
},
"credits": {
"type": "array",
"items": {
"ref": "#credit",
"type": "ref"
},
"maxLength": 64,
"description": "Attribution for openly licensed music mixed into the recording. Only licences that require it are listed — a CC0 track is deliberately absent, because CC0 asks for nothing and an entry here would imply otherwise."
},
"createdAt": {
"type": "string",
"format": "datetime"
},
"recordedAt": {
"type": "string",
"format": "datetime",
"description": "When the audio was originally captured — a past stream's air date, not the upload time."
},
"durationSec": {
"type": "integer",
"description": "Playback length in seconds."
}
}
},
"description": "An audio recording — a past stream, a podcast episode, a voice note. A recording at rkey R is the recording of the space.remanso.note at rkey R in the same repo: one note, at most one recording, paired by convention rather than by a field, so a reader that knows the note's did and rkey reaches the audio with a single getRecord. A recording whose rkey matches no note stands alone and belongs to nobody. Legacy path: a recording is also referenced from a note by at-uri embedded in the note's content."
},
"credit": {
"type": "object",
"required": [
"title",
"creator",
"license",
"licenseUrl",
"sourceUrl"
],
"properties": {
"title": {
"type": "string",
"maxLength": 1000
},
"creator": {
"type": "string",
"maxLength": 1000
},
"license": {
"type": "string",
"maxLength": 64,
"description": "The licence's short id, e.g. \"by\"."
},
"sourceUrl": {
"type": "string",
"format": "uri",
"description": "The work's landing page at its provider."
},
"licenseUrl": {
"type": "string",
"format": "uri"
}
},
"description": "One openly licensed work used in the recording, and where its terms live."
}
},
"$type": "com.atproto.lexicon.schema",
"lexicon": 1
}