postreef
All schemas

Educational Explainer

vidextract.predefined.explainer.v1

An educational explainer video that teaches a concept or how something works. Capture the topic, the core explanation, key concepts and definitions, the logical points made in order, examples/analogies used, formulas, and takeaways. Optional fields are omitted entirely when not stated — do not infer, and never emit placeholder strings like 'not stated' or 'N/A'.

Fields

topicrequired
string

The subject or question the video explains — e.g. 'How nuclear energy works'.

subject
string

Academic field or domain — e.g. 'physics', 'biology', 'economics', 'computer science'. Lowercased. Omit if unclear.

summaryrequired
string

Two to four sentences explaining the concept in plain language.

level
enum

Approximate difficulty level of the explanation. Omit if unclear.

learningObjectives
string[]

What a viewer should understand or be able to do after watching.

keyConcepts
object[]

Important terms or concepts defined or introduced.

mainPointsrequired
object[]

The key explanatory points or steps in the explanation, in logical order.

examplesAndAnalogies
string[]

Concrete examples, analogies, or demonstrations used to make the concept clearer.

formulasOrRules
string[]

Equations, formulas, laws, or rules stated in the video — e.g. 'Work = Force × Distance'.

takeaways
string[]

The core things to remember from the explanation.

commonMisconceptions
string[]

Misunderstandings the video explicitly corrects.

JSON Schema

{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "vidextract.predefined.explainer.v1",
  "title": "Educational Explainer",
  "description": "An educational explainer video that teaches a concept or how something works. Capture the topic, the core explanation, key concepts and definitions, the logical points made in order, examples/analogies used, formulas, and takeaways. 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": [
    "topic",
    "summary",
    "mainPoints"
  ],
  "additionalProperties": false,
  "properties": {
    "topic": {
      "type": "string",
      "description": "The subject or question the video explains — e.g. 'How nuclear energy works'."
    },
    "subject": {
      "type": "string",
      "description": "Academic field or domain — e.g. 'physics', 'biology', 'economics', 'computer science'. Lowercased. Omit if unclear."
    },
    "summary": {
      "type": "string",
      "description": "Two to four sentences explaining the concept in plain language."
    },
    "level": {
      "type": "string",
      "enum": [
        "beginner",
        "intermediate",
        "advanced"
      ],
      "description": "Approximate difficulty level of the explanation. Omit if unclear."
    },
    "learningObjectives": {
      "type": "array",
      "description": "What a viewer should understand or be able to do after watching.",
      "items": {
        "type": "string"
      }
    },
    "keyConcepts": {
      "type": "array",
      "description": "Important terms or concepts defined or introduced.",
      "items": {
        "type": "object",
        "required": [
          "term",
          "definition"
        ],
        "additionalProperties": false,
        "properties": {
          "term": {
            "type": "string",
            "description": "The concept or term."
          },
          "definition": {
            "type": "string",
            "description": "How it is defined or explained in the video."
          }
        }
      }
    },
    "mainPoints": {
      "type": "array",
      "description": "The key explanatory points or steps in the explanation, in logical order.",
      "minItems": 1,
      "items": {
        "type": "object",
        "required": [
          "point"
        ],
        "additionalProperties": false,
        "properties": {
          "point": {
            "type": "string",
            "description": "A single explanatory point or step in the reasoning."
          },
          "detail": {
            "type": "string",
            "description": "Supporting detail or elaboration. Omit if the point stands alone."
          },
          "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}$"
          }
        }
      }
    },
    "examplesAndAnalogies": {
      "type": "array",
      "description": "Concrete examples, analogies, or demonstrations used to make the concept clearer.",
      "items": {
        "type": "string"
      }
    },
    "formulasOrRules": {
      "type": "array",
      "description": "Equations, formulas, laws, or rules stated in the video — e.g. 'Work = Force × Distance'.",
      "items": {
        "type": "string"
      }
    },
    "takeaways": {
      "type": "array",
      "description": "The core things to remember from the explanation.",
      "items": {
        "type": "string"
      }
    },
    "commonMisconceptions": {
      "type": "array",
      "description": "Misunderstandings the video explicitly corrects.",
      "items": {
        "type": "string"
      }
    }
  }
}

Use it via the API

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

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

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