postreef
All schemas

Q&A / FAQ

vidextract.predefined.qanda.v1

A FAQ or Q&A video where questions are posed and answered (audience questions, autocomplete/web questions, AMA, or a frequently-asked-questions explainer). Capture each question paired with a clear, self-contained answer, in order. Optional fields are omitted entirely when not stated — do not infer, and never emit placeholder strings like 'not stated' or 'N/A'.

Fields

titlerequired
string

Title or subject of the Q&A.

summary
string

One to three sentences describing what the Q&A is about. Omit if trivial.

respondents
object[]

The person or people answering the questions.

questionsrequired
object[]

Each question and its answer, in the order they appear.

topicsCovered
string[]

The distinct themes or subjects spanned by the questions.

keyTakeaways
string[]

The most useful answers or pieces of information a viewer should remember.

JSON Schema

{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "vidextract.predefined.qanda.v1",
  "title": "Q&A / FAQ",
  "description": "A FAQ or Q&A video where questions are posed and answered (audience questions, autocomplete/web questions, AMA, or a frequently-asked-questions explainer). Capture each question paired with a clear, self-contained answer, in order. 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": [
    "title",
    "questions"
  ],
  "additionalProperties": false,
  "properties": {
    "title": {
      "type": "string",
      "description": "Title or subject of the Q&A."
    },
    "summary": {
      "type": "string",
      "description": "One to three sentences describing what the Q&A is about. Omit if trivial."
    },
    "respondents": {
      "type": "array",
      "description": "The person or people answering the questions.",
      "items": {
        "type": "object",
        "required": [
          "name"
        ],
        "additionalProperties": false,
        "properties": {
          "name": {
            "type": "string",
            "description": "Name as stated."
          },
          "title": {
            "type": "string",
            "description": "Their role or what they are known for. Omit if not stated."
          }
        }
      }
    },
    "questions": {
      "type": "array",
      "description": "Each question and its answer, in the order they appear.",
      "minItems": 1,
      "items": {
        "type": "object",
        "required": [
          "question",
          "answer"
        ],
        "additionalProperties": false,
        "properties": {
          "question": {
            "type": "string",
            "description": "The question, paraphrased concisely or verbatim."
          },
          "answer": {
            "type": "string",
            "description": "A clear, self-contained answer in one to three sentences, capturing the substance of the response."
          },
          "category": {
            "type": "string",
            "description": "Optional grouping label for the question — e.g. 'pricing', 'getting started', 'personal'. Omit if not applicable."
          },
          "askedBy": {
            "type": "string",
            "description": "Who asked it, if attributed. Omit if not stated."
          },
          "respondent": {
            "type": "string",
            "description": "Who answered, when more than one respondent. Omit if single respondent or obvious."
          },
          "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}$"
          }
        }
      }
    },
    "topicsCovered": {
      "type": "array",
      "description": "The distinct themes or subjects spanned by the questions.",
      "items": {
        "type": "string"
      }
    },
    "keyTakeaways": {
      "type": "array",
      "description": "The most useful answers or pieces of information a viewer should remember.",
      "items": {
        "type": "string"
      }
    }
  }
}

Use it via the API

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

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

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