Codex Whiteboard Video Skill

A Codex skill that renders images, SVGs and scripts as hand-drawn whiteboard videos, with 30 styles and narration

  • 350 ★ on the repository
  • Last commit
  • MIT
Skill

Extended access

Why this level

  • The engine is installed with pip install straight from another author's Git repository and runs local scripts and FFmpeg
  • The script and storyboards go to third-party image and voice APIs when keys are configured
All reasons and checks

gnipbao/codex-whiteboard-video-skill

Install

In your terminal, with SkillFoxx CLI

npx skillfoxx add skills/codex-whiteboard-video-skill

Detects the agents on your machine, shows the access level and pins the version.

Other ways to install

Access and checks

How we review

Extended accessThe tool runs code or makes network calls and only reads external data.

  • The engine is installed with pip install straight from another author's Git repository and runs local scripts and FFmpeg
  • The script and storyboards go to third-party image and voice APIs when keys are configured

This is third-party code. Review the repository files before installing.

What it does

The skill connects Codex to the local whiteboard-video-engine: the agent calls it from the command line and gets an MP4 where the drawing appears stroke by stroke under a pen hand. The source can be a photo, a dense illustration, an SVG, ready line art or a Markdown script. Photos and illustrations become line art locally, with the Informative Drawings and Anime2Sketch neural models. The skill has no edge-detection fallback: if neither model is installed, extract-lineart and render-photo stop with an error. For scripts the skill runs the story scene by scene. gpt-image-2 draws color storyboards, a local model extracts the line art from those same frames, and Doubao Voice 2 or Edge TTS voices the narration. FFmpeg assembles the video, and subtitles stay in a separate SRT file by default. The engine has 30 styles named after media, from warm-crayon-storybook to blueprint-pencil. The recommend-styles command shows those that fit the script text, and --style auto picks the first of them without a model call.

Who it is for. Creators of tutorials and explainer videos who make whiteboard-style clips through Codex and do not want to pay for cloud editors.

Good fit when

  • You have an illustration or photo to turn into a 15-second clip where it is traced in lines
  • A short Markdown script should become a narrated video with a storyboard per scene
  • No style is chosen and you want to see five fitting options with recommend-styles before rendering
  • All line art must be built on your own machine rather than sent to an online vectorizer
  • You want a quick trial run without keys: MOCK=1 runs the example in examples/ten-second-demo.md

Not a fit when

  • You need a finished video without Python and local models: the skill is only an adapter and a separate engine renders
  • The source is dense texture, solid black areas or weak outlines, where stroke tracing can come out messy
  • You use agents other than Codex: the skill is written around CODEX_HOME and the ~/.codex/skills directory
  • The video has to be built in the cloud without a local FFmpeg and neural models

Example request

Turn this image into a 15-second hand-drawn whiteboard video. First suggest styles for my script story.md

Limitations

  • The repository holds only SKILL.md and the whiteboard_cli.py wrapper. The whiteboard-video-engine is installed separately from another repository with pip install.
  • Line art needs one of the local Informative Drawings or Anime2Sketch models. There is no fallback, so without the models the commands stop.
  • Color storyboards need access to gpt-image-2, narration needs Doubao Voice 2 or Edge TTS, and FFmpeg assembles the video.
  • Styles split into native, adaptive and experimental. Native suits unattended final videos, and adaptive styles call for a short preview first.

How to disable. Remove the skill by deleting the ~/.codex/skills/whiteboard-video folder. pip uninstall with the engine's package name removes the engine.

FAQ

How do I install the whiteboard-video skill in Codex?

Install the engine with pip install from the whiteboard-video-engine repository, then clone this repository into ~/.codex/skills/whiteboard-video. python3 ~/.codex/skills/whiteboard-video/scripts/whiteboard_cli.py doctor checks that the wrapper sees the engine and local models.

Can I make a trial clip without API keys?

Yes, running with MOCK=1 renders the example from examples/ten-second-demo.md with mock providers. It checks that assembly works at 640 by 360, and there are no real storyboards or narration.

Why did render-photo fail with a line art error?

Neither of the local Informative Drawings or Anime2Sketch models is installed. The skill has no crude edge-detection fallback, so run the command again after installing one of the models.

How do I pick a visual style?

list-styles prints all 30 styles, and recommend-styles with a script file and --limit 5 shows five fitting ones. Pass --style to the run command; render-photo and render-image do not accept a style.

What do I need besides the skill itself?

The whiteboard-video-engine from a separate repository, one of the local Informative Drawings or Anime2Sketch models and FFmpeg. Color storyboards need access to gpt-image-2, and narration needs Doubao Voice 2 or Edge TTS.

Discussion

No questions or reviews yet.

Skills

A skill makes a video from a script where diagrams and captions are drawn stroke by stroke as the narrator speaks.

SkillMinimal access113Repository stars

A skill that turns a script into an explainer video: drawings are sketched by hand, text types out, no image generators needed.

SkillMinimal access546Repository stars

A skill that makes video in pure code: narrated explainers and website promos in 35 visual styles, in 16:9 and 9:16.

SkillExtended access176Repository stars

A skill that turns your narration and real assets into a 20–60 second video in the style you pick, rendered locally as MP4.

SkillExtended access53Repository stars

A skill that turns narration text into a 20-second chunky-pixel explainer at 1920×1080 with voice-over and an editable project.

