Show HN: Unglazed – paper-to-explainer-video tool that gets every detail A developer released Unglazed v0.2.0, an open-source tool that converts machine-learning papers into narrated, animated explainer videos and fails the build when a required mechanism, equation or number lacks a scene. Unglazed checks depth, teaching order and truth by computing visuals with the paper's own formulas, and its 31-minute demo video covering rectified flow renders 24 scenes at 1080p in about 4 minutes on an 8 GB GPU, with narration running at roughly 2 times real time on 4 CPU threads using the local Pocket TTS engine. The tool installs via uv or pipx, requires ffmpeg and a Vulkan- or Metal-visible GPU, and offers Kokoro and Pocket TTS voice engines with no API key. Turn an ML paper into a narrated, animated explainer that derives every step, and refuses to build if it skips one or teaches it badly. Watch the full demo 31 min, 1080p https://github.com/ShadowKingYT444/unglazed/releases/download/v0.2.0/Rectified flow from scratch.mp4 · made with this repo from examples/rectflow Most explainer tools check that a video renders . unglazed also checks that it teaches : - Depth. You list every mechanism, equation and number the video must cover. The build fails while one has no scene. - Teaching. The script declares one thesis, a ladder of small worlds, and a question for every scene. The build fails if a term is spoken before the viewer needs it, or if a part of the method is never shown breaking. - Truth. The pictures are computed with the paper's own formulas on a small world, so nothing on screen is a sketch. - Craft. Narration is local, transcribed back and retaken where it came out wrong. Layout is linted on every beat. uv tool install "unglazed voice @ git+https://github.com/ShadowKingYT444/unglazed" You also need ffmpeg , and a GPU that Vulkan Linux or Metal macOS can see. Then test the install: unglazed demo Details: no uv, no GPU, fonts, voice - No uv: pipx install "unglazed voice @ git+https://github.com/ShadowKingYT444/unglazed" works too. Get uv https://docs.astral.sh/uv/ with curl -LsSf https://astral.sh/uv/install.sh | sh . - No GPU: ManimGL draws through wgpu. On Linux without a GPU driver, install Mesa's software Vulkan sudo apt install mesa-vulkan-drivers and work with --draft . - Fonts: text uses Noto Serif and DejaVu Sans Mono sudo apt install fonts-noto-core fonts-dejavu-core . Set UNGLAZED FONT / UNGLAZED MONO to use others. Math needs no LaTeX install. - Voice: two local engines, no API key. voice installs Kokoro https://github.com/hexgrad/kokoro fast . pocket installs Pocket TTS https://github.com/kyutai-labs/pocket-tts , which runs on the CPU, follows the intonation of a sentence better, and can clone a voice from a 10 to 25 second recording; the demo uses it. verify adds listen-back. Leave them all out and you can still draft everything with --estimate . Details and the three things that matter for a clean voice: docs/VOICE.md https://github.com/ShadowKingYT444/unglazed/blob/main/docs/VOICE.md . unglazed new myvideo a video folder from the template unglazed check myvideo the depth check and the teaching check unglazed voice myvideo --estimate timings without a voice silent draft unglazed render myvideo s01 --draft 480p draft of one scene, with a layout check of every beat unglazed sheet myvideo s01 --draft one frame per beat, to check it by eye unglazed build myvideo checks + voice + 1080p render + join - build/myvideo/myvideo.mp4 To rebuild the demo video: git clone https://github.com/ShadowKingYT444/unglazed && cd unglazed unglazed build examples/rectflow On a laptop with an 8 GB GPU, the 24 scenes of the 31-minute demo render at 1080p in about 4 minutes, because a held picture is drawn once and written as many frames as the voice needs about three quarters of all frames . Unchanged scenes are skipped, and joining never re-encodes the picture. The narration takes longer than the render: about 2 times real time on 4 CPU threads with Pocket TTS, cached per sentence. php flowchart LR P paper -- B "coverage.py