postreef
All schemas

Book Summary

vidextract.predefined.book_summary.v1

A book summary or review video. Capture the book being summarized, its core thesis, the key lessons/ideas in order, named concepts, actionable advice, and the reviewer's verdict. Optional fields are omitted entirely when not stated — do not infer, and never emit placeholder strings like 'not stated' or 'N/A'.

Fields

bookTitlerequired
string

Title of the book being summarized.

author
string

Author of the book. Omit if not stated.

genre
string

Genre or category — e.g. 'self-help', 'business', 'fiction', 'philosophy', 'biography'. Lowercased. Omit if unclear.

overviewrequired
string

Two to four sentences summarizing what the book is about and its central premise.

coreThesis
string

The single most important argument or message of the book, in one sentence. Omit if the video does not articulate one.

keyLessonsrequired
object[]

The main lessons, ideas, or principles drawn from the book, in the order presented.

keyConcepts
object[]

Named frameworks, terms, or concepts introduced by the book — e.g. 'the 4-hour work week', 'growth mindset'.

actionableAdvice
string[]

Concrete, practical steps or habits the viewer is encouraged to apply.

notableQuotes
string[]

Direct quotes from the book or memorable lines, verbatim.

targetAudience
string

Who the book/video is recommended for. Omit if not stated.

verdict
string

The reviewer's overall recommendation or opinion, if expressed. Omit if the video is a neutral summary.

JSON Schema

{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "vidextract.predefined.book_summary.v1",
  "title": "Book Summary",
  "description": "A book summary or review video. Capture the book being summarized, its core thesis, the key lessons/ideas in order, named concepts, actionable advice, and the reviewer's verdict. Optional fields are omitted entirely when not stated — do not infer, and never emit placeholder strings like 'not stated' or 'N/A'.",
  "type": "object",
  "required": [
    "bookTitle",
    "overview",
    "keyLessons"
  ],
  "additionalProperties": false,
  "properties": {
    "bookTitle": {
      "type": "string",
      "description": "Title of the book being summarized."
    },
    "author": {
      "type": "string",
      "description": "Author of the book. Omit if not stated."
    },
    "genre": {
      "type": "string",
      "description": "Genre or category — e.g. 'self-help', 'business', 'fiction', 'philosophy', 'biography'. Lowercased. Omit if unclear."
    },
    "overview": {
      "type": "string",
      "description": "Two to four sentences summarizing what the book is about and its central premise."
    },
    "coreThesis": {
      "type": "string",
      "description": "The single most important argument or message of the book, in one sentence. Omit if the video does not articulate one."
    },
    "keyLessons": {
      "type": "array",
      "description": "The main lessons, ideas, or principles drawn from the book, in the order presented.",
      "minItems": 1,
      "items": {
        "type": "object",
        "required": [
          "title",
          "explanation"
        ],
        "additionalProperties": false,
        "properties": {
          "title": {
            "type": "string",
            "description": "Short label for the lesson."
          },
          "explanation": {
            "type": "string",
            "description": "One to three sentences explaining the lesson."
          },
          "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}$"
          }
        }
      }
    },
    "keyConcepts": {
      "type": "array",
      "description": "Named frameworks, terms, or concepts introduced by the book — e.g. 'the 4-hour work week', 'growth mindset'.",
      "items": {
        "type": "object",
        "required": [
          "term"
        ],
        "additionalProperties": false,
        "properties": {
          "term": {
            "type": "string",
            "description": "The named concept or term."
          },
          "definition": {
            "type": "string",
            "description": "Brief definition as explained in the video. Omit if not explained."
          }
        }
      }
    },
    "actionableAdvice": {
      "type": "array",
      "description": "Concrete, practical steps or habits the viewer is encouraged to apply.",
      "items": {
        "type": "string"
      }
    },
    "notableQuotes": {
      "type": "array",
      "description": "Direct quotes from the book or memorable lines, verbatim.",
      "items": {
        "type": "string"
      }
    },
    "targetAudience": {
      "type": "string",
      "description": "Who the book/video is recommended for. Omit if not stated."
    },
    "verdict": {
      "type": "string",
      "description": "The reviewer's overall recommendation or opinion, if expressed. Omit if the video is a neutral summary."
    }
  }
}

Use it via the API

Pass schemaId: "vidextract.predefined.book_summary.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.book_summary.v1"}'

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

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