# place.pod.episode

> Published by [pod.place](https://lexicon.garden/identity/did:plc:djyfh7w2dpxt7w7cpagfeyie)

✓ This is the authoritative definition for this NSID.

## Description

A single podcast episode.

## Links

- [View on Lexicon Garden](https://lexicon.garden/lexicon/did:plc:djyfh7w2dpxt7w7cpagfeyie/place.pod.episode)
- [Documentation](https://lexicon.garden/lexicon/did:plc:djyfh7w2dpxt7w7cpagfeyie/place.pod.episode/docs)
- [Examples](https://lexicon.garden/lexicon/did:plc:djyfh7w2dpxt7w7cpagfeyie/place.pod.episode/examples)

## Definitions

### `place.pod.episode`

**Type**: `record`

A single podcast episode.

**Key**: `tid`

| Property | Type | Required | Description |
|----------|------|----------|-------------|
| `title` | `string` | Yes | Title of the episode. |
| `showUri` | `string` (uri) | Yes | AT Protocol URI of the parent place.pod.show record. |
| `audioUrl` | `string` (uri) | Yes | Direct URL to the audio file. Must be publicly accessible and use HTTPS. |
| `explicit` | `boolean` | No | Whether this specific episode contains explicit content. Defaults to false if omitted. |
| `imageUrl` | `string` (uri) | No | Episode-specific artwork URL. Falls back to show cover if omitted. |
| `createdAt` | `string` (datetime) | Yes | ISO 8601 timestamp of when the episode record was created. |
| `chaptersUrl` | `string` (uri) | No | URL to a chapters file. Accepts JSON or WebVTT formats. |
| `description` | `string` | Yes | Summary or show notes for the episode. May contain basic formatting. |
| `publishedAt` | `string` (datetime) | No | ISO 8601 timestamp when the episode was published. May differ from createdAt. |
| `seasonNumber` | `integer` | No | Season number the episode belongs to. |
| `audioMimeType` | `string` | No | MIME type of the audio file. Common values: audio/mpeg, audio/wav, audio/aac. |
| `episodeNumber` | `integer` | No | Episode number within the season or series. |
| `transcriptUrl` | `string` (uri) | No | URL to a transcript file. Improves accessibility and searchability. |
| `audioSizeBytes` | `integer` | No | File size of the audio asset in bytes. Useful for download progress indicators. |
| `durationSeconds` | `integer` | No | Length of the episode in whole seconds. Strongly recommended for player UX. |

## Raw Schema

```json
{
  "id": "place.pod.episode",
  "defs": {
    "main": {
      "key": "tid",
      "type": "record",
      "record": {
        "type": "object",
        "required": [
          "showUri",
          "title",
          "description",
          "audioUrl",
          "createdAt"
        ],
        "properties": {
          "title": {
            "type": "string",
            "maxLength": 200,
            "description": "Title of the episode."
          },
          "showUri": {
            "type": "string",
            "format": "uri",
            "description": "AT Protocol URI of the parent place.pod.show record."
          },
          "audioUrl": {
            "type": "string",
            "format": "uri",
            "description": "Direct URL to the audio file. Must be publicly accessible and use HTTPS."
          },
          "explicit": {
            "type": "boolean",
            "description": "Whether this specific episode contains explicit content. Defaults to false if omitted."
          },
          "imageUrl": {
            "type": "string",
            "format": "uri",
            "description": "Episode-specific artwork URL. Falls back to show cover if omitted."
          },
          "createdAt": {
            "type": "string",
            "format": "datetime",
            "description": "ISO 8601 timestamp of when the episode record was created."
          },
          "chaptersUrl": {
            "type": "string",
            "format": "uri",
            "description": "URL to a chapters file. Accepts JSON or WebVTT formats."
          },
          "description": {
            "type": "string",
            "description": "Summary or show notes for the episode. May contain basic formatting.",
            "maxGraphemes": 4000
          },
          "publishedAt": {
            "type": "string",
            "format": "datetime",
            "description": "ISO 8601 timestamp when the episode was published. May differ from createdAt."
          },
          "seasonNumber": {
            "type": "integer",
            "description": "Season number the episode belongs to."
          },
          "audioMimeType": {
            "type": "string",
            "maxLength": 100,
            "description": "MIME type of the audio file. Common values: audio/mpeg, audio/wav, audio/aac."
          },
          "episodeNumber": {
            "type": "integer",
            "description": "Episode number within the season or series."
          },
          "transcriptUrl": {
            "type": "string",
            "format": "uri",
            "description": "URL to a transcript file. Improves accessibility and searchability."
          },
          "audioSizeBytes": {
            "type": "integer",
            "description": "File size of the audio asset in bytes. Useful for download progress indicators."
          },
          "durationSeconds": {
            "type": "integer",
            "description": "Length of the episode in whole seconds. Strongly recommended for player UX."
          }
        }
      },
      "description": "A single podcast episode."
    }
  },
  "$type": "com.atproto.lexicon.schema",
  "lexicon": 1,
  "description": "A single podcast episode."
}
```
