LMS-2241 Production log
Pilot: a Grade 8 math concept video made 100% with AI
Deliverables
| Item | File |
|---|---|
| Korean video (1080p, H.264, 30 fps, 4:27) | LMS-2241_linear-function_ko_1080p.mp4 |
| Korean script (subtitles + TTS input, timestamps) | LMS-2241_script_ko.md |
| English video (1080p, 3:51) | LMS-2241_linear-function_en_1080p.mp4 |
| English script | LMS-2241_script_en.md |
| Production log | LMS-2241_production-log_en.md (this file), LMS-2241_production-log_ko.md (Korean) |
- Unit: Linear functions and graphs — slope and y-intercept (the ticket's recommended unit)
- Length: 4:27 = 4 s intro + 4:18 lesson + 5 s outro (requirement: under 5 minutes ✅)
- Intro and outro: W Labs title card (grade, unit), closing card (next lesson preview, "made with AI" note), short code-synthesized chime
- Subtitles: Korean subtitles burned into the video ✅
- Teacher avatar: an original illustrated character drawn in code. No real person's likeness ✅
- Textbook copying: none. The example (water tank, 1 L + 2 L per minute) and the practice problem (y = −2x + 4) are newly written ✅
- Curriculum: 2022 revised curriculum, middle school math, "Change and Relationships" area — [9수02-15] understand linear functions and draw their graphs, [9수02-16] understand and apply the properties of linear function graphs (Grade 8). ⚠️ Matched using a secondary source (Namuwiki); still needs checking against the official NCIC text
English version
Same scenes, graphics and avatar; only the script, voice, subtitles and on-screen text are in English.
- Voice: Microsoft Edge neural TTS
en-US-AvaNeural, rate −6% - Notation: y = ax + b, same as the Korean version (not the US-style y = mx + b)
- Length: 3:51 (English narration is faster; includes intro and outro)
Style variants
The same lesson was also rendered in four designs (each in Korean and English).
| Variant | Design | Motion |
|---|---|---|
| Classic (default) | Light paper background, blue/orange, Noto Sans KR | Calm and clean, 0.4 s |
| Chalkboard | Green chalkboard in a wood frame, chalk colors, Gaegu handwriting | Soft, 0.5 s |
| Night Lab | Dark navy, cyan/magenta, IBM Plex Sans KR, teacher on the left | Sharp, 0.3 s |
| Pastel Pop | Cream, bold outlines, sticker-style shadows, Jua | Playful with a slight bounce, 0.3 s |
Tools
| Step | Tool | Notes |
|---|---|---|
| Script, direction, visuals, avatar, editing | Claude Code (Claude Opus 5.5) | Script, formulas, graphs and animation all AI-written |
| Korean voice | Microsoft Edge neural TTS, ko-KR-SunHiNeural, rate −4% | No API key needed |
| English voice | Microsoft Edge neural TTS, en-US-AvaNeural, rate −6% | |
| Lip sync | ffmpeg extracts voice loudness → avatar mouth shapes | |
| Video assembly and rendering | Remotion 4.0.535 (React) | |
| Intro/outro chime | Synthesized in code with ffmpeg (sine-wave arpeggio) | No stock audio |
| Fonts | Noto Sans KR, Gaegu, Gowun Dodum, IBM Plex Sans KR, Jua | All Google Fonts, SIL OFL |
| Direction guides | Agent skills: Remotion skills, motion-art-direction, animation-principles, shot-composition |
Prompts
User → Claude Code prompts (verbatim, in order):
Okay, let's test. Here create a video for this. https://uedu-dev.atlassian.net/browse/LMS-2241- Answers to Claude's questions: voice = "Edge neural TTS", avatar = "Illustrated character"
Let's improve a bit. Is the mouth fade transition really the right decision for this? It's a bit weird looking.→ mouth changed to snap between 4 fixed shapesIs it possible to create an english version?→ English versionPlease create other variants, shuffle the styles and design a bit.→ 3 style variantsI think we also need to fix the neck? The hair is layered above the neck? Is that intentional. Also, I think the rendering is stuck.→ neck/hair layering fixed, all videos re-renderedNow, can we add an intro and outro section?→ intro and outro added, all videos re-rendered
(Setup prompts — installing Remotion, the Remotion skills and the motion design skills — are excluded from production time.)
Direction rules (set by Claude using the motion-art-direction skill):
- One calm, clean motion style throughout; scenes change with crossfades only
- One focal element per screen (the graph or formula); the teacher avatar is secondary
- Each visual appears when the sentence that mentions it starts (synced to narration)
TTS input was written separately for pronunciation, so math reads naturally (e.g. y = 2x + 1 → "y equals 2 x plus 1"). Full text in LMS-2241_script_en.md.
Time
| Step | Time |
|---|---|
| First Korean video: ticket analysis, direction, script, TTS, scenes/avatar/subtitles, review, render | ~30 min |
| Mouth improvement + re-render | ~10 min |
| English version | ~25 min |
| 3 style variants | ~30 min |
| Neck/hair fix + re-render of all 8 videos (render ~34 min, unattended) | ~40 min |
| Intro/outro design, chime, review + re-render of all 8 videos (render ~35 min, unattended) | ~55 min |
| Total | ~3 h 10 min (first Korean video alone: ~30 min) |
(Excludes one-time setup such as installing Remotion and packages.)
Cost
| Item | Cost |
|---|---|
| TTS (Edge neural TTS) | ₩0 |
| Remotion (free license for small teams*) | ₩0 |
| Fonts, ffmpeg | ₩0 |
| Claude Code usage | Within existing subscription (no extra charge) |
| Total | ₩0 extra |
* Remotion is free for companies with 3 or fewer employees; larger companies need a company license. Check which license fits W Labs.
Math check (AI self-check — Korean reviewer still needed)
- y = 2x + 1: x = 0, 1, 2, 3 → y = 1, 3, 5, 7 ✔
- Slope: (3 − 1)/(1 − 0) = 2/1 = 2, (7 − 3)/(3 − 1) = 4/2 = 2 ✔
- y-intercept: x = 0 → y = 1, the graph crosses the y-axis at (0, 1) ✔
- Sign: y = x, y = 3x rise to the right; y = −x, y = −3x fall to the right; larger |a| is steeper ✔
- Practice y = −2x + 4: slope −2, y-intercept 4, points (0, 4) → (1, 2) [−2·1 + 4 = 2] ✔
- Definition: "y written as a first-degree expression in x, y = ax + b (a ≠ 0)" — matches the standard textbook definition. The water tank example only has x ≥ 0, so the graph scene says "if we let x be any number" before drawing the full line.
Open items
- Korean reviewer confirms zero math errors — against
LMS-2241_script_ko.md - 2022 curriculum check — matches [9수02-15], [9수02-16] per a secondary source; confirm against the official NCIC text
- For production use, consider a licensed TTS (e.g. Azure Speech) — Edge TTS is used unofficially