Agent skill

AI Video Short Maker

by hassancs91 in hassancs91/claude-faceless-shorts-creator

Produces a vertical generative-video short end to end: a locked recurring character animated by a fal video model, ElevenLabs voice, Remotion captions and a clean loop.

MITAuto-check: notesMedia & Creative

Install AI Video Short Maker

skills CLI
$ npx skills add hassancs91/claude-faceless-shorts-creator --skill make-ai-short -a claude-code

Project install by default; add -g for ~/.claude/skills/.

GitHub CLI
$ gh skill install hassancs91/claude-faceless-shorts-creator make-ai-short --agent claude-code

Project scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).

Manual copy
$ git clone --depth 1 https://github.com/hassancs91/claude-faceless-shorts-creator.git skills-src && mkdir -p .claude/skills && cp -r skills-src/.claude/skills/make-ai-short .claude/skills/make-ai-short && rm -rf skills-src

Use ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.

Claude Code skills documentation · loads skills from .claude/skills/

Facts

Skill name
make-ai-short
GitHub stars
271
Token cost
~1.6k tokens
SKILL.md length
690 words
Files
1
Skills in repo
5
Repo updated
First seen
Licence
MIT

At a glance

Produces a vertical generative-video short end to end: a locked recurring character animated by a fal video model, ElevenLabs voice, Remotion captions and a clean loop.

  • Works in 3 steps: NEVER generate a character from text… → STATE THE COST BEFORE SPENDING IT.… → Loop by CONSTRAINT, not luck. Shot 1's…
  • Making a faceless short where a video model generates every shot
  • SKILL.md covers The three iron rules, Artifact contract, Order of operations (voice… and Done =
  • Calls python and npm; needs FAL_KEY and ELEVENLABS_API_KEY

What it does

Here the pixels come from a video model and Remotion only composites the clips and word-synced captions. The target is a 1080 by 1920 short of roughly 35 to 40 seconds, and the keys `FAL_KEY` and `ELEVENLABS_API_KEY` must be in `.env`. Three rules govern the run: the character is never generated from text twice and instead comes from a locked `character.json` and `character.png` reference, the cost is stated before any generation is paid for, and the loop is forced by passing the first shot's true frame 0 as the end image of the last shot.

The order of work puts voice before pixels. The agent writes a script and beats file with a hook at frame 0 and no engagement outro, since the loop is the ending. It generates the voice with `tools/gen_voice.py`, and the real word times decide shot windows, which are rounded up to the integer durations Seedance accepts. SFX auditions and the Remotion composition follow. It is distinct from `make-short`, which uses TSX animation, and `make-vox`, which uses layered collage.

When your agent uses it

  • Making a faceless short where a video model generates every shot
  • Keeping one recurring character consistent across clips
  • Building a short whose last frame matches its first so it loops cleanly

Example prompts

  • “Make an AI video short about why arrival is a myth, using the blue-man character.”
  • “Tell me what generating this short with Seedance will cost before you create any clips.”
  • “Create a character sheet for a new narrator and lock it before we generate shots.”

Requirements

  • A fal API key (FAL_KEY) in .env
  • An ElevenLabs API key in .env
  • The claude-faceless-shorts-creator repository with Remotion

Workflow steps

3 steps, taken from the first numbered list in SKILL.md.

  1. NEVER generate a character from text twice. ai-shorts//character.json +
  2. STATE THE COST BEFORE SPENDING IT. Derived, not quoted: Seedance 1080p audio-off =
  3. Loop by CONSTRAINT, not luck. Shot 1's true frame 0 (extracted from the clip, not the

What it can do on your machine

Read from SKILL.md and the folder at commit 773054b. It shows what the files ask for, not the result of running them.

  • Tool permissions

    Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.

    From allowed-tools in the SKILL.md frontmatter.

  • Runs code

    Shell commands in SKILL.md call:

    • python
    • npm

    From the folder's file list and the shell code blocks in SKILL.md.

  • Network

    No URLs in SKILL.md. Its commands use npm, which can reach the network depending on how they are called.

    From URLs in SKILL.md, links to its own repository left out.

  • Credentials

    Names these keys or tokens, usually read from environment variables:

    • FAL_KEY
    • ELEVENLABS_API_KEY

    From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.

Context cost

AI Video Short Maker loads about 1.6k tokens when it runs. Until then it costs about 169 tokens; SKILL.md has 690 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~169
When it runs · the whole SKILL.md, loaded when a task matches
~1.6k

Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.

Safety

Auto-check: notes

The automated check noted patterns worth knowing about, such as sudo or a known installer.

  • NoteMentions a .env fileSKILL.md:14
    (voice) in `.env`.

Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.

SKILL.md

The full file from hassancs91/claude-faceless-shorts-creator at commit 773054b, republished under its MIT licence (© hassancs91). 690 words, ~1,624 tokens.

Download SKILL.mdSave it as .claude/skills/make-ai-short/SKILL.md (or your agent's skills folder).
name
make-ai-short
description
Build a GENERATIVE-pixels vertical short (1080×1920, ~35-40s) end-to-end — a recurring locked character animated by a fal video model (Seedance 1.5 Pro default) under a philosophical/story VO, composited in Remotion with word-synced captions, SFX audition, seamless frame-0==last-frame loop. Use when the user wants to "make an AI video short", "make an ai short", "make a blue-man video", or any short where the pixels come from a VIDEO MODEL — not TSX animation (that is make-short) and not layered collage (that is make-vox). Defers model choice re-litigating to ai-shorts/IDEAS.md, TSX crash rules to vidtsx-2d-generator, SFX taste to suggest-sfx + brand §7.

make-ai-short — generative shorts, end to end

The pixels come from a video model; Remotion only composites clips + captions. Proven on blue-man #1 "The Door". Sibling of /make-short (100% TSX) — same discipline, plus three gates TSX never needed: cost stated before generating, character locked from character.json, loop pinned via end-frame conditioning.

Run everything from the repo root. Needs FAL_KEY (clips + images) and ELEVENLABS_API_KEY (voice) in .env.

The three iron rules

  1. NEVER generate a character from text twice. ai-shorts/<char>/character.json + character.png is the locked reference. Every still that needs the character is gen_image.py --ref character.png; every clip is image-to-video from a frame that already contains him. If a character sheet doesn't exist yet, making ONE (and getting the user's eye on it) is its own step before anything else.
  2. STATE THE COST BEFORE SPENDING IT. Derived, not quoted: Seedance 1080p audio-off = h×w×24×dur/1024 tokens × $1.2/1M ≈ $0.0583/s (fal pricing API validated 2026-07-14 — see ai-shorts/IDEAS.md for the full table + the Wan/Veo-Lite traps). Always generate_audio:false — voice is ElevenLabs, sound is our SFX pipeline.
  3. Loop by CONSTRAINT, not luck. Shot 1's true frame 0 (extracted from the clip, not the prompt image) is the loop target. The final shot passes it as end_image_url (Seedance/Kling), and the composition settles onto that exact still over the last ~10 frames (LoopSettle pattern in remotion/src/shots/ai-1/Ai1Door.tsx).

Artifact contract

ai-shorts/<name>/
  script.md · beats.json      — same contract as /make-short (vo[] with real word times)
  character.json              — THE LOCKED REFERENCE (+ video_model block = the picked model)
  shots/NN-slug.png           — per-shot START frame (gen_image.py --ref character.png [--ref scene])
  shots/NN-slug.json          — gen_clip sidecar (model, payload, request id)
  shots/upload-urls.json      — fal storage urls (uploads are reusable across re-rolls)
  voice/ · sfx-plan.json · output/                                          [voice/output gitignored]
remotion/src/shots/ai-N/      — composition + vo.gen.ts
media/projects/<name>/        — THE clip copies for staticFile() (committed — pixels are
                                not reproducible; shots/*.mp4 working copies are gitignored)

Order of operations (voice before pixels)

  1. Script — script.md + beats.json. Hook composed at frame 0; thesis should WANT the loop (blue-man #1: "arrival is a myth" → ending = walking toward the same door). ~80-100 words, 2.5-2.7 wps windows. No engagement-CTA outro, ever — end on the payoff, loop is the ending.
  2. Voice FIRST — python tools/gen_voice.py --beats ... --emit-ts remotion/src/shots/ai-N/vo.gen.ts (George JBFqnCBsd6RMkjVDRZzb + eleven_v3 tags for narrators). Real word times decide the shot windows; Seedance takes integer 4-12s durations, so round shot lengths UP from windows.
  3. Start frames — one per shot, python tools/gen_image.py --model pro --aspect 9:16 --ref character.png (+ the shot-1 scene still as a 2nd ref when a location/prop must match across shots). QA every PNG before any video call — this is where drift is cheap to fix.
    • Watch hands, clothing details, proportions — name them explicitly in the prompt on re-rolls.
    • Geometry must be walkable (the shot-6 lesson, cost 2 re-rolls): with an end-frame pin, the start frame must let the motion REACH the end state by walking forward — if the end frame's character is CLOSER to camera than the start's, the model spawns a clone instead. Start him larger/nearer than the end state so forward motion shrinks him into it.
  4. Clips — state the total derived cost, then python tools/gen_clip.py per shot in parallel (--set image_url=<fal storage url> --set 'duration="N"' --set resolution=1080p --set generate_audio=false, final shot --set end_image_url=<frame0 url>). Upload refs once via bakeoff_clip.upload_ref; keep urls in shots/upload-urls.json. Prompt every clip with: exact character phrase + "EXACTLY ONE character in the scene for the entire shot" (clones are the #1 failure) + camera move + "no morphing" + style line.
  5. Clip QA, frame by frame — start/mid/end strip per clip + a side-by-side of the final clip's last frame vs the loop target. Re-roll failures (state the re-roll cost); a 5s 1080p re-roll is ~$0.29 — cheap next to shipping a clone.
  6. Composition — Sequences of OffthreadVideo over ONE timeline, ~8-frame crossfade underlaps (clips are ~1s longer than their windows — that's the slack), Captions + ProgressBar at root, LoopSettle dissolve at the tail. Copy final clips to media/projects/<name>/. npm run gen, frames.mjs at boundaries + heroes, READ every PNG, then render-all --scale=1 and mux voice.wav.
  7. SFX — /suggest-sfx flow. Gappy-VO calibration (blue-man #1): cues in VO gaps get no masking and no duck — they need ~7-8 dB LESS than the dense-narration table (gap whooshes -9..-13, not -3..-5). Verify with volumedetect RMS against a speech-mean reference; hero layer may kiss voice level once. Audition mix awaits the user's ear (hard gate).
  8. Save back — catalog used_in, beats.json real timings (gen_voice writes them), sidecars committed, cost ledger in the final report.
Show full SKILL.md (42 more words)Show less

Done =

character consistent in every frame of every clip (frame-by-frame QA'd) · loop verified (last frame vs frame 0 side-by-side) · captions on real word times · costs stated before each spend and totalled after · SFX audition rendered, awaiting the user's ear · no CTA outro.

© hassancs91, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file

Files

Just SKILL.md in .claude/skills/make-ai-short of hassancs91/claude-faceless-shorts-creator.

Open the folder on GitHubat commit 773054b

Compare with similar skills

AI Video Short Maker next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.

AI Video Short Maker compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
AI Video Short Maker this skillhassancs91/claude-faceless-shorts-creator271—~1.6kAutomated safety check: NotesMIT
Super Video MakerBomx/super-video-maker-skill310—~11kAutomated safety check: NotesNone
Ffmpeg MixingvargHQ/sdk340—~676Automated safety check: PassMIT
VideoNexus-JPF/note-companion8703 repos~3.6kAutomated safety check: PassMIT
Seedance Viral Hookrediumvex/ai-video-generator-claude409—~4.6kAutomated safety check: PassMIT
Suggest Sfxhassancs91/claude-youtube-editor328—~3kAutomated safety check: PassMIT

Similar skills

  • Super Video Maker

    Bomx/super-video-maker-skill

    End-to-end AI video production skill for agentic frameworks.

    310 GitHub stars~11k tokensUpdated 2 mo ago
    Media & CreativeAuto-check: notes
  • Ffmpeg Mixing

    vargHQ/sdk

    Mix, trim, and concatenate video clips with ffmpeg without audio/video desync.

    340 GitHub stars~676 tokensUpdated 9 days ago
    Media & CreativeAuto-check passed
  • Video

    Nexus-JPF/note-companion

    When the user wants to create, generate, or produce video content using AI tools or programmatic frameworks.

    870 GitHub starsUsed in 3 repos~3.6k tokens
    Media & CreativeAuto-check passed
  • Seedance Viral Hook

    rediumvex/ai-video-generator-claude

    Generate scroll-stopping viral hook video prompts for Seedance 2.0 on Higgsfield.

    409 GitHub stars~4.6k tokensUpdated 2 mo ago
    Media & CreativeAuto-check passed
  • Suggest Sfx

    hassancs91/claude-youtube-editor

    Step 4 of the AI Video Editor pipeline — the SFX pass. An agent skill from hassancs91/claude-youtube-editor.

    328 GitHub stars~3k tokensUpdated 1 mo ago
    Media & CreativeAuto-check passed
  • Higgsfield Motion Design

    OSideMedia/higgsfield-ai-prompt-skill

    End-to-end motion-design / animated-ad creation flow on Higgsfield via the MCP connector.

    713 GitHub stars~2.3k tokensUpdated 14 days ago
    Media & CreativeAuto-check passed

More from hassancs91/claude-faceless-shorts-creator

  • VidTSX 2D Video Generator

    hassancs91/claude-faceless-shorts-creator

    Generates 2D Remotion-based TSX video files for VidTSX from a shot or scene description, with style presets and rules that keep renders from crashing.

    271 GitHub stars~2.8k tokensUpdated 1 mo ago
    Auto-check passed
  • TSX Vertical Shorts Builder

    hassancs91/claude-faceless-shorts-creator

    Builds a roughly 40-second vertical short end to end from a topic, scripting beats, rendering TSX compositions and layering voice and captions.

    271 GitHub stars~1.9k tokensUpdated 1 mo ago
    Auto-check: notes
  • Layered-Collage Documentary Shorts

    hassancs91/claude-faceless-shorts-creator

    Builds a vertical collage-style documentary short from script to render: scene dissection into image layers, layer production, TSX assembly on a collage kit, frame checks and voice.

    271 GitHub stars~1.5k tokensUpdated 1 mo ago
    Auto-check passed
  • Sound Effects Planner for Shorts

    hassancs91/claude-faceless-shorts-creator

    Proposes beat-synced sound effects for a rendered short from a reusable library, then mixes an audition preview under the voice once you approve the plan.

    271 GitHub stars~2.6k tokensUpdated 1 mo ago
    Auto-check: notes

Questions about AI Video Short Maker

What does AI Video Short Maker do?

Produces a vertical generative-video short end to end: a locked recurring character animated by a fal video model, ElevenLabs voice, Remotion captions and a clean loop. Here the pixels come from a video model and Remotion only composites the clips and word-synced captions.env`.

When should I use AI Video Short Maker?

AI Video Short Maker fits situations like: making a faceless short where a video model generates every shot; keeping one recurring character consistent across clips; building a short whose last frame matches its first so it loops cleanly.

How do I install AI Video Short Maker in Claude Code?

Run `npx skills add hassancs91/claude-faceless-shorts-creator --skill make-ai-short -a claude-code`. Or copy the skill folder (.claude/skills/make-ai-short in hassancs91/claude-faceless-shorts-creator) into .claude/skills/make-ai-short in your project. Claude Code loads it when a task matches its description.

How do I install AI Video Short Maker in Codex?

Run `npx skills add hassancs91/claude-faceless-shorts-creator --skill make-ai-short -a codex`. Or copy the skill folder (.claude/skills/make-ai-short in hassancs91/claude-faceless-shorts-creator) into .agents/skills/make-ai-short in your project. Codex loads it when a task matches its description.

Can I use AI Video Short Maker in Cursor, Gemini CLI or GitHub Copilot?

Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add hassancs91/claude-faceless-shorts-creator --skill make-ai-short -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/make-ai-short, .gemini/skills/make-ai-short, .github/skills/make-ai-short and .opencode/skills/make-ai-short in your project.

What does AI Video Short Maker need to run?

Going by SKILL.md and its folder, AI Video Short Maker needs the command-line tools its instructions call (python and npm) and credentials named FAL_KEY and ELEVENLABS_API_KEY. Our summary lists: A fal API key (FAL_KEY) in .env; An ElevenLabs API key in .env; The claude-faceless-shorts-creator repository with Remotion.

Does AI Video Short Maker access the network?

SKILL.md contains no URLs. Its commands use npm, which can reach the network depending on how they are called. This is read from the text; nothing was executed.

Is AI Video Short Maker safe to install?

Our automated static check of SKILL.md found notes only (mentions a .env file), nothing it rates as a warning. It is not a guarantee. Review the folder before installing.

What licence does AI Video Short Maker use?

AI Video Short Maker is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does AI Video Short Maker use?

About 1.6k tokens (SKILL.md is roughly 6.5k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.

What are the alternatives to AI Video Short Maker?

Skills that share tags, products or a category with AI Video Short Maker: Super Video Maker (Bomx/super-video-maker-skill, 310 stars), Ffmpeg Mixing (vargHQ/sdk, 340 stars), Video (Nexus-JPF/note-companion, 870 stars) and Seedance Viral Hook (rediumvex/ai-video-generator-claude, 409 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains AI Video Short Maker?

hassancs91 (a GitHub user) maintains it in hassancs91/claude-faceless-shorts-creator, which has 271 GitHub stars. The repository holds 5 skills in this directory. The repository was last updated on August 18, 2026.

Source: hassancs91/claude-faceless-shorts-creator on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.