agentleFS
smiling66652smiling66652/workbuddy-skill-toolkits/ai-short-video-maker/SKILL.md

ai-short-video-maker

Skill1 starsChanged 48 days agoMITView on GitHub

Build short custom videos (birthday greetings, children's stories,

  • Installs packages

We split this skill into the rules it gives an agent

11 rules. About 0 are common, 5 are distinctive, and 6 are very specific to this project.

  • ≈0

    Common · estimate

    Many files like this have a rule of this kind.

  • ≈5

    Distinctive · estimate

    This author's own choices. Worth a look.

  • 6

    Very specific

    Tied to their project's names, files or tools. Probably skip.

  • Common
  • Distinctive
  • Very specific
  1. Very specific:

    ffmpeg: must be available. The bundled scripts/assemble_video.py uses imageio-ffmpeg to locate the ffmpeg binary — install with pip install …

    line 31
  2. Distinctive:

    Use this skill when the user requests:

    line 37
  3. Distinctive:

    Before starting production, confirm with the user (or infer from context):

    line 45
  4. Very specific:

    Use ImageGen to generate a character sheet (full-body, neutral pose) matching the requested style.

    line 67
  5. Very specific:

    Use size: 1024x1536 for the character sheet.

    line 69
  6. Distinctive:

    If two parallel generations produce the same timestamp filename and overwrite each other, re-run the overwritten scene afterward.

    line 79
  7. Very specific:

    Use VideoGen in image-to-video mode for each keyframe:

    line 83
  8. Distinctive:

    Use offline TTS so the pipeline does not depend on network services:

    line 92
  9. Very specific:

    If the target environment lacks the Huihui voice, fall back to any zh-CN system voice or produce a silent subtitle-only version and tell …

    line 105
  10. Very specific:

    Use the bundled script scripts/assemble_video.py:

    line 109
  11. Distinctive:

    Before listing the service on a trading platform, verify:

    line 143

≈ “Common” is an estimate: at least 1 in 5 of the 308,232 skill files we read have a rule of the same kind, not the same words. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.

Keep what fits and drop the rest. Your version, ready for your agents.
Files
SKILL.md

AI Short Video Maker

Overview

Turn a one-paragraph brief into a 15–30 second narrative short video with original characters, Japanese-anime/cinematic style, Chinese subtitles, and synthetic voice-over. The pipeline is fully faceless, uses only local/offline tools for audio assembly, and is designed to be run inside a single WorkBuddy workspace.

Typical outputs:

  • Custom birthday greeting videos for kids (e.g. "Naruto-style ninja boy, name Lele, 12 years old")
  • Animated children's bedtime stories
  • Short store-opening / event promotional clips
  • Personalized festival / anniversary greetings

Dependencies

  • ffmpeg must be available. The bundled scripts/assemble_video.py uses imageio-ffmpeg to locate the ffmpeg binary — install with pip install imageio-ffmpeg, or ensure ffmpeg is on PATH.
  • Offline TTS: pip install pyttsx3 (Windows ships a zh-CN voice; macOS/Linux fall back to any system voice or a silent subtitle-only version).
  • Image/video generation uses the host's ImageGen / VideoGen tools — no extra install.

Trigger Conditions

Use this skill when the user requests:

  • "帮我做一个生日祝福视频"
  • "用 AI 生成一段动画/短视频"
  • "给我打个样:XX 风格,主角叫 XX"
  • Any request to prototype a faceless AI video-delivery service on a platform like Xianyu/Taobao/Fiverr

Required Inputs

Before starting production, confirm with the user (or infer from context):

  1. Recipient / protagonist (name, age, gender if relevant)
  2. Theme / style (e.g. ninja/anime/fantasy/space/cute)
  3. IP constraints — never generate copyrighted characters (Naruto, Disney, etc.). Use "XX-style original character" wording instead.
  4. Total length target — default 15–20 seconds (3–4 clips of ~5s each + end card)
  5. Language of subtitles / voice — default Simplified Chinese with Microsoft Huihui offline TTS
  6. Output directory — default <workspace>/produce/<project-slug>/

Production Pipeline

Step 1: Create output directory and write storyboard

  1. Create <out_dir>.
  2. Write <out_dir>/分镜脚本.md with:
    • 3–4 scenes, each ~5 seconds
    • Subtitle text per scene (keep under 20 Chinese characters for readability)
    • End card text (big + small line)
    • Note: All Chinese text is added in post-production; do not ask the image/video model to render text.

Step 2: Character design image

Use ImageGen to generate a character sheet (full-body, neutral pose) matching the requested style. Requirements:

  • Mention "original character" and avoid any copyrighted names/symbols.
  • Use size: 1024x1536 for the character sheet.
  • Save to <out_dir>/character_sheet.png.

Step 3: Scene keyframes (image-to-image locked to character sheet)

Generate one 16:9 keyframe per scene using ImageGen with image: character_sheet.png and input_fidelity: high. Save as:

  • scene01_<slug>.png
  • scene02_<slug>.png
  • scene03_<slug>.png

If two parallel generations produce the same timestamp filename and overwrite each other, re-run the overwritten scene afterward.

Step 4: Video clips (image-to-video)

Use VideoGen in image-to-video mode for each keyframe:

  • seconds: 5
  • resolution: 720P
  • Do NOT pass aspect_ratio — the backend rejects "16:9" and returns HTTP 400.
  • Prompt should describe subtle, cinematic motion consistent with the scene.
  • Save clips as clip01.mp4, clip02.mp4, clip03.mp4.

Step 5: TTS audio

Use offline TTS so the pipeline does not depend on network services:

import pyttsx3
engine = pyttsx3.init()
engine.setProperty('voice', r'HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Speech\Voices\Tokens\TTS_MS_ZH-CN_HUIHUI_11.0')
engine.setProperty('rate', 170)
engine.save_to_file(text, 's1.mp3')
engine.runAndWait()

Generate one audio file per subtitle line plus the end card line.

If the target environment lacks the Huihui voice, fall back to any zh-CN system voice or produce a silent subtitle-only version and tell the user.

Step 6: Assembly with ffmpeg

Use the bundled script scripts/assemble_video.py:

python <skill_dir>/scripts/assemble_video.py --dir <out_dir>

The script expects:

  • clip01.mp4, clip02.mp4, clip03.mp4
  • s1.mp3, s2.mp3, s3.mp3, s4.mp3
  • scene03_<slug>.png (used for the 3-second end card background)
  • msyh.ttc or simhei.ttf copied into <out_dir> (the script will try to copy it from C:/Windows/Fonts/ automatically)

The script outputs <out_dir>/<title>_成片.mp4.

Critical Pitfalls (learned from production)

IssueFix
VideoGen rejects aspect_ratio: "16:9"Omit aspect_ratio entirely; default works.
AI-generated Chinese text is garbledNever ask the model to draw text. Add all text via ffmpeg drawtext.
Windows font path breaks ffmpeg filter parsingCopy the font file into the output directory and reference it by filename only.
Still-image end card has different fps/timebase than video clipsForce -r 24 when generating the end card segment.
Video clips have different lengths due to audio trimmingUse -shortest per segment; final concat with concat demuxer handles it.
Copyright strike on commercial platformsUse "XX-style original character" never "Naruto/Spider-Man/Disney character".

Cost Benchmark

Typical 15–20 second video:

  • 1 character sheet + 3 keyframes ≈ 30–50 image-gen credits
  • 3 × 5-second video clips ≈ 150–300 video-gen credits
  • ffmpeg assembly ≈ 0 credits

Quality Bar for Commercial Use

Before listing the service on a trading platform, verify:

  • Character consistency across all scenes (no face/clothing drift)
  • Subtitles render correctly in Chinese
  • Audio is intelligible and synced
  • Total render cost leaves healthy margin at the chosen price (recommended ¥49–199 per video)

Resources

  • scripts/assemble_video.py — full ffmpeg assembly pipeline (subtitle burn-in, audio mix, end card, concat).

Download now (ZIP)

Does it work?

Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.

No reviews yet

People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.

  • It worked
  • Partly
  • It didn't
What did you use it for? e.g. Reviewing pull requests in a Rails app

Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.

Your trail

Files you open will collect here, so you can find them again.

Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.

Now do this for your own.

Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.