EduSynth
Give it a topic and it returns a narrated, animated lesson you can export as a video, a PDF or slides.
The question
How much of a finished lecture can be generated from a single topic?
EduSynth takes it from the slide text to the narration, the video and the quiz, so the teacher edits instead of building from nothing.
Why it exists
A finished lesson needs structure, text, narration and animation. EduSynth produces them from a topic, an audience, a length and a visual theme, and exports in the format the teacher needs.
How it works
From a topic to a lecture
- 1
Topic
A topic, an audience, a length in minutes and a visual theme.
- 2
Slides
Gemini writes the slides with their narration scripts.
- 3
Narration
ElevenLabs turns each script into audio.
- 4
Assembly
A background job builds the video with subtitles and optional animation, and uploads it to Cloudflare R2.
- 5
Export
The same lecture leaves in the format the teacher needs.
- Video
- MP4 lecture.
- Documents
- PDF and PowerPoint.
- Interactive
- A lecture page with questions, mind maps and quizzes.
Decisions
Assembly runs in the background
Generating a video is slow, so the request returns at once and a status endpoint reports progress from 20 to 100% while narration and rendering run.
Two Gemini models, split by job
Gemini 2.5 Pro writes the slide text, and the lighter Gemini 2.0 Flash handles the animations, quizzes and recommendations.
A fallback for every fragile step
A slow zoom replaces the Manim clip when it fails, a fallback question generator covers quizzes and the video is served from local disk when Cloudflare R2 is not configured.
Quizzes that load into a course
Quizzes export for Moodle and Canvas as well as plain text, so a teacher can import them into the course they already run.
Not built yet
- Pictures in slides: the image client is a placeholder for now
Built with
Frameworks and libraries
- Next.js16
- FastAPI
- React Flow
- MoviePy
Data and storage
- Supabase
AI and models
- Gemini
- ElevenLabs
- Groq