live.voxport.podcast.episode
A podcast episode belonging to a series
Details · record, key tid
| Kind | record |
|---|---|
| Record key | tid |
| Authority | podcast.voxport.live |
| Indexed |
Record
record · key tidProperties
audio
blobAudio file reference
maxSize: 524288000accept: audio/mpeg, audio/mp4, audio/wav, audio/ogg, audio/aac
audioLength
integerByte size of the audio file when using audioUrl. Required for a valid RSS enclosure — without this, a firehose consumer cannot reconstruct the feed from records alone.
minimum: 0
audioType
stringMIME type of the audio file when using audioUrl. Pairs with audioLength for RSS enclosure reconstruction.
maxLength: 64knownValues: audio/mpeg | audio/mp4 | audio/wav | audio/ogg | audio/aac
audioUrl
string · uriExternal audio URL (if not using blob)
Reference to the Atmosphere cross-post (app.bsky.feed.post) for this episode. Set when the episode is auto-cross-posted, enabling custom feed operators to discover the cross-post from the episode record.
duration
integerDuration in seconds
minimum: 0
episodeNumber
integerEpisode number in series
minimum: 1
episodeType
stringEpisode type per RSS spec
maxLength: 16default: "full"knownValues: full | trailer | bonus
explicit
booleanWhether episode is explicit
image
blobEpisode-specific cover art
maxSize: 2097152accept: image/png, image/jpeg
importedGuid
stringOriginal GUID from RSS feed (for imported episodes)
maxLength: 2048
persons
arrayPeople associated with this episode — hosts, guests, co-hosts (Podcasting 2.0 podcast:person)
maxLength: 50
publishedAt
string · datetimePublication date (null = draft)
seasonNumber
integerSeason number
minimum: 1
Reference to parent series (uri + optional cid)
soundbites
arrayShort clip markers for apps to surface (Podcasting 2.0 podcast:soundbite)
maxLength: 20
summary
stringEpisode description/show notes (supports markdown)
maxLength: 10000
tags
arrayEpisode tags/keywords
maxLength: 20
maxLength: 64
Episode title
maxLength: 256
transcript
refEpisode transcript (singular — deprecated, prefer transcripts array)
transcripts
arrayEpisode transcripts — multiple entries for different languages/formats (Podcasting 2.0 podcast:transcript). Preferred over the singular transcript field.
maxLength: 20
updatedAt
string · datetime#chapter
object#person
objectProperties
did
string · didATProto DID if the person has a verified identity
group
stringGroup from the Podcast Taxonomy Project (e.g. cast, writing, visuals). Defaults to 'cast' if absent.
maxLength: 64
handle
string · handleATProto handle (e.g. alice.bsky.social) if the person has a Bluesky account
image
string · uriProfile image URL (maps to podcast:person img attribute)
Full name or alias of the person (spec: max 128 chars)
maxLength: 128
role
stringRole from the Podcast Taxonomy Project (e.g. host, guest, co-host). Defaults to 'host' if absent.
maxLength: 64
url
string · uriExternal profile URL (maps to podcast:person href attribute)
#soundbite
objectProperties
Duration in fractional seconds (e.g. '60.0', '42.25'). Matches Podcasting 2.0 spec exactly.
maxLength: 16
Start time in fractional seconds (e.g. '73.0', '1234.5'). Matches Podcasting 2.0 spec exactly.
maxLength: 16
title
stringTitle/label for the soundbite (spec: max 128 chars)
maxLength: 128
#transcript
objectProperties
language
string · languageLanguage of the transcript (defaults to feed language if absent)
rel
stringIf 'captions', the file is a closed captions file with time codes
maxLength: 16knownValues: captions
MIME type of the transcript file
maxLength: 64knownValues: text/plain | text/html | text/vtt | application/x-subrip | application/json
URL of the transcript file
Similar lexicons
semantic matchLexicons whose schemas describe something close to this one. Check them before publishing a new one that overlaps.
-
place.pod.episode
recordA single podcast episode.
-
org.atpodcasting.episode
recordA podcast episode. Record key is a UUIDv5 derived from the podcast GUID (as namespace) and the episode's feedItemGuid (as name), enabling deterministic lookup from RSS feed metadata.
-
pink.vase.pod.episode
recordA podcast episode belonging to a show.
-
A podcast episode (often derived from a voice space recording), mirrored to AT Protocol as a real org.swappulse.podcastEpisode record so episodes are portable and playable across instances.
-
live.voxport.podcast.series
recordA podcast series/channel owned by a creator on VoxPort