Communitygithub.com

22devpatel007-coder/reel-video-builder

Build a short vertical (9:16) reel, Short, TikTok, ad or animated explainer video for free, entirely from code, with word-by-word captions and optional voiceover and music sync. No footage, no stock clips, no paid software, no AI video generation, no browser. Use whenever the user wants a reel, short, Instagram, YouTube or TikTok video or ad, a captions video, a voiceover-synced explainer, or wants an ad script or product description turned into a video, even if they never say "canvas", "ffmpeg" or "JSON". Works in English and Hindi out of the box and other scripts with an added font.

What is reel-video-builder?

reel-video-builder is a Claude Code agent skill that build a short vertical (9:16) reel, Short, TikTok, ad or animated explainer video for free, entirely from code, with word-by-word captions and optional voiceover and music sync. No footage, no stock clips, no paid software, no AI video generation, no browser. Use whenever the user wants a reel, short, Instagram, YouTube or TikTok video or ad, a captions video, a voiceover-synced explainer, or wants an ad script or product description turned into a video, even if they never say "canvas", "ffmpeg" or "JSON". Works in English and Hindi out of the box and other scripts with an added font.

Works with~Claude Code~Codex CLI~Cursor
npx skills add 22devpatel007-coder/short-video-genration-skill

Ask in your favorite AI

Open a new chat with this agent skill pre-loaded.

Documentation

Reel Video Builder

Makes a 1080 x 1920 MP4 from one file, reel.json, using Node.js, @napi-rs/canvas and ffmpeg (bundled). Everything is free and runs on the user's own computer. The AI's job is to write reel.json from the user's real facts, run the checks, and guide the user. Full details are in README.md; the schema is in references/spec.md.

Rules (strict)

  1. Never guess. If an input or fact is missing, ask. Never invent stats, prices, ratings, testimonials, results or product claims. Leave out demo or mock numbers.
  2. Free only. Do not recommend paid tools, paid plans or paid stock. Use the free options in references/script-and-audio.md.
  3. Be brief. Ask only for what is missing, in one message. Prefer to build from sensible defaults and state assumptions in one line.
  4. Give exact commands for the user's OS (ask only if unknown). If you cannot run something, say so and list what is untested.
  5. Stay inside the project folder. No secrets, no network calls from the video code.
  6. If a clearly better option exists, suggest it in one or two lines and let the user choose.
  7. For ads (meta.kind: "ad"): check the flows and claims against the platform's current policy (search when a search tool exists). Flag review-gating style practices, misleading before/after, unverified results and dramatised outcomes without a disclaimer before writing the script.

Inputs (ask only for what is missing)

Brand name, handle, one-line product; the problem it solves; facts allowed and forbidden; length (30 s is 5 to 7 lines; 50 to 60 s is 10 to 12 lines); caption language and voice language; palette (hex); logo PNG; CTA (action and reward, for example keyword and offer terms); whether the voice will be recorded, generated, or the video should be silent; user's OS.

Workflow

  1. Facts: list facts used and excluded.
  2. Script: propose a table (see references/script-and-audio.md): number, time, scene type, voiceover (say), emotion, caption with *accent*. Check pacing (2 to 2.5 words per second). Iterate until approved.
  3. Write reel.json in the project folder (copy template/). Choose scene types from the seven in references/spec.md. One visual per line. Do not edit the engine unless a new scene type is truly needed.
  4. Check: run npm install once (the user does this if you cannot run code), then npm run doctor, npm run lint, npm run stills and look at stills/reel/contact.png. Fix every lint error.
  5. Audio, free route: record or generate one file per line named 01..NN in audio/ (npm run tts can do this with the free edge-tts package), optionally audio/music.*, then npm run sync. Silent route: npm run estimate.
  6. npm run render gives out/reel.mp4 (about 30 s of work per 20 s of video).
  7. QA on a phone: caption safe area, caption and audio sync, spelling, logo, offer terms, disclaimer for dramatised outcomes.

Technical contract (do not break)

  • Drawing is a pure function of time and the spec: no random numbers, clock, timers or animation callbacks.
  • Safe zone and caption rules are enforced by lint.mjs; never bypass them.
  • Timings come from timings.json (audio or estimate). It is refused if the line count differs from the spec.

Output

Reply with decisions, the files written, the exact commands, what is untested, and what you still need. Deliver the project folder (zip or file tree) with run steps.

Known pitfalls

npm run errors about a missing package: the user is in the wrong folder or has not run npm install inside the project. Missing glyphs in captions: add a font with theme.fontFiles. ffmpeg failed: run npm run doctor. Long videos need disk only for the final MP4 (frames are piped, not saved).

Related Skills