Model or dataset
digitalsamba/claude-code-video-toolkit avatar
digitalsamba/claude-code-video-toolkit

claude-code-video-toolkit: an AI-native video pipeline driven by Claude Code

AI-native video production toolkit for Claude Code

2,125 stars366 forksPythonMIT

At a glance

What is it?
The toolkit turns Claude Code into a video production workspace: skills, slash commands and Python CLI tools that write a script, generate voiceover and visuals, and render an MP4. It is a collection of standalone scripts, not an installable package, and it assumes you are willing to configure a cloud GPU account.
Who is it for?
Adopt it if your team already works inside Claude Code and wants explainer-style videos produced from a repository rather than a timeline editor, and if you accept deploying open models to your own Modal or RunPod account. Do not adopt it if you need frame-accurate manual editing, or if you cannot run a cloud GPU account and a Node.js 18+ toolchain.
Can I use it commercially?
Yes. MIT is a permissive licence: you can use, modify and sell software built on it, as long as you keep its copyright and licence notices.
Is it still maintained?
Yes. The repository last received commits 10 days ago.
What is it written in?
Mainly Python, according to GitHub's language statistics.

Answers come from the project's GitHub data, last synced on September 25, 2026, and from our analysis. They are not legal advice.

Editorial analysis

What claude-code-video-toolkit actually solves

The problem it targets is not video editing. It is the gap between a prompt and a finished MP4 when the person writing the prompt is an AI agent rather than a human with a timeline. The README frames the project as an "AI-native video production workspace" and lists the pipeline stages as NARRATE, SCORE, GENERATE, COMPOSE, RENDER. Each stage maps to a skill or a CLI tool, and Claude Code is expected to move between them.

The intended user is a developer already inside Claude Code who needs recurring explainer content. The author is explicit about the origin: sprint review videos for the AI mobile development arm of Digital Samba. That is a narrow, repetitive format, which is exactly the kind of format worth automating. The README widens the ambition to product demos, walkthroughs and presentations, but the concrete examples shipped in the repository (a 52 second vertical short, an explainer with burned captions, a launch ad) are all short-form.

If you want a general-purpose editor with a preview window and keyframes, this is the wrong shape. There is no timeline UI in the documentation. The editing surface is a prompt plus a template directory.

How the skills, commands and tools fit together

Three layers are visible in the repository layout. The first is skills under skills/, which the README describes as Claude Code's knowledge: remotion, elevenlabs, ffmpeg, playwright-recording, frontend-design, qwen-edit, ideogram4, acestep, ltx2, moviepy and runpod. A skill is not a program. It is context that tells the agent how to drive a framework, which is why the list mixes a React renderer (Remotion) with a Python composition library (moviepy) without contradiction.

The second layer is slash commands such as /setup, /video, /template and /publish. These are entry points inside Claude Code. /setup configures cloud GPU, file transfer and voice. /video creates a project from a template and walks the workflow. /publish is tied to tools/youtube_upload.py and the youtube extra in pyproject.toml.

The third layer is the tools/ directory of standalone Python scripts, invoked through uv run. pyproject.toml states the design decision plainly: "No build system is declared on purpose: this is a toolkit of standalone CLI scripts, not an installable package." That is worth taking literally. You do not pip install this. You clone it, sync an environment, and call scripts by path.

The registry file _internal/toolkit-registry.json is described as the always-current catalog of skills, commands, tools and templates, which suggests the README tables are a snapshot and the JSON is the source of truth.

Installing claude-code-video-toolkit and rendering the first MP4

The README's Quick Start is a clone, an optional environment sync, and launching Claude Code in the resulting directory. Node.js 18+ and Claude Code are listed as requirements. uv is recommended rather than required, because it installs Python 3.10+ for you.

bash
git clone https://github.com/digitalsamba/claude-code-video-toolkit.git
cd claude-code-video-toolkit
uv sync   # Optional: AI voiceover, image gen, music, moviepy examples
claude    # Open Claude Code in the toolkit

If uv is not present, the README gives the installer for macOS and Linux as curl -LsSf https://astral.sh/uv/install.sh | sh, and for Windows a PowerShell one-liner. uv sync creates .venv/ from the lockfile. The extras matter: uv sync --extra whisper adds openai-whisper for burned karaoke captions and pulls in torch, uv sync --extra modal adds the Modal CLI, uv sync --extra youtube adds the Google API client, and uv sync --all-extras installs everything.

Inside Claude Code, the first two commands are /setup and /video. The README says /setup takes about five minutes and walks through cloud GPU provider, file transfer and voice configuration. /video then creates a project from a template.

If you want to confirm the render path before configuring anything, the README offers a no-key route. It states no API keys are needed and that an MP4 is produced immediately.

bash
cd examples/hello-world && npm install && npm run render

That is the honest first test. It exercises Remotion and Node, not the AI tools, so a successful render tells you the composition and rendering half works on your machine while leaving the GPU half unproven.

Cloud GPU deployment and what the .env keys gate

.env.example opens by stating that all keys are optional and that the toolkit works without any of them. That is consistent with the hello-world example, but it understates how much of the interesting functionality is gated. The AI voiceover, image generation, music generation and talking-head tools run on your own cloud GPU account, and the environment variables are the endpoint URLs those tools call.

Modal is the recommended provider. The file notes the Starter plan gives $30/month free compute and that setup is uv sync --extra modal followed by uv run modal setup. Deployment is per tool, for example uv run modal deploy docker/modal-{tool}/app.py, and the endpoint URLs are printed after each deploy and pasted back into .env as MODAL_QWEN3_TTS_ENDPOINT_URL, MODAL_FLUX2_ENDPOINT_URL, MODAL_IMAGE_EDIT_ENDPOINT_URL, MODAL_UPSCALE_ENDPOINT_URL, MODAL_MUSIC_GEN_ENDPOINT_URL, MODAL_SADTALKER_ENDPOINT_URL and MODAL_DEWATERMARK_ENDPOINT_URL. RunPod is listed as an alternative provider.

Cloudflare R2 is the file transfer layer. The comments describe a free tier of 10GB storage, 10M ops/month and zero egress fees, and note that without R2 the tools fall back to free file hosting services. That fallback is a reliability trade-off rather than a feature: the README calls R2 the thing that makes cloud GPU tools "faster and more reliable", which implies the fallback path is neither.

The cost figures in the README are the part worth reading twice. It cites voiceover at roughly $0.01 and AI video clips at roughly $0.23, and labels the sky-blue short as about $0.80 in generation. Those are per-item generation costs on your own GPU account, not the cost of the whole pipeline, and they do not include your time.

Where this toolkit breaks down

The most concrete limitation is the one the author writes himself: this is a toolkit of building blocks, and Claude Code is the builder. That means output quality varies with the prompt and with the agent's choices, not with a deterministic configuration. Two runs of the same brief will not produce the same video. For a sprint review that may be acceptable. For anything with brand review or legal sign-off, it is a problem, because there is no fixed artifact to approve.

The second limitation is the cloud GPU dependency for anything beyond the hello-world render. If you do not want to deploy models to Modal or RunPod, the voiceover, image, music and talking-head tools are unavailable, and you are left with Remotion plus whatever assets you supply yourself. The README's claim that all keys are optional is technically true and practically narrow.

The third is the install surface. You need Node.js 18+, Claude Code, and a Python 3.10+ environment managed by uv, plus FFmpeg optionally. Some extras are heavy: the whisper extra pulls in torch. That is a lot of moving parts for a repository whose own pyproject.toml insists it is not a package, so there is no versioned dependency contract you can pin as a consumer.

Finally, the README does not document rollback for a failed render, nor does it describe how templates are versioned against toolkit releases. If you build templates of your own, that silence matters.

Remotion templates versus the moviepy path

The repository ships two composition approaches, and the choice between them is the main architectural decision a user makes. Remotion is the React-based route: compositions and animations are declared in JavaScript or TypeScript, and the hello-world example renders through npm run render. It is the path the Quick Start leads with and the one the templates are built around.

The alternative is moviepy, listed both as a core dependency and as a skill, with pyproject.toml describing it as "Python-native video composition as an alternative to Remotion" used by the quick-spot and data-viz-chart examples. The moviepy skill entry adds a specific use: overlaying text on LTX-2 or SadTalker output.

The practical difference is where your team already lives. If you have React developers who are comfortable expressing animation as components, Remotion gives you a declarative composition that renders headlessly. If your pipeline is Python scripts that already produce clips and charts, moviepy keeps everything in one language and avoids a Node build step for the composition layer, though the toolkit still requires Node.js 18+ overall.

The documentation does not present one as better. It presents both as supported, which is a reasonable position and also a maintenance cost the project carries.

Maintenance, licensing and upgrade cost

The repository is not archived and the last push was on 2026-09-10, with releases at v0.20.1 on 2026-09-08, v0.20.0 on 2026-08-31 and v0.19.0 on 2026-08-27. That is a rapid release cadence, roughly weekly across August and September, and the version in pyproject.toml matches the latest release at 0.20.1. The author states he plans to keep iterating. Frequent minor releases on a zero-point-twenty version line mean you should expect interface churn in templates and tools between upgrades, and the repository gives no compatibility policy.

Upgrade cost is not only the clone. If you have deployed Modal endpoints from docker/modal-{tool}/app.py, a toolkit update may require redeploying those apps and refreshing the endpoint URLs in .env. The uv.lock file pins Python dependencies, so uv sync is reproducible, but there is no equivalent lock for the deployed GPU images beyond the Dockerfiles in docker/.

The licence is MIT, declared in LICENSE and in the README badge. MIT permits commercial use, modification and redistribution provided the copyright notice and permission notice are retained. That is a permissive position and it does not impose copyleft obligations on your templates or your rendered videos. This is a description of the licence text, not legal advice; if you are shipping video commercially at scale, have counsel read the LICENSE file and the terms of the third-party models you deploy, since the toolkit's licence does not govern those models.

Editorial conclusion

Adopt it if your team already works inside Claude Code and wants explainer-style videos produced from a repository rather than a timeline editor, and if you accept deploying open models to your own Modal or RunPod account. Do not adopt it if you need frame-accurate manual editing, or if you cannot run a cloud GPU account and a Node.js 18+ toolchain. Verify first that the examples/hello-world render works on your machine without any API keys, then run /setup and confirm the Modal endpoint URLs it prints match the MODAL_* variables you paste into .env.

Frequently asked questions

Can Claude Code build videos?

That is the premise of this toolkit. The README says you tell Claude Code what video you want and it writes the script, generates the voiceover, music and visuals, and renders the MP4, using the skills, commands and tools the repository provides.

How does Claude Code edit videos?

Editing happens through skills and CLI tools rather than a timeline. The README lists skills for Remotion, ffmpeg, moviepy, elevenlabs and others, and the pyproject.toml notes that tools are run as standalone scripts through uv run, for example uv run tools/voiceover.py --help.

Can Claude Code see a video?

The documentation does not describe any video-understanding capability. The skills listed cover generation, composition, recording and processing, not analysis of existing footage, so the toolkit should not be assumed to inspect a video you hand it.

Can Claude make videos for free?

The toolkit leans on open-source models deployed to your own cloud GPU account, and the README says Modal's Starter plan includes $30/month free compute plus a Cloudflare R2 free tier. The hello-world example renders with no API keys, but the README still quotes per-item generation costs such as roughly $0.01 for voiceover and $0.23 for AI video clips.

Official sources

  1. digitalsamba/claude-code-video-toolkit on GitHub
  2. Issues
  3. License: MIT
  4. README
  5. Releases
Add this badge to your README

If you maintain this project, the badge below links readers to this analysis and shows its maintenance status from the daily GitHub snapshot. Paste the markdown into your README; add ?metric=license or ?metric=stars to the image URL for a different field.

Add this badge to your README

markdown
[![Hysen Labs](https://hysenlabs.com/badge/digitalsamba-claude-code-video-toolkit.svg)](https://hysenlabs.com/projects/digitalsamba-claude-code-video-toolkit)