SkillExtended access84Repository stars

The Video by Reference skill learns style from a sample clip and builds an animated short from code with an original soundtrack

SkillExtended access76Repository stars

Comparison with similar tools

Cards that share the main search query, and how they differ.

ToolOfficialRepository starsMain difference
Codex Whiteboard Video Skill (this card)no350
Video Studio Skillno396records a product in the browser and edits a video with chapters rather than drawing images in lines
claude-video-kitno124builds a vertical 9:16 video on Remotion from a script

README in short

The README explains the split into two repositories: the engine with the renderer and models, and the skill with SKILL.md and a wrapper. It then shows installation, the doctor check and an example request in Codex. Most of the text describes the 30 styles by compatibility level and ways to define your own style through JSON with inheritance.

README badge

Original SKILL.md

---
name: whiteboard-video
description: Generate smooth hand-drawn whiteboard and story videos directly inside Codex from text scripts, GPT Image 2 color storyboards, scene plans, SVGs, line art, or local images. Supports 30 built-in visual styles, automatic recommendations, custom media recipes, natural-block coarse/detail drawing with block-local or whole-scene color reveal, local image-to-line-art extraction, stroke/path drawing, hand/pen-tip following, narration/TTS including Doubao Voice 2, and FFmpeg composition.
---

# Whiteboard Video

Use this skill to create local-first whiteboard videos without Canva. This skill is an adapter for the separately installed `whiteboard-video-engine` Python package. Uploaded photos and dense illustrations are converted to line art locally; do not use GPT Image 2 to generate final line art. For script-driven story videos, keep one registered asset pair per scene: GPT Image 2 creates the **color storyboard**, then a local neural extractor derives line art from that exact color file. The preferred stack is:

1. `gpt-image-2` for full-color storyboard frames only, never production line art or embedded captions.
2. `Informative Drawings` local model, preferably `anime_style`, for registered line-art extraction.
3. `Anime2Sketch` local model for illustration/anime-like sources or as the neural fallback.
4. Optional `vtracer` SVG vectorization when installed.
5. Optional Doubao Voice 2 (`seed-tts-2.0`) or Edge TTS for narration. Keep the default sidecar SRT for editing, or explicitly use `--burn-subtitles` for a ready-to-publish subtitled MP4.

There is no edge-detection fallback. If neither neural model is installed, `extract-lineart` and `render-photo` must fail instead of silently producing a weak outline.

## Quick Start

Install the engine before using this skill:

```bash
python3 -m pip install "git+https://github.com/gnipbao/whiteboard-video-engine.git"
```

For local engine development:

```bash
python3 -m pip install -e /path/to/whiteboard-video-engine
```

When the engine is installed in a virtual environment, invoke the wrapper with that environment's Python, or set `WHITEBOARD_ENGINE_PYTHON=/absolute/path/to/venv/bin/python`. The wrapper will re-exec only the explicitly configured interpreter.

Run commands from the project root that contains `tools/lineart`, but always call the installed Skill wrapper by absolute path. The wrapper delegates to the installed engine package while local model wrappers are auto-discovered from the current working directory.

Never call a project-local `whiteboard-video/scripts/whiteboard_cli.py`. Old project copies may prepend a bundled `src` directory and silently shadow the installed engine, causing stale defaults such as the procedural hand cursor to reappear.

```bash
MOCK=1 python3 "${CODEX_HOME:-$HOME/.codex}/skills/whiteboard-video/scripts/whiteboard_cli.py" run examples/ten-second-demo.md -o /tmp/whiteboard-demo.mp4 --scenes 2 --fps 30 --width 640 --height 360 --scene-assets direct-lineart --animation-preset block-speedpaint
python3 "${CODEX_HOME:-$HOME/.codex}/skills/whiteboard-video/scripts/whiteboard_cli.py" extract-lineart photo.png -o lineart.png --provider auto
python3 "${CODEX_HOME:-$HOME/.codex}/skills/whiteboard-video/scripts/whiteboard_cli.py" render-photo photo.png -o /tmp/photo-whiteboard.mp4 --duration 15 --fps 30 --lineart-provider auto --stroke-detail rich --hand asian
python3 "${CODEX_HOME:-$HOME/.codex}/skills/whiteboard-video/scripts/whiteboard_cli.py" render-image lineart.png --source-image photo.png --source-fit exact --size-from-image --color-fill contour-wipe -o /tmp/color-fill-whiteboard.mp4 --duration 15 --fps 30 --tail-color 4.5 --hand asian
python3 "${CODEX_HOME:-$HOME/.codex}/skills/whiteboard-video/scripts/whiteboard_cli.py" render-image examples/apple.svg -o /tmp/apple-whiteboard.mp4 --duration 2 --fps 24 --width 640 --height 360 --hand asian
python3 "${CODEX_HOME:-$HOME/.codex}/skills/whiteboard-video/scripts/whiteboard_cli.py" render-image examples/apple.svg -o /tmp/multiline-text.mp4 --duration 6 --fps 24 --width 720 --height 960 --draw-text-file caption.txt --draw-text-position top --draw-text-align left --draw-text-reveal line-wipe --draw-text-order before --hand none
python3 "${CODEX_HOME:-$HOME/.codex}/skills/whiteboard-video/scripts/whiteboard_cli.py" list-styles

Report a problem