Generate narration from your transcript
[
{
"slide": 1,
"fragments": [
{
"fragment_index": -1,
"text_description": "Invictus\nUnbowed, Unbroken.",
"image_description": ""
}
]
},
{
"slide": 2,
"fragments": [
{
"fragment_index": 1,
"text_description": "Meet the Poet",
"image_description": ""
},
{
"fragment_index": 2,
"text_description": "",
"image_description": "https://asset.sparkl.ac/pb/sparkl-vector-images/img_ncert/1lg5URugVso6zVHsXyJG0vnFwI219tWfB0y4XyCB.png"
},
{
"fragment_index": 3,
"text_description": "William Ernest Henley (1849–1903)",
"image_description": ""
},
{
"fragment_index": 4,
"text_description": "Henley’s fierce will to live shines through his poem “Invictus”.",
"image_description": ""
},
{
"fragment_index": 5,
"text_description": "Key Points:\nBorn in 1849, Gloucester, England.\nLost his left leg to bone tuberculosis at 12.\nWrote “Invictus” while in hospital, saving the other leg.\nPersonal struggle shaped the poem’s message of courage.",
"image_description": ""
}
]
},
{
"slide": 3,
"fragments": [
{
"fragment_index": -1,
"text_description": "Time & Setting",
"image_description": ""
},
{
"fragment_index": 1,
"text_description": "",
"image_description": "https://asset.sparkl.ac/pb/sparkl-vector-images/img_ncert/vSEwudkzBb0I7L8QqABnqeK3Zi6TLRNcEYhIgDk9.png"
},
{
"fragment_index": 2,
"text_description": "Historical Context\nUnderstanding when and why Henley penned “Invictus” helps explain its message of self-mastery.\nKey Points:\nWritten in 1875 while Henley was hospitalised in Edinburgh.\nHe faced tuberculosis of the bone and possible leg amputation.\nVictorian Britain admired courage, duty, and self-discipline.\nThese pressures shaped his vow: “I am the master of my fate.”",
"image_description": ""
}
]
},
{
"slide": 4,
"fragments": [
{
"fragment_index": -1,
"text_description": "Core Message",
"image_description": ""
},
{
"fragment_index": 1,
"text_description": "Resilience",
"image_description": ""
},
{
"fragment_index": 2,
"text_description": "Unbreakable spirit—continuing to fight when life feels painful and dark.\nHenley thanks “whatever gods may be” for his “unconquerable soul,” showing indomitable courage.",
"image_description": ""
}
]
},
{
"slide": 5,
"fragments": [
{
"fragment_index": -1,
"text_description": "A Dark Simile",
"image_description": ""
},
{
"fragment_index": 1,
"text_description": "",
"image_description": "https://asset.sparkl.ac/pb/sparkl-vector-images/img_ncert/GT3o3mr1KLpovDohFrDhRwSd4cd0TUW9kcu333Qh.png"
},
{
"fragment_index": 2,
"text_description": "Meaning of “Black as the pit”\nA simile directly compares two things using “as” or “like”.\n“Black as the pit” turns the poet’s night of pain into a deep, endless hole, showing how overwhelming it feels.\nKey Points:\nSimile = comparison with “as” or “like”.\nPit suggests great depth and no escape.\nHighlights the total darkness of Henley’s suffering.",
"image_description": ""
}
]
},
{
"slide": 6,
"fragments": [
{
"fragment_index": -1,
"text_description": "Fate vs Free Will",
"image_description": ""
},
{
"fragment_index": 1,
"text_description": "Fate (External Forces)\n“Night” symbolises overwhelming hardship.\n“Bludgeonings of chance” show random suffering.\nEvents lie outside the speaker’s control.",
"image_description": ""
},
{
"fragment_index": 2,
"text_description": "Free Will (Inner Mastery)\n“I am the master of my fate” asserts choice.\nMind remains “unconquerable” despite pain.\nCourage lets the speaker stand “unafraid.”",
"image_description": ""
},
{
"fragment_index": 3,
"text_description": "Key Similarities\nBoth themes shape human response to hardship.\nTheir tension drives the poem’s central message.",
"image_description": ""
}
]
},
{
"slide": 7,
"fragments": [
{
"fragment_index": -1,
"text_description": "Check Your Ear\nconst correctOption = 1;\n const answerCards = document.querySelectorAll('.answer-card');\n const submitBtn = document.getElementById('submitBtn');\n const feedbackCorrect = document.getElementById('feedbackCorrect');\n const feedbackIncorrect = document.getElementById('feedbackIncorrect');\n\n let selectedOption = null;\n\n answerCards.forEach((card, index) => {\n card.addEventListener('click', () => {\n answerCards.forEach(c => c.classList.remove('border-blue-500', 'bg-blue-50'));\n card.classList.add('border-blue-500', 'bg-blue-50');\n selectedOption = index;\n });\n });\n\n submitBtn.addEventListener('click', () => {\n if (selectedOption === null) return;\n\n if (selectedOption === correctOption) {\n feedbackCorrect.classList.remove('hidden');\n feedbackIncorrect.classList.add('hidden');\n } else {\n feedbackIncorrect.classList.remove('hidden');\n feedbackCorrect.classList.add('hidden');\n }\n });",
"image_description": ""
},
{
"fragment_index": 1,
"text_description": "Question\nIdentify the rhyme scheme of the first stanza of “Invictus.”",
"image_description": ""
},
{
"fragment_index": 2,
"text_description": "1\nA) AABB\n2\nB) ABAB\n3\nC) ABCB\n4\nD) ABBA",
"image_description": ""
},
{
"fragment_index": 3,
"text_description": "Hint:\nCompare the ending words: night / plight and soul / goal.",
"image_description": ""
},
{
"fragment_index": 4,
"text_description": "Submit Answer",
"image_description": ""
},
{
"fragment_index": 5,
"text_description": "Correct!\nWell done. The stanza follows the alternating ABAB rhyme scheme.",
"image_description": ""
},
{
"fragment_index": 6,
"text_description": "Incorrect\nReview the pattern: line 1 rhymes with 3, line 2 with 4 — ABAB.",
"image_description": ""
}
]
},
{
"slide": 8,
"fragments": [
{
"fragment_index": -1,
"text_description": "Match Devices\nDrag each literary device onto the quotation it matches to practice identifying literary devices.\nCheck Answers\nResults\n// Drag and drop functionality\n const draggableItems = document.querySelectorAll('.draggable-item');\n const dropZones = document.querySelectorAll('.drop-zone');\n const checkAnswersBtn = document.getElementById('checkAnswersBtn');\n const feedbackArea = document.getElementById('feedbackArea');\n const feedbackContent = document.getElementById('feedbackContent');\n\n draggableItems.forEach(item => {\n item.addEventListener('dragstart', handleDragStart);\n item.addEventListener('dragend', handleDragEnd);\n });\n\n dropZones.forEach(zone => {\n zone.addEventListener('dragover', handleDragOver);\n zone.addEventListener('drop', handleDrop);\n zone.addEventListener('dragenter', handleDragEnter);\n zone.addEventListener('dragleave', handleDragLeave);\n });\n\n function handleDragStart(e) {\n e.target.classList.add('opacity-50');\n e.dataTransfer.setData('text/plain', e.target.dataset.id);\n }\n\n function handleDragEnd(e) {\n e.target.classList.remove('opacity-50');\n }\n\n function handleDragOver(e) {\n e.preventDefault();\n }\n\n function handleDragEnter(e) {\n e.preventDefault();\n e.target.closest('.drop-zone').classList.add('border-green-500', 'bg-green-50');\n }\n\n function handleDragLeave(e) {\n e.target.closest('.drop-zone').classList.remove('border-green-500', 'bg-green-50');\n }\n\n function handleDrop(e) {\n e.preventDefault();\n const dropZone = e.target.closest('.drop-zone');\n dropZone.classList.remove('border-green-500', 'bg-green-50');\n\n const itemId = e.dataTransfer.getData('text/plain');\n const draggedItem = document.querySelector(`[data-id=\"${itemId}\"]`);\n\n if (draggedItem && dropZone) {\n dropZone.appendChild(draggedItem);\n dropZone.querySelector('.text-center').style.display = 'none';\n }\n }\n\n // Check answers functionality\n checkAnswersBtn.addEventListener('click', () => {\n const correctMatches = {\n quote1: 'device1',\n quote2: 'device2',\n quote3: 'device3'\n };\n let score = 0;\n Object.keys(correctMatches).forEach(zoneId => {\n const zone = document.querySelector(`[data-id=\"${zoneId}\"]`);\n const child = zone.querySelector('.draggable-item');\n if (child && child.dataset.id === correctMatches[zoneId]) {\n score++;\n }\n });\n feedbackArea.classList.remove('hidden');\n feedbackContent.innerHTML = `<p class=\"text-gray-800\">You matched ${score} out of 3 correctly.</p>`;\n });",
"image_description": ""
},
{
"fragment_index": 1,
"text_description": "Draggable Items\nMetaphor\nSimile\nPersonification",
"image_description": ""
},
{
"fragment_index": 2,
"text_description": "Drop Zones\n“My head is bloody, but unbowed.”\n“Black as the pit from pole to pole.”\n“In the fell clutch of circumstance.”",
"image_description": ""
},
{
"fragment_index": 3,
"text_description": "Tip:\nFocus on the image or comparison in each line to spot the device quickly.",
"image_description": ""
}
]
},
{
"slide": 9,
"fragments": [
{
"fragment_index": -1,
"text_description": "Key Takeaways",
"image_description": ""
},
{
"fragment_index": 1,
"text_description": "Born from Struggle\nHenley’s illness sparked verses that radiate unyielding spirit.",
"image_description": ""
},
{
"fragment_index": 2,
"text_description": "Resilience Defined\nThe speaker refuses to break, whatever pain or fate delivers.",
"image_description": ""
},
{
"fragment_index": 3,
"text_description": "Stark Imagery\nNight and pit symbols underline the depth of hardship.",
"image_description": ""
},
{
"fragment_index": 4,
"text_description": "Marching Rhythm\nABAB rhyme drives a steady, forward beat like marching feet.",
"image_description": ""
},
{
"fragment_index": 5,
"text_description": "Claiming Free Will\n“I am the master of my fate” proclaims total self-command.",
"image_description": ""
}
]
}
]