Codex Whiteboard Video Skill

Скилл для Codex рисует на белой доске видео из картинок, SVG и сценариев с 30 готовыми стилями, подбором стиля и озвучкой

  • 350 ★ репозитория
  • Последний коммит
  • MIT
Скилл

Расширенный доступ

Почему такой уровень

  • Движок ставится командой pip install прямо из Git-репозитория другого автора и выполняет локальные скрипты и FFmpeg
  • Сценарий и раскадровки уходят в стороннее API генерации картинок и озвучки, если настроены ключи
Все причины и проверки

gnipbao/codex-whiteboard-video-skill

Установка

Работает в

В терминале, через SkillFoxx CLI

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

Определит агенты на машине, покажет уровень доступа и зафиксирует версию.

Другие способы установки

Доступ и проверки

Как мы проверяем

Расширенный доступИнструмент запускает код или ходит в сеть, а внешние данные только читает.

  • Движок ставится командой pip install прямо из Git-репозитория другого автора и выполняет локальные скрипты и FFmpeg
  • Сценарий и раскадровки уходят в стороннее API генерации картинок и озвучки, если настроены ключи

Это чужой код. Посмотрите файлы в репозитории перед установкой.

Что делает

Скилл подключает Codex к локальному движку whiteboard-video-engine: агент вызывает его из командной строки и получает MP4, где рисунок появляется штрих за штрихом под рукой с пером. Исходником служат фото, плотная иллюстрация, SVG, готовая линейная графика или сценарий в Markdown. Фото и иллюстрации превращаются в линии локально, нейросетями Informative Drawings и Anime2Sketch. Запасного детектора границ в скилле нет: если ни одна из двух моделей не установлена, команды `extract-lineart` и `render-photo` останавливаются с ошибкой. Для сценариев скилл ведет историю по сценам. Цветные раскадровки рисует `gpt-image-2`, линии из этих же кадров выделяет локальная модель, а озвучку делают Doubao Voice 2 или Edge TTS. FFmpeg собирает ролик, а субтитры по умолчанию лежат отдельным файлом SRT. В движке 30 стилей, названных по материалу: от `warm-crayon-storybook` до `blueprint-pencil`. Команда `recommend-styles` показывает подходящие по тексту сценария, а ключ `--style auto` выбирает первый из них без обращения к модели.

Для кого. Авторам обучающих и объясняющих роликов, которые делают видео в стиле рисования на доске через Codex и не хотят платить за облачные конструкторы.

Подходит, если

  • Есть иллюстрация или фото, которое надо превратить в 15-секундный ролик, где оно прорисовывается линиями
  • Короткий сценарий в Markdown должен стать озвученным роликом с раскадровкой по сценам
  • Стиль не выбран, и перед рендером хочется посмотреть пять подходящих вариантов командой `recommend-styles`
  • Все линии должны строиться на своей машине, а не уходить на онлайн-сервис векторизации
  • Нужен быстрый пробный прогон без ключей: MOCK=1 запускает пример из examples/ten-second-demo.md

Не подходит, если

  • Требуется готовый ролик без Python и локальных моделей: скилл только адаптер, рендер выполняет отдельный движок
  • Источник состоит из плотной текстуры, черных пятен или слабых контуров, и трассировка штрихов может дать грязный результат
  • Нужны другие агенты, а не Codex: скилл написан под CODEX_HOME и каталог ~/.codex/skills
  • Видео должно собираться в облаке без локальной установки FFmpeg и нейросетей

Пример запроса к агенту

Преврати эту картинку в 15-секундное рисованное видео на белой доске. Сначала предложи стили для моего сценария story.md

Ограничения

  • Репозиторий содержит только SKILL.md и обертку whiteboard_cli.py. Движок whiteboard-video-engine ставится отдельно из другого репозитория командой pip install.
  • Для линейной графики нужна одна из локальных моделей Informative Drawings или Anime2Sketch. Запасного варианта нет, без моделей команды останавливаются.
  • Цветные раскадровки требуют доступа к `gpt-image-2`, озвучка требует Doubao Voice 2 или Edge TTS, сборка идет через FFmpeg.
  • Стили делятся на `native`, `adaptive` и `experimental`. Для готовых роликов без присмотра лучше `native`, для `adaptive` сначала делают короткий предпросмотр.

Как отключить. Скилл снимают удалением папки ~/.codex/skills/whiteboard-video. Движок убирает команда `pip uninstall` с именем его пакета.

Частые вопросы

Как поставить скилл whiteboard-video в Codex?

Поставьте движок командой pip install из репозитория whiteboard-video-engine, затем клонируйте этот репозиторий в ~/.codex/skills/whiteboard-video. Команда python3 ~/.codex/skills/whiteboard-video/scripts/whiteboard_cli.py doctor проверит, что обертка видит движок и локальные модели.

Можно ли сделать пробный ролик без ключей API?

Да, запуск с переменной MOCK=1 прогоняет пример из examples/ten-second-demo.md на заглушках провайдеров. Он нужен для проверки сборки на размере 640 на 360, настоящих раскадровок и озвучки при этом нет.

Почему команда `render-photo` завершилась ошибкой про линии?

Ни одна из локальных нейромоделей Informative Drawings или Anime2Sketch не установлена. Грубого запасного детектора границ в скилле нет, поэтому после установки одной из моделей команду нужно запустить снова.

Как выбрать визуальный стиль ролика?

Команда `list-styles` выводит все 30 стилей, `recommend-styles` с файлом сценария и параметром --limit 5 показывает пять подходящих. Ключ --style передают команде `run`, а `render-photo` и `render-image` стиль не принимают.

Что нужно поставить, кроме самого скилла?

Движок whiteboard-video-engine из отдельного репозитория, одну из локальных нейромоделей Informative Drawings или Anime2Sketch и FFmpeg. Для цветных раскадровок нужен доступ к `gpt-image-2`, для озвучки Doubao Voice 2 или Edge TTS.

Обсуждение

Вопросов и отзывов пока нет.

Скиллы

Скилл делает из сценария видео, где схемы и подписи рисуются штрихами в момент реплики диктора, а кадры считаются локально.

СкиллМинимальный доступ113Звезды репозитория

Скилл превращает текст объяснения в видео: рисунки чертятся от руки, текст пишется по буквам, генераторы картинок не нужны.

СкиллМинимальный доступ546Звезды репозитория

Скилл рисует видео кодом: объясняющие ролики с озвучкой и промо-ролики для сайтов в 35 визуальных стилях, 16:9 и 9:16.

СкиллРасширенный доступ176Звезды репозитория

Скилл делает 20–60-секундный ролик из вашей озвучки и реальных материалов в выбранном стиле, MP4 собирается локально.

СкиллРасширенный доступ53Звезды репозитория

Скилл превращает закадровый текст в 20-секундный пиксельный ролик 1920×1080 с озвучкой и проектом для правок.

СкиллРасширенный доступ84Звезды репозитория

Скилл Video by Reference учится стилю у ролика-образца и собирает из кода анимированный короткий фильм с оригинальным саундтреком

СкиллРасширенный доступ76Звезды репозитория

Сравнение с похожими

Карточки с тем же главным запросом: чем они отличаются.

ИнструментОфициальныйЗвезды репозиторияГлавное отличие
Codex Whiteboard Video Skill (эта карточка)нет350
Video Studio Skillнет396снимает продукт в браузере и монтирует ролик с главами, а не рисует картинки линиями
claude-video-kitнет124собирает вертикальный ролик 9:16 на Remotion из сценария

Коротко о README

README объясняет разделение на два репозитория: движок с рендером и моделями отдельно, скилл со SKILL.md и оберткой отдельно. Дальше показаны установка, проверка командой doctor и пример запроса в Codex. Большая часть текста описывает 30 стилей по уровням совместимости и способы задать свой стиль через JSON с наследованием.

Бейдж для README

Исходный 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

Сообщить о проблеме