postreef
All schemas

Podcast Episode

vidextract.predefined.podcast.v1

A podcast episode (or long-form interview/conversation) extracted from a video. Capture the show, participants, the topics discussed in order, the key takeaways, notable quotes, and resources mentioned. Optional fields are omitted entirely when not stated in the content — do not infer, and never emit placeholder strings like 'not stated' or 'N/A'.

Fields

showName
string

Name of the podcast or show — e.g. 'The Rich Roll Podcast'. Omit if not stated.

episodeTitlerequired
string

Title or main subject of this specific episode.

episodeNumber
string

Episode number or identifier as stated — e.g. '142', 'Ep. 1'. Omit if not stated.

summary
string

Two to four sentences summarizing what the episode is about and why it matters.

participantsrequired
object[]

People in the conversation — hosts and guests.

topicsrequired
object[]

Ordered list of distinct topics or segments discussed, in the order they come up.

keyTakeawaysrequired
string[]

The most important insights, lessons, or conclusions a listener should walk away with.

notableQuotes
object[]

Memorable or quotable statements made during the episode, verbatim.

resourcesMentioned
object[]

Books, products, people, companies, studies, or links recommended or referenced during the conversation.

JSON Schema

{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "vidextract.predefined.podcast.v1",
  "title": "Podcast Episode",
  "description": "A podcast episode (or long-form interview/conversation) extracted from a video. Capture the show, participants, the topics discussed in order, the key takeaways, notable quotes, and resources mentioned. Optional fields are omitted entirely when not stated in the content — do not infer, and never emit placeholder strings like 'not stated' or 'N/A'.",
  "type": "object",
  "required": [
    "episodeTitle",
    "participants",
    "topics",
    "keyTakeaways"
  ],
  "additionalProperties": false,
  "properties": {
    "showName": {
      "type": "string",
      "description": "Name of the podcast or show — e.g. 'The Rich Roll Podcast'. Omit if not stated."
    },
    "episodeTitle": {
      "type": "string",
      "description": "Title or main subject of this specific episode."
    },
    "episodeNumber": {
      "type": "string",
      "description": "Episode number or identifier as stated — e.g. '142', 'Ep. 1'. Omit if not stated."
    },
    "summary": {
      "type": "string",
      "description": "Two to four sentences summarizing what the episode is about and why it matters."
    },
    "participants": {
      "type": "array",
      "description": "People in the conversation — hosts and guests.",
      "minItems": 1,
      "items": {
        "type": "object",
        "required": [
          "name",
          "role"
        ],
        "additionalProperties": false,
        "properties": {
          "name": {
            "type": "string",
            "description": "Person's name as stated."
          },
          "role": {
            "type": "string",
            "enum": [
              "host",
              "co-host",
              "guest",
              "narrator"
            ],
            "description": "Their role in the episode."
          },
          "title": {
            "type": "string",
            "description": "Their profession, credentials, or what they are known for — e.g. 'neuroscientist at Stanford', 'author of Atomic Habits'. Omit if not stated."
          }
        }
      }
    },
    "topics": {
      "type": "array",
      "description": "Ordered list of distinct topics or segments discussed, in the order they come up.",
      "minItems": 1,
      "items": {
        "type": "object",
        "required": [
          "title"
        ],
        "additionalProperties": false,
        "properties": {
          "title": {
            "type": "string",
            "description": "Short label for the topic or segment."
          },
          "summary": {
            "type": "string",
            "description": "One to three sentences on what was said about this topic."
          },
          "videoTimestamp": {
            "type": "string",
            "description": "Start timestamp in source video, 'mm:ss' or 'h:mm:ss'. Omit if unknown.",
            "pattern": "^(\\d{1,2}:)?\\d{1,2}:\\d{2}$"
          }
        }
      }
    },
    "keyTakeaways": {
      "type": "array",
      "description": "The most important insights, lessons, or conclusions a listener should walk away with.",
      "minItems": 1,
      "items": {
        "type": "string"
      }
    },
    "notableQuotes": {
      "type": "array",
      "description": "Memorable or quotable statements made during the episode, verbatim.",
      "items": {
        "type": "object",
        "required": [
          "quote"
        ],
        "additionalProperties": false,
        "properties": {
          "quote": {
            "type": "string",
            "description": "The statement, verbatim."
          },
          "speaker": {
            "type": "string",
            "description": "Who said it. Omit if unclear."
          },
          "videoTimestamp": {
            "type": "string",
            "description": "Start timestamp in source video, 'mm:ss' or 'h:mm:ss'. Omit if unknown.",
            "pattern": "^(\\d{1,2}:)?\\d{1,2}:\\d{2}$"
          }
        }
      }
    },
    "resourcesMentioned": {
      "type": "array",
      "description": "Books, products, people, companies, studies, or links recommended or referenced during the conversation.",
      "items": {
        "type": "object",
        "required": [
          "name"
        ],
        "additionalProperties": false,
        "properties": {
          "name": {
            "type": "string",
            "description": "Name of the resource."
          },
          "type": {
            "type": "string",
            "enum": [
              "book",
              "product",
              "person",
              "company",
              "study",
              "website",
              "other"
            ],
            "description": "Kind of resource. Omit if unclear."
          },
          "context": {
            "type": "string",
            "description": "Why it was mentioned. Omit if not stated."
          }
        }
      }
    }
  }
}

Use it via the API

Pass schemaId: "vidextract.predefined.podcast.v1" when you submit an extraction. The call returns an id immediately. Poll GET /v1/extractions/{id}/result (or register a webhook) for the structured result.

curl -s -X POST https://postreef.com/v1/extractions \
  -H "x-api-key: $VIDEXTRACT_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"url": "https://www.youtube.com/watch?v=dQw4w9WgXcQ",
       "inputs": ["transcript", "comments"],
       "schemaId": "vidextract.predefined.podcast.v1"}'

Full request/response shape in the API reference; copy-paste poll loops in the API quickstart.

Pass schemaId: "vidextract.predefined.podcast.v1" in your request to extract with this schema.