Write the script. HyperFrames narrates it, captions it, animates it, and renders the lesson at every aspect ratio your students watch on. Source lives in git, peer review happens in pull requests.
Teachers, course designers, and instructional teams use HyperFrames to spin up explainer videos in the cracks of a week, not in a production sprint. Write a lesson script, run the CLI, and a captioned MP4 lands in your dropbox ready for the LMS. Update next year? Edit the script, re-render, done — no rerecording.
Indie creators get the bones of a production studio in a CLI: a TTS voice that sounds human, accurate captions, a deterministic renderer that won't drift between episodes, and a publishing workflow that's just git push.
<!-- lesson-01.html -->
<!DOCTYPE html>
<html>
<head><link rel="stylesheet" href="/lesson.css" /></head>
<body data-width="1920" data-height="1080" data-fps="30">
<audio data-narration src="./narration.mp3"></audio>
<section data-start="0" data-duration="6">
<h1 class="title">What is a hash function?</h1>
<p class="sub">Lesson 01 · 4 minutes</p>
</section>
<section data-start="6" data-duration="20" class="diagram">
<!-- pipe a value through a hash, show fixed-width output -->
<div class="bucket bucket-1"></div>
<div class="bucket bucket-2"></div>
<div class="bucket bucket-3"></div>
</section>
<div class="captions" data-captions="./narration.vtt"></div>
</body>
</html># 1. Generate narration from the script.
hyperframes tts lesson-01.script.md \
--voice af_heart --out narration.mp3
# 2. Transcribe for word-perfect captions.
hyperframes transcribe narration.mp3 \
--model small --out narration.vtt
# 3. Render the lesson — captions appear automatically.
hyperframes render lesson-01.html \
--out lesson-01.mp4 --aspect 16:9,9:16No microphone needed. No video editor needed. Just a script.