Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

6 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

ink-video

ink-video is an SVG-first runtime and CLI for AI-authored handwritten explainer videos. By default it decomposes every visible character and writes all text stroke by stroke, one text block at a time, then animates highlights, underlines, circles, arrows, line charts, and bar charts on a deterministic timeline. The default typeface is the genuinely handwritten Jason Handwriting 8 (清松手寫體 8), not a Kai-style font. Missing Simplified Chinese glyphs automatically fall back to the handwritten Xiaolai SC font instead of a system Kai or sans-serif font. Builds embed only the font subsets used by the current video.

Run decompose without --text to rasterize every character used by the project, extract its skeleton graph, and create numbered previews for Agent grouping. Then run compile-strokes to partition the current-font raster into one transparent image per semantic stroke. Runtime animation reveals each independent stroke image along its own centerline; it does not clip against the complete glyph or add a complete text glyph at the end. Storyboard previews can temporarily use fallback glyphs, but final HTML, still capture, and video rendering fail until every visible character has compiled stroke assets.

Install the Agent Skill

The lightest external setup installs only the Skill. It does not bundle Node.js, Chromium, FFmpeg, or node_modules:

npx skills add NINTING/ink-video --skill create-ink-video

Choose the target Agent and installation scope in the installer. Restart that Agent after installation, then ask:

Use $create-ink-video to turn my article into a Chinese handwritten explainer video.
Show me the storyboard before decomposing the title characters and exporting MP4.

The Agent creates and edits video.json, runs the CLI, inspects the storyboard, groups stroke edges, checks intermediate frames, and exports the video. The user supplies source material and creative decisions; they do not run production commands manually.

On first use, the Skill downloads the ink-video runtime and npm dependencies into a versioned user cache. Later uses reuse that cache. The host needs Node.js 20+ with npm and a local Chrome or Edge installation. Set INK_VIDEO_PACKAGE when a package mirror, tarball, or local runtime source should replace the default GitHub source.

List available Skills without installing:

npx skills add NINTING/ink-video --list

Use the CLI directly

npm install
node bin/ink-video.mjs validate examples/cache-explainer/video.json
node bin/ink-video.mjs build examples/cache-explainer/video.json --out output/index.html
node bin/ink-video.mjs storyboard examples/cache-explainer/video.json --out output/storyboard.png
node bin/ink-video.mjs render examples/cache-explainer/video.json --out output/video.mp4

Preview and frame capture use an existing local Chrome or Edge installation through playwright-core; the package does not download a browser. Set INK_VIDEO_CHROME for a non-standard browser path. Video encoding uses the bundled ffmpeg-static binary.

The Skill source is in skills/create-ink-video.

About

AI-friendly SVG runtime and CLI for handwritten explainer videos

Resources

Stars

2 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages