Language Lesson
vidextract.predefined.language.v1
A language-learning lesson extracted from a video — vocabulary, phrases, grammar, or pronunciation for a target language. Captures the language taught, the vocabulary and phrases with translations, grammar points, and practice guidance. Optional fields are omitted when the creator does not state them — do not infer.
Fields
Title of the lesson, e.g. '100 everyday Spanish sentences'.
Two or three sentences on what the lesson teaches and who it is for.
The language being taught, e.g. 'Spanish', 'Japanese'.
The language the lesson is delivered in, e.g. 'English'. Omit if unclear.
Target proficiency level if stated or clearly implied. Omit if unclear.
Primary focus of the lesson. Pick the single best fit. Omit if unclear.
Thematic topic if any, e.g. 'greetings', 'restaurant', 'numbers', 'past tense'. Omit if general.
Individual words taught with their translations.
Full phrases or sentences taught with their translations.
Grammar rules or concepts explained in the lesson.
Tips on sounds, accents, or pronunciation, e.g. 'roll the double R', 'the H is silent'.
Cultural context, etiquette, or regional differences mentioned, e.g. 'formal vs informal you'.
Advice for practicing or memorizing the material.
Errors learners commonly make that the creator warns against.
JSON Schema
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"$id": "vidextract.predefined.language.v1",
"title": "Language Lesson",
"description": "A language-learning lesson extracted from a video — vocabulary, phrases, grammar, or pronunciation for a target language. Captures the language taught, the vocabulary and phrases with translations, grammar points, and practice guidance. Optional fields are omitted when the creator does not state them — do not infer.",
"type": "object",
"required": [
"title",
"summary",
"targetLanguage"
],
"additionalProperties": false,
"properties": {
"title": {
"type": "string",
"description": "Title of the lesson, e.g. '100 everyday Spanish sentences'."
},
"summary": {
"type": "string",
"description": "Two or three sentences on what the lesson teaches and who it is for."
},
"targetLanguage": {
"type": "string",
"description": "The language being taught, e.g. 'Spanish', 'Japanese'."
},
"instructionLanguage": {
"type": "string",
"description": "The language the lesson is delivered in, e.g. 'English'. Omit if unclear."
},
"level": {
"type": "string",
"enum": [
"beginner",
"elementary",
"intermediate",
"advanced",
"fluent"
],
"description": "Target proficiency level if stated or clearly implied. Omit if unclear."
},
"lessonFocus": {
"type": "string",
"enum": [
"vocabulary",
"phrases",
"grammar",
"pronunciation",
"conversation",
"listening",
"reading",
"writing",
"verb-conjugation"
],
"description": "Primary focus of the lesson. Pick the single best fit. Omit if unclear."
},
"topic": {
"type": "string",
"description": "Thematic topic if any, e.g. 'greetings', 'restaurant', 'numbers', 'past tense'. Omit if general."
},
"vocabulary": {
"type": "array",
"description": "Individual words taught with their translations.",
"items": {
"type": "object",
"required": [
"term",
"translation"
],
"additionalProperties": false,
"properties": {
"term": {
"type": "string",
"description": "The word or term in the target language."
},
"translation": {
"type": "string",
"description": "Its meaning in the instruction language."
},
"partOfSpeech": {
"type": "string",
"description": "Part of speech, lowercased, e.g. 'noun', 'verb', 'adjective'. Omit if not stated."
},
"pronunciation": {
"type": "string",
"description": "Pronunciation guide or phonetic hint as given. Omit if not stated."
},
"gender": {
"type": "string",
"description": "Grammatical gender if applicable, e.g. 'masculine', 'feminine'. Omit otherwise."
}
}
}
},
"phrases": {
"type": "array",
"description": "Full phrases or sentences taught with their translations.",
"items": {
"type": "object",
"required": [
"phrase",
"translation"
],
"additionalProperties": false,
"properties": {
"phrase": {
"type": "string",
"description": "The phrase or sentence in the target language."
},
"translation": {
"type": "string",
"description": "Its meaning in the instruction language."
},
"literalTranslation": {
"type": "string",
"description": "Word-for-word literal translation if the creator gives one separately. Omit otherwise."
},
"usageNote": {
"type": "string",
"description": "When or how to use it, register, or context, as described. Omit if none."
}
}
}
},
"grammarPoints": {
"type": "array",
"description": "Grammar rules or concepts explained in the lesson.",
"items": {
"type": "object",
"required": [
"rule"
],
"additionalProperties": false,
"properties": {
"rule": {
"type": "string",
"description": "The grammar rule or concept, e.g. 'adjectives agree in gender and number'."
},
"explanation": {
"type": "string",
"description": "Explanation as given. Omit if the rule is self-explanatory."
},
"example": {
"type": "string",
"description": "An example sentence illustrating the rule. Omit if none given."
}
}
}
},
"pronunciationTips": {
"type": "array",
"description": "Tips on sounds, accents, or pronunciation, e.g. 'roll the double R', 'the H is silent'.",
"items": {
"type": "string"
}
},
"culturalNotes": {
"type": "array",
"description": "Cultural context, etiquette, or regional differences mentioned, e.g. 'formal vs informal you'.",
"items": {
"type": "string"
}
},
"studyTips": {
"type": "array",
"description": "Advice for practicing or memorizing the material.",
"items": {
"type": "string"
}
},
"commonMistakes": {
"type": "array",
"description": "Errors learners commonly make that the creator warns against.",
"items": {
"type": "string"
}
}
}
}Use it via the API
Pass schemaId: "vidextract.predefined.language.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.language.v1"}'Full request/response shape in the API reference; copy-paste poll loops in the API quickstart.
Pass schemaId: "vidextract.predefined.language.v1" in your request to extract with this schema.