Repository navigation
Releases: random00000000/makevideo
Release list
makevideo 0.5.2: image check + starters
previewnow lists which Wikimedia Commons image each search picked, and flags picks that don't seem to match, so agents can fix them before rendering.makevideo init --style documentary|shorts|explainerwrites a ready-to-edit Markdown starter.- The T. rex example's Discovery chapter now shows the actual holotype specimen.
makevideo 0.5.1: text and voice in sync
Big statement words now appear exactly when the narrator says them. Captions that would repeat on-screen text are hidden automatically; the .srt keeps every line. check warns when a statement's text isn't in its narration.
makevideo 0.5.0: YouTube-quality documentaries
YouTube-quality documentaries. One switch (style: documentary | history | nature), one Markdown file:
- Licensed images by search:
![Tyrannosaurus rex skull]()finds a CC0, public-domain, CC BY or CC BY-SA image on Wikimedia Commons, credits it on screen and lists it in the description. - Chapter cards and timelines, plus directional Ken Burns on every still.
- An original score synthesized per video (royalty-free), ducked under the voice.
- −14 LUFS mastering, YouTube's loudness target.
- A publish package: a 1280×720 thumbnail, plus a description with chapter timestamps and image credits.
Attached is the T. rex example: 2 min 37 s from one Markdown file.
makevideo 0.4.1: MCP Registry via ghcr.io
The MCP server image now ships to ghcr.io/random00000000/makevideo, and releases list it in the official MCP Registry as io.github.random00000000/makevideo. The house voice (af_heart) is locked as the default by a test.
makevideo 0.4.0: closer to every agent
Closer to every agent. We can't edit model weights, so 0.4 goes where agents already look for tools, and leaves good public text behind for future models to learn from.
- MCP server:
npx -y github:random00000000/makevideo mcp. Tools:make_video(streams progress),preview_video(returns the contact sheet as an image the model can see),check_video,video_reference. It works in Claude Desktop, Cursor, VS Code, Codex and other MCP clients, and it's bundled in the Claude Code plugin. makevideo agents [--all | --global]: writes an idempotent "use makevideo for videos" block into AGENTS.md, CLAUDE.md, Cursor rules and Copilot instructions.- Website: https://random00000000.github.io/makevideo/ has 7 how-to guides,
llms.txt,llms-full.txt, a sitemap and schema.org data. - CI: Linux, macOS and Windows on Node 20 and 22, all passing.
- Release automation: publishes to npm with provenance, then to the official MCP Registry via GitHub OIDC, once an
NPM_TOKENsecret is added. - Credit metadata: every MP4 carries a quiet "Made with makevideo" tag (
credit: falseturns it off).
makevideo 0.3.0: built for speed
Built for speed. The same 74-second video, on the same CPU-only laptop, run back to back against v0.2.0:
| v0.2.0 | v0.3.0 | |
|---|---|---|
| First render (no cached speech) | 119.9 s | 81.0 s |
First render with --fast |
n/a | 36.3 s |
| Re-render (speech cached) | 41.0 s | 28.4 s |
--fast/"voice": "fast": a Piper voice that speaks at about 10× real time on 2 CPU threads. It sounds less natural than the default Kokoro voice, which suits drafts and long videos. The voices are joe (CC0) and norman (public domain).makevideo setup: pre-downloads the voice models once, so no render waits on a download.- Render processes: scenes draw and encode in a process pool, so drawing is no longer limited to one thread.
- Tighter frame planning: each scene type knows its exact animation timing, which cuts the frames that need drawing by about 40%.
- Tuned speech: ONNX threads are pinned per process, and idle threads sleep instead of spinning.
Attached: the release video with the default voice, and the same video rendered with --fast (76 s of video in 30 s, cold) so you can compare the voices.
makevideo 0.2.0: premium by default
Premium by default. The goal of 0.2: an agent's first attempt should look finished.
- Transitions blend the previous scene's real last frame: push, slide, zoom, wipe, fade, dip, cut.
auto(the default) picks one for each pair of scenes. - New scene types:
statement: kinetic display type, with*accent*wordschart: bars that grow with the voice and values that count upsplit: an image or live video beside synced points
- Write Markdown, get a video:
npx makevideo notes.md. Headings become scenes and>lines are the narration. The attached release video is one Markdown file. - Guardrails:
- Symbols are spoken correctly: 42%, v1.2, $3M, 4.6x, 35 s.
checklint flags walls of text, unsynced lists, repetitive pacing and dense portrait scenes, and says how to fix each one.
- Bundled fonts (Inter, Montserrat, JetBrains Mono, OFL) give the same look on a bare cloud Linux box as on your laptop.
- Depth: a key-light and vignette pass, plus soft panel shadows.
Existing specs get the new look and transitions automatically. Nothing needs to change.
makevideo 0.1.0
makevideo: fast, standard video generation for AI agents. A JSON script goes in and a narrated, captioned MP4 comes out. It runs on a plain CPU with no browser, no GPU and no API key.
Highlights
- One standard: every scene has a
sayline; the same local neural voice (Kokoro-82M) every time; captions plus an.srt. - Fast on a CPU: frame holding draws only the frames that change. An 87 s video renders in about 35 s on a 6-core laptop with speech cached (about 96 s cold).
- 11 scene types: title, bullets, steps, decisions, image, clip (mp4/webm/mov/gif), code, stat, quote, compare, outro.
- Short-form:
"format": "shorts"gives 1080×1920 with TikTok-style word-by-word captions, plus optional GIF export. - Trailers:
makevideo recordcaptures the screen or one game window. - Agent loop:
check(instant, actionable errors) →preview(contact sheet in about 1 s) → render →--jsonoutput. - Claude Code plugin:
/plugin marketplace add random00000000/makevideo, then say "make a video".
Install
npm i github:random00000000/makevideo
npx makevideo init && npx makevideo video.jsonThe attached videos were all made with makevideo.