acestep
AI music generation with ACE-Step 1.5 — background music, vocal tracks, covers, stem extraction, audio repainting, and…
3D scenes, character acting and product shots from a shot spec, rendered in Blender, as a finished film, as clips for any other build (moviepy, a video job, an editor), or as elements of a Remotion video (transparent characters over a scene, a Remotion render on a 3D laptop,
Claude Code
$ npx -y skills add digitalsamba/claude-code-video-toolkit --skill blender --agent claude-code
Codex
$ npx skills add digitalsamba/claude-code-video-toolkit --skill blender -a codex -y
Cursor
$ npx skills add digitalsamba/claude-code-video-toolkit --skill blender -a cursor -y
Gemini CLI
$ npx skills add digitalsamba/claude-code-video-toolkit --skill blender -a gemini-cli -y
GitHub Copilot
$ npx skills add digitalsamba/claude-code-video-toolkit --skill blender -a github-copilot -y
OpenCode
$ npx skills add digitalsamba/claude-code-video-toolkit --skill blender -a opencode -y
Windsurf
$ npx skills add digitalsamba/claude-code-video-toolkit --skill blender -a windsurf -y
name: blender description: 3D scenes, character acting and product shots from a shot spec, rendered in Blender, as a finished film, as clips for any other build (moviepy, a video job, an editor), or as elements of a Remotion video (transparent characters over a scene, a Remotion render on a 3D laptop, phone or floating card that the camera pulls back from, an imported 3D model on a studio stage). A rigged cartoon cast described in JSON (build, face, hair, clothes, a seed), sets, shots by type, acting beats in seconds or on narration words, every camera checked by geometry, sound placed on the motion. Use when a video needs a consistent directable character (parody, explainer gag, reaction shot), a 3D reveal or element in a Remotion video, a device or product shot of an app or a model, or exact acting timing that AI video clips can't hold. Triggers include Blender, 3D, character animation, rigged character, cast, shot spec, acting, camera angles, transparent clip, alpha, pull out from the screen, phone mockup, device mockup, product shot, turntable, orbit, glTF, GLB, BlenderClip.
`tools/blender_render.py` turns a JSON **shot spec** into 3D footage: a whole film, one clip per shot for another build, or both from the same spec. The spec says *what happens*; `lib/blender/` decides *where things go*: cameras are placed by shot type round their subject and checked (in frame, nothing in the way) before they are kept; acting is verbs (`expression`, `pose`, `shake_head`) rather than keyframes; every moment worth a sound is exported with its time, so the sound is on the motion by construction.
Four worked examples:
on a phone, and an imported model, with `reveal`, `orbit` and `product` shots.
laptop and the camera pulls back; then a transparent character acts beside the list of beats it is acting.
`fit`, walks in with a mug, sits, puts it down, opens the laptop and drinks. Its README says what the spec works round.
uv run tools/blender_render.py doctor # Blender found? s/frame on this machine uv run tools/blender_render.py check examples/blender-disk-panic/spec.json # ~5 s: checks + stills + contact sheet uv run tools/blender_render.py render examples/blender-disk-panic/spec.json # ~15 min (M4, EEVEE, 1080p) uv run tools/blender_render.py render spec.json --res 640x360 # a draft to judge motion, 0.35 s/frame uv run tools/blender_render.py render spec.json --engine cycles # physical light; ~10x slower (17 s/frame) uv run tools/blender_render.py render spec.json --clips --alpha --to projects/my-video/public/blender uv run tools/blender_render.py open spec.json # the built scene in Blender
**Tell the person how long it will take before you start.** A fitted character acting in a room renders at about 2.2 s a frame at 1080p (45 s of film is close to an hour, and is rendered more than once), so a film of this kind is two to three hours of unattended work a session, and takes a few sessions with the person's notes between them. End each session with the film, its checks, a decisions file and a prompt for the next session that leaves a gap for their notes: `docs/blender.md`, "A film over several sessions".
Output in `<spec dir>/out/` (`out/<name>/` for a spec not called `spec.json`): `checks.json`, `contact_sheet.png`, `stills/`, `events.json`, `scene.blend` (open it in Blender and scrub), and after `render` the `.mp4` named after the spec's folder, or `clips/` with `--clips`.
Requires Blender 4.2 or later. It has been run on 5.3 (macOS) and 4.2 LTS (Linux, in a container); Windows is supported by the code and not yet run. Optional component: nothing else in the toolkit needs it. Install, timings and troubleshooting: `docs/blender.md`.
These are uses of one spec format, not separate modes: the same spec renders as a film and as clips, and a video can mix them (a product shot between two Remotion scenes, a character film with a Remotion title card).
| The video is | Do | Then | |---|---|---| | A 3D short on its own (a gag, a parody shot) | `render spec.json` | `qc.py --render`, add music with `addmusic.py` | | A Remotion video with a 3D character in some scenes | `render --clips --alpha --to <project>/public/blender`, set kind `desk` | `<BlenderClip>` over the scene's field | | A Remotion video that turns out to be on a screen in a room | render the scene with Remotion, name it in `set.screen.video`, a `pull_out` shot, `render --clips` | hard cut from the flat scene to the clip | | An app, a UI or a product shown as an object | set kind `studio` with a `phone`, `card` or `model` prop; `reveal`, `orbit`, `product` shots | a clip between scenes, or `--alpha` over the scene's field | | A moviepy build, a video job or an edit in another tool that wants a 3D shot | `render --clips` (a picture-only `.mp4` per shot, its effects as a `.wav`; `--prores` for editors) | `VideoFileClip`, a `file` scene in `video_job.py`, `cutdown.py` for 9:16 | | Narrated, with acting on the words | a `voice` block and `"at": "cue:..."` | the spec follows the voice when it is re-timed |
For Remotion, set the spec's `"fps": 30` (the composition's): a clip plays frame for frame.
**When to suggest it.** While planning any video, if `blender_render.py doctor --no-bench` exits 0, offer a Blender shot where one fits: a character reacting, a reveal, a product or device shot. If Blender isn't installed, don't propose it unless
Tell Claude Code what video you want — it writes the script, generates the voiceover, music, and visuals, and renders the MP4.
AI music generation with ACE-Step 1.5 — background music, vocal tracks, covers, stem extraction, audio repainting, and…
Generate AI voiceovers, sound effects, and music using ElevenLabs APIs. Use when creating audio content for videos, podcasts, or…
Video and audio processing with FFmpeg. Use for format conversion, resizing, compression, audio extraction, and preparing assets…
Prompting patterns for Ideogram 4 text-to-image — best-in-class in-image text rendering and exact color/layout control via…
AI video generation with LTX-2.3 22B — text-to-video, image-to-video clips for video production. Use when generating video clips,…
Python video composition with moviepy 2.x — overlaying deterministic text on AI-generated video (LTX-2, SadTalker), compositing…
Activates when the user asks about AI prompts, needs prompt templates, wants to search for prompts, or mentions prompts.chat. Use…
AI-driven presentation workflow for generating editable PPTX decks and slides, reconstructing page visuals, creating reusable…
Use this skill when the user wants a .pptx with smooth cross-slide animation — PowerPoint Morph transitions, Keynote-style…
Create stunning, animation-rich HTML presentations from scratch or by converting PowerPoint files. Use when the user wants to…