changedOutput schema / (root)
Previous value: -nullNew value: +{
+ "properties": {
+ "attribution": {
+ "description": "How to credit Bettyapp and the lecture's creator. Follow it.",
+ "type": [
+ "string",
+ "null"
+ ]
+ },
+ "lecture": {
+ "allOf": [
+ {
+ "properties": {
+ "course": {
+ "properties": {
+ "id": {
+ "type": [
+ "integer",
+ "null"
+ ]
+ },
+ "name": {
+ "type": [
+ "string",
+ "null"
+ ]
+ },
+ "url": {
+ "type": [
+ "string",
+ "null"
+ ]
+ }
+ },
+ "required": [
+ "id",
+ "name",
+ "url"
+ ],
+ "type": "object"
+ },
+ "id": {
+ "description": "The lecture's id.",
+ "type": [
+ "integer",
+ "null"
+ ]
+ },
+ "length_seconds": {
+ "description": "How long it is.",
+ "type": [
+ "integer",
+ "null"
+ ]
+ },
+ "number": {
+ "description": "Its place in its course.",
+ "type": [
+ "integer",
+ "null"
+ ]
+ },
+ "of": {
+ "description": "Lectures in its course with pages.",
+ "type": [
+ "integer",
+ "null"
+ ]
+ },
+ "subjects": {
+ "description": "Its Subjects, each with its Levels.",
+ "items": {
+ "properties": {
+ "levels": {
+ "items": {
+ "type": [
+ "string",
+ "null"
+ ]
+ },
+ "type": "array"
+ },
+ "subject": {
+ "type": [
+ "string",
+ "null"
+ ]
+ }
+ },
+ "required": [
+ "subject",
+ "levels"
+ ],
+ "type": "object"
+ },
+ "type": "array"
+ },
+ "teacher": {
+ "description": "The course's teacher or publisher.",
+ "type": [
+ "string",
+ "null"
+ ]
+ },
+ "title": {
+ "description": "Its title.",
+ "type": [
+ "string",
+ "null"
+ ]
+ },
+ "url": {
+ "description": "Its page on Bettyapp.",
+ "type": [
+ "string",
+ "null"
+ ]
+ }
+ },
+ "required": [
+ "id",
+ "title",
+ "url",
+ "course",
+ "teacher",
+ "subjects"
+ ],
+ "type": "object"
+ },
+ {
+ "properties": {
+ "credit": {
+ "description": "Who made the lecture and its licence. Show line wherever the moment is linked.",
+ "properties": {
+ "creator": {
+ "description": "Who made the lecture.",
+ "type": [
+ "string",
+ "null"
+ ]
+ },
+ "creator_url": {
+ "description": "The creator's own site.",
+ "type": [
+ "string",
+ "null"
+ ]
+ },
+ "licence": {
+ "description": "The licence, for example CC BY-NC-SA 4.0.",
+ "type": [
+ "string",
+ "null"
+ ]
+ },
+ "licence_url": {
+ "description": "The licence's text.",
+ "type": [
+ "string",
+ "null"
+ ]
+ },
+ "line": {
+ "description": "The credit line, as the lecture page shows it.",
+ "type": [
+ "string",
+ "null"
+ ]
+ },
+ "transcript": {
+ "description": "Whether the lecture page may show the whole transcript, or only short excerpts.",
+ "enum": [
+ "full",
+ "short excerpts only"
+ ],
+ "type": [
+ "string",
+ "null"
+ ]
+ },
+ "watch_at_source": {
+ "description": "The lecture at its own source (YouTube, the publisher).",
+ "type": [
+ "string",
+ "null"
+ ]
+ }
+ },
+ "required": [
+ "line",
+ "creator",
+ "licence",
+ "transcript"
+ ],
+ "type": [
+ "object",
+ "null"
+ ]
+ }
+ },
+ "type": "object"
+ }
+ ]
+ },
+ "moments": {
+ "description": "Its moments in order (without lecture: it is the one above).",
+ "items": {
+ "description": "A moment of a lecture: where it starts and ends, what it explains, and where to play it.",
+ "properties": {
+ "also_called": {
+ "description": "Other names for its topic.",
+ "items": {
+ "type": [
+ "string",
+ "null"
+ ]
+ },
+ "type": "array"
+ },
+ "credit": {
+ "description": "Who made the lecture and its licence. Show line wherever the moment is linked.",
+ "properties": {
+ "creator": {
+ "description": "Who made the lecture.",
+ "type": [
+ "string",
+ "null"
+ ]
+ },
+ "creator_url": {
+ "description": "The creator's own site.",
+ "type": [
+ "string",
+ "null"
+ ]
+ },
+ "licence": {
+ "description": "The licence, for example CC BY-NC-SA 4.0.",
+ "type": [
+ "string",
+ "null"
+ ]
+ },
+ "licence_url": {
+ "description": "The licence's text.",
+ "type": [
+ "string",
+ "null"
+ ]
+ },
+ "line": {
+ "description": "The credit line, as the lecture page shows it.",
+ "type": [
+ "string",
+ "null"
+ ]
+ },
+ "transcript": {
+ "description": "Whether the lecture page may show the whole transcript, or only short excerpts.",
+ "enum": [
+ "full",
+ "short excerpts only"
+ ],
+ "type": [
+ "string",
+ "null"
+ ]
+ },
+ "watch_at_source": {
+ "description": "The lecture at its own source (YouTube, the publisher).",
+ "type": [
+ "string",
+ "null"
+ ]
+ }
+ },
+ "required": [
+ "line",
+ "creator",
+ "licence",
+ "transcript"
+ ],
+ "type": [
+ "object",
+ "null"
+ ]
+ },
+ "end_seconds": {
+ "description": "Where its part of the lecture ends.",
+ "type": [
+ "integer",
+ "null"
+ ]
+ },
+ "excerpt": {
+ "description": "The teacher's words at its start: at most 300 characters, and as short as the lecture's licence asks (at most 40 words for lectures whose licence allows only short excerpts).",
+ "type": [
+ "string",
+ "null"
+ ]
+ },
+ "lecture": {
+ "properties": {
+ "course": {
+ "properties": {
+ "id": {
+ "type": [
+ "integer",
+ "null"
+ ]
+ },
+ "name": {
+ "type": [
+ "string",
+ "null"
+ ]
+ },
+ "url": {
+ "type": [
+ "string",
+ "null"
+ ]
+ }
+ },
+ "required": [
+ "id",
+ "name",
+ "url"
+ ],
+ "type": "object"
+ },
+ "id": {
+ "description": "The lecture's id.",
+ "type": [
+ "integer",
+ "null"
+ ]
+ },
+ "length_seconds": {
+ "description": "How long it is.",
+ "type": [
+ "integer",
+ "null"
+ ]
+ },
+ "number": {
+ "description": "Its place in its course.",
+ "type": [
+ "integer",
+ "null"
+ ]
+ },
+ "of": {
+ "description": "Lectures in its course with pages.",
+ "type": [
+ "integer",
+ "null"
+ ]
+ },
+ "subjects": {
+ "description": "Its Subjects, each with its Levels.",
+ "items": {
+ "properties": {
+ "levels": {
+ "items": {
+ "type": [
+ "string",
+ "null"
+ ]
+ },
+ "type": "array"
+ },
+ "subject": {
+ "type": [
+ "string",
+ "null"
+ ]
+ }
+ },
+ "required": [
+ "subject",
+ "levels"
+ ],
+ "type": "object"
+ },
+ "type": "array"
+ },
+ "teacher": {
+ "description": "The course's teacher or publisher.",
+ "type": [
+ "string",
+ "null"
+ ]
+ },
+ "title": {
+ "description": "Its title.",
+ "type": [
+ "string",
+ "null"
+ ]
+ },
+ "url": {
+ "description": "Its page on Bettyapp.",
+ "type": [
+ "string",
+ "null"
+ ]
+ }
+ },
+ "required": [
+ "id",
+ "title",
+ "url",
+ "course",
+ "teacher",
+ "subjects"
+ ],
+ "type": "object"
+ },
+ "play_url": {
+ "description": "The lecture page, playing from this moment. Send the student here.",
+ "type": [
+ "string",
+ "null"
+ ]
+ },
+ "questions": {
+ "description": "Questions a student might ask that it answers (as title).",
+ "items": {
+ "type": [
+ "string",
+ "null"
+ ]
+ },
+ "type": "array"
+ },
+ "start_seconds": {
+ "description": "Where it starts, in seconds from the lecture's start.",
+ "type": [
+ "integer",
+ "null"
+ ]
+ },
+ "summary": {
+ "description": "One or two sentences on what it explains (as title).",
+ "type": [
+ "string",
+ "null"
+ ]
+ },
+ "thumbnail_url": {
+ "description": "A picture of the lecture at about this moment.",
+ "type": [
+ "string",
+ "null"
+ ]
+ },
+ "time": {
+ "description": "start_seconds as a clock (4:33).",
+ "type": [
+ "string",
+ "null"
+ ]
+ },
+ "title": {
+ "description": "What it explains, in a few words (written with the help of an AI model and checked against the lecture).",
+ "type": [
+ "string",
+ "null"
+ ]
+ },
+ "topics": {
+ "description": "The topics explained there, most mentioned first.",
+ "items": {
+ "type": [
+ "string",
+ "null"
+ ]
+ },
+ "type": "array"
+ }
+ },
+ "required": [
+ "start_seconds",
+ "end_seconds",
+ "time",
+ "title",
+ "summary",
+ "questions",
+ "topics",
+ "excerpt",
+ "play_url",
+ "thumbnail_url",
+ "credit"
+ ],
+ "type": "object"
+ },
+ "type": "array"
+ },
+ "terms": {
+ "description": "The terms of use.",
+ "type": [
+ "string",
+ "null"
+ ]
+ }
+ },
+ "required": [
+ "attribution",
+ "terms",
+ "lecture",
+ "moments"
+ ],
+ "type": "object"
+}