charles-video-maker skill
A skill that turns a script into a finished video with voice-over, subtitles, a cover and a publish text, frames drawn by code.
- 85 ★ on the repository
- Last commit
- MIT
Broad access
Why this level
- Douyin mode works with a saved account login, schedules posts and collects comments and stats
- Scripts run ffmpeg and a browser, download source videos and write files to disk
- Voice-over sends the script text to an external speech synthesis service
Install
- Works in
In your terminal, with SkillFoxx CLI
npx skillfoxx add skills/charles-video-makerDetects the agents on your machine, shows the access level and pins the version.
Other ways to install
Access and checks
How we reviewBroad accessThe tool can change data, run commands or handle secrets.
- Douyin mode works with a saved account login, schedules posts and collects comments and stats
- Scripts run ffmpeg and a browser, download source videos and write files to disk
- Voice-over sends the script text to an external speech synthesis service
This is third-party code. Review the repository files before installing.
What it does
The agent takes a script through the pipeline: a fact-check table, voice-over in one take, word timestamps, scene cuts and subtitles. The picture is drawn by code as a function of time `render(t)`, frames are captured in parallel and composited with music and voice at minus 14 LUFS. The output is an MP4, a cover and `publish.txt` with a title, a description and five tags. Beyond code you can lay real material under the drawing: a page recording, source video quotes, royalty-free footage and generated stills. A separate `anatomy` skill builds technical ideas as a working isometric machine that performs each step when the narrator mentions it. A Douyin mode covers the path from topic radar to publishing and stats. Before starting, the skill asks four questions with defaults: picture, format, voice and workflow.
Who it is for. Authors of short explainers and technical bloggers who need a voiced video from an article or notes quickly.
Good fit when
- An article must become a 60-second vertical video with voice-over and subtitles
- A technical principle such as CDN cache hits and misses should be shown as a working machine
- A web game promo needs a clip made of real gameplay with code drawn on top
- Before publishing you must check numbers and words: `say_check.py` shows what speech synthesis swallowed or misread
Not a fit when
- You need an edit of existing footage with live people: the picture is built by code and material only goes underneath
- You need neural generation of whole clips: this pipeline works with code and ordinary compositing
- You have no ffmpeg, Node or Python: the video cannot be built without them
Example request
Turn this article into a 60-second vertical video with voice-over and subtitles, showing the idea with a code-drawn picture, and give me three plans with previews first.Limitations
Python 3.9, Node 20.10 and ffmpeg are required. Voice-over goes through Gemini TTS at 1.25x by default, with edge-tts, offline Kokoro or no voice as alternatives. The Douyin mode needs your own working directory, a rules handbook and a saved account login, and it starts from a rising video by someone else, so mind copyright and platform terms. The figure of 370 thousand views belongs to one new account as of 2 November 2026, and the author notes that reach is decided by topic and the first three seconds.
How to disable. Delete the `charles-video-maker` folder from `~/.claude/skills/` or another agent skills directory. Working directories with projects listed in `DOUYIN_WORKDIR` and the saved Douyin login are removed separately.
FAQ
How do I install the skill?
With `npx skills add anneheartrecord/charles-video-maker`. Or by hand: `git clone https://github.com/anneheartrecord/charles-video-maker.git` and copy `skills/charles-video-maker` into `~/.claude/skills/`.
What is in the output?
An MP4 named after the title, a cover and `publish.txt` with a title, a description and five tags. Each video passes checks: numbers match the fact table, scenes are reviewed on a contact sheet, and duration, frame count, loudness and true peak are verified.
Which voices are supported?
Gemini TTS at 1.25x by default. Alternatives are edge-tts, offline Kokoro or a clip without voice.
What is the anatomy skill for?
It builds technical ideas as a working isometric machine that performs a step when the narrator names it. Examples in the repository are a dial indicator and a Raptor engine with a WebGL plume.
What is the Douyin mode?
A pipeline from hashtag topic radar and style analysis through script, score and picture to publishing and stats. It needs your own working directory and rules handbook, and the account login is stored locally.
Discussion
No questions or reviews yet.
Related
SkillsA skill that turns a topic into a narrated 4K video: research, script, local TTS, Remotion composition and an FFmpeg mix
A skill that turns an idea, a link or a screen recording into finished video: HeyGen avatar, b-roll, captions and quality checks
A skill that turns your narration and real assets into a 20–60 second video in the style you pick, rendered locally as MP4.
An agent edits short talking-head videos: transcript, subtitles, B-roll and export for Xiaohongshu, Douyin and WeChat Channels
The video-explainer skill turns a script into a vertical 9:16 explainer: narration, captions, Remotion and a pre-render review
A Codex and Claude Code skill: subtitles and a summary from a Douyin, Xiaohongshu, Bilibili or YouTube link or a local file
Comparison with similar tools
Cards that share the main search query, and how they differ.
| Tool | Official | Repository stars | Main difference |
|---|---|---|---|
| charles-video-maker (this card) | no | 85 | |
| anything2explainer | no | 3,262 | turns a topic into a narrated motion-graphics clip and works in Claude Code and Codex |
| explainroo: narrated explainer videos made by your agent | no | 1,247 | a skill and CLI where the tool produces voice, word timing and MP4 from a script the agent writes |
README in short
The bilingual page opens with the results of one new Douyin account, then describes capabilities and the pipeline from script to MP4. The Douyin mode, `anatomy` skill examples, the four opening questions, sample prompts and install requirements follow.
README badge
Original SKILL.md
--- name: charles-video-maker description: >- Make videos with code and explain ideas with machines: code-rendered videos (Canvas / SVG / WebGL / Three.js / Remotion / Manim via Playwright + FFmpeg), narrated vertical shorts from a script, isometric Anatomy figures and machine-explainer videos, optionally over real footage or in one of the 53 Lemo-Opuscar art styles. Also the Douyin mode: remake a trending 抖音 video end to end and find topics for it. Use whenever someone wants to make, animate or render a video, motion graphic, explainer or promo, turn an article or script into a video, or draw how something works, including「做抖音视频」「复刻这条抖音」「用某某风格做一期抖音」「找抖音选题」「抓 Vibe 热点」 「做个视频」「用代码做视频」「做个动效」「把这篇文章做成视频」「文字稿转视频」「口播稿做成视频」「画个原理图」 「做个等距插图」「用机器讲清楚这个概念」「做个油画风 / 水彩 / 浮世绘 / 水墨风的短片」「用原片 / 实录 / 空镜做视频」 「画面不要全是插图」. For a named Lemo-Opuscar style as a narrated vertical short, prefer this over lemo-opuscar. Not for generating footage with video models, editing in Premiere/CapCut/AE, or subtitling an existing video. --- # charles-video-maker:用代码和真实素材做视频,用机器讲概念 这个 skill 起步于两个开源项目的合并:用代码逐帧渲染视频的 [xilo-opus-video](https://github.com/Kianzzz/xilo-opus-video)(含本仓库加的配音流水线),和用等距机器解释概念的 [Anatomy](https://github.com/wheresryan22/anatomy)(原样收在 `anatomy/`),再用一层桥接(`bridge/`)把 Anatomy 的机器变成可以逐帧渲染的视频画面。之后又加了素材层(真实画面打底,`scripts/footage/`)和可选的 Lemo-Opuscar 风格库。 ## 先分流:要做哪一种 | 用户要的 | 走哪条路 | 从哪读起 | |---|---|---| | 一条视频(宣传片、动效、知识讲解、文字稿转视频) | 下面的视频流程(第 0–6 步) | 本文件 | | 一张插图 / 交互图 / 原理图(给文档、博客、落地页用),不是视频 | Anatomy 的流程,产出 HTML、SVG 或 React 组件 | `anatomy/SKILL.md`,kit 在 `anatomy/kit/` | | 抖音视频(「做抖音视频」「复刻这条」、给了抖音链接或原片、「用 <风格名> 做一期」;「找选题」「抓热点」「Vibe 有什么在火」先走其中的 D-1 找选题) | 复刻爆款、一锅出:蒸馏原片风格 → 重写文案 → 先测配乐再排画面 → 交付,中途不问,覆盖下面流程的多项默认值 | `references/douyin-remake.md`;一次做好几条再读 `references/douyin-batch.md`;风格库在 `styles/` | | 一条讲原理的视频,概念能对应到一台会动的机器 | 先按 Anatomy 造机器,再按视频流程配音、包装、渲染 | `references/anatomy-video.md` | 用户嫌画面全是插图、不够精美,或者手上有原视频、要讲的是产品或游戏:照样走视频流程,开工四选的「画面」选「素材打底」,见 [references/footage-layer.md](references/footage-layer.md)。 用户点名一种画风(油画厚涂、水彩、浮世绘、水墨、像素 RPG、卫星简报……),或者嫌画面太素想要更有质感的画风:照样走下面的视频流程,画面规范从 Lemo-Opuscar 风格库里取,见 [references/lemo-styles.md](references/lemo-styles.md)。 拿不准时:讲「东西怎么运作」的,优先考虑机器;讲观点、清单、价格的,用讲解模板(竖版 `templates/vertical-explainer/`,横版 `templates/horizontal-explainer/`)。两者可以混在一条视频里。 ## 视频流程 Opus 自己不输出视频。这个 skill 让它写一个会自己动的网页(或 Manim 场景),网页暴露 `render(t)`,由脚本一帧一帧截图,再用 FFmpeg 合成 MP4。声音也用代码合成或接语音模型。 一句话提示词做视频是在抽卡:出来什么样、为什么这样、下次能不能再做出来,都不可控。这个 skill 的做法是**先把规划摆到用户面前,确认了再动手**:三个方案(每个都写清封面和开头黄金几秒)→ 每个方案一张关键帧或几秒预览 → 用户确认 → 写成 `brief.md` → 从封面和开头做起,按 brief 逐镜头制作、逐镜头自检 → 交付成片、封面图和发布文案。 ## 文案一律交给本地 Gemini 写 旁白稿、画面关键词、标题、简介、tags——所有给人听、给人看的文字,都由本地 Gemini(Antigravity CLI `agy`)来写,Claude 不亲手写(用户 2026-10-22 定:Claude 写的旁白太僵硬)。分工是 **Claude 管事实和结构,Gemini 管说法**:Claude 写任务单 `copy/brief.json`(查实的事实、每句的时长上限、这句出现时画面在演什么、对标原片的口播),跑 `python3 scripts/gemini_copy.py gen` 生成,再跑 `check` 做硬校验(字数塞不塞得进时长、有没有编数字、标题和 tags 规则、标点);事实或听感有问题就写进反馈让 Gemini 重写,最多两轮,不自己改它的措辞。完整流程、任务单格式和提示词见 [references/gemini-copy.md](references/gemini-copy.md)。 ## 工作目录