跳到正文
cccskills
免费在 GitHub 公开

karaoke-captions

Generate TikTok/Shorts-style karaoke captions using MLX Whisper, ASS subtitles, and FFmpeg libass. Use when burning word-level highlight captions into a video, matching caption style from a screenshot, rendering ASS karaoke subtitles, or when the user runs /karaoke-captions.

中文简介正在准备中。当前显示原文说明。

集成工具TikTok

实测评分 未实测

查看安装方法

包含的文件(11)

  • SKILL.md3.3 KB
  • .gitignore269 B
  • presets/style.json369 B
  • presets/yellow.json369 B
  • README.md1.7 KB
  • references/style-guide.md2.7 KB
  • requirements.txt25 B
  • scripts/extract_words.py2.0 KB
  • scripts/gen_ass.py7.3 KB
  • scripts/match_style_from_image.py4.2 KB
  • scripts/render.sh1.3 KB

SKILL.md(原文)

安装前可以查看交给 AI 代理的指令内容。

Karaoke Captions Skill

Generate dynamic, TikTok/Shorts-style karaoke captions with word-level highlight sweeps using ASS subtitles and FFmpeg libass. Supports style matching from a reference screenshot.

Scripts, presets, and references live next to this skill. Run the commands from the skill directory (or pass absolute paths).

Requirements

  • macOS with Apple Silicon (MLX Whisper)
  • Python 3.10+
  • FFmpeg with libass (brew install ffmpeg)
python -m venv .venv
source .venv/bin/activate
pip install -r requirements.txt
reference.png --------(match_style_from_image.py)--------> style.json --+
                                                                   +--(gen_ass.py)--> captions.ass --(render.sh)--> output.mp4
input.mp4 ---------------------------------->(extract_words.py)--> words.json --+

File Architecture

FilePurposeRole
input.mp4Source videoInput
reference.pngStyle reference image (optional)Visual Prompt
words.jsonWord-level timestamps [{"word": ..., "start": ..., "end": ...}]Persistent Raw Data
style.jsonFont, size, highlight color, outline, soft shadow, margin, words per lineStyle Config
captions.assASS subtitle script with two-layer blurred drop shadow and inline color overridesGenerated Intermediate
output.mp4Final video with burned-in subtitlesOutput Deliverable

Standard Workflow

Step 1. Extract Word Timestamps

python scripts/extract_words.py \
  input.mp4 words.json \
  --model mlx-community/whisper-large-v3-turbo

(For Chinese videos, add --language zh).

Step 2. Select Style or Auto-match from Reference Image

  • From Reference Image:
    python scripts/match_style_from_image.py \
      reference.png style.json --video input.mp4
    
  • From Presets:
    • presets/style.json: Default neon green highlight (#00FF00), Arial Black, all-caps, 4 words/line.
    • presets/yellow.json: Yellow highlight (#FFFF00), Arial Black, all-caps.

To adjust appearance manually, see Style Guide.

Step 3. Generate ASS Subtitles

python scripts/gen_ass.py \
  words.json style.json captions.ass --video input.mp4

Step 4. Render Preview & Visual Check

# Preview segment:
scripts/render.sh input.mp4 captions.ass preview.mp4 3 8

# Frame snapshot:
scripts/render.sh frame input.mp4 captions.ass preview_frame.png 4.5

Step 5. Render Final Video

scripts/render.sh input.mp4 captions.ass output.mp4

References & Presets

评价

还没有评价。欢迎分享你的使用感受。

评论

无需登录即可发表。欢迎分享使用感受、提问,或说明在哪些环境下无法运行。

还没有评论。来写第一条吧。

提交后会立即公开。请勿填写邮箱、电话等个人信息。URL 最多 2 个。

0 / 1000 字

此表单受 reCAPTCHA 保护,适用 Google 的隐私权政策和服务条款。

同一仓库的技能

Audit a repo's agent context — CLAUDE.md files, codebase docs, skills, and tool/MCP designs — against Anthropic's Claude 5 context-engineering guidance ("unhobbling": Anthropic cut ~80% of Claude Code's system prompt with no eval loss). Finds overconstraint, conflicting instructions, redundancy, stale facts, and missing "unknown knowns"; produces a scored findings report with concrete rewrites, then applies approved fixes. Use when someone says "audit my CLAUDE.md", "context audit", "unhobble this repo", "review our agent docs/skills/tools", or after upgrading to Claude 5-generation models.

中文简介正在准备中。当前显示原文说明。

AI-Builder-Club/skills12982026年9月16日 更新

Scaffold an isolated CLOUD dev box per agent (via crabbox + Daytona) for any codebase — the parallel-safe counterpart to dev-local-setup. Each agent gets its own full stack (own DB + dev server) and an in-box browser for e2e, so concurrent loops never collide on ports/state. Sets up the snapshot image, .crabbox.yaml, an idempotent setup.sh (also boots the stack locally), and a cbx.sh wrapper. Use when the user says "set up crabbox", "give each agent its own box", "add cloud testing", "make this repo testable in the cloud / on Daytona", "parallel-test this", or when setup-codebase-harness needs true per-agent isolation.

中文简介正在准备中。当前显示原文说明。

AI-Builder-Club/skills12982026年9月16日 更新

Scaffold a one-command `dev-local` launcher for ANY codebase. Investigates the repo to find its services, ports, and infra dependencies, then generates a single `scripts/dev-local.sh` (up/down/status/logs/restart) that runs every dev server in one tmux session, plus a short skill doc describing it. Use when someone says "set up dev-local", "make a one-command dev launcher", "I want one script to start this repo", "scaffold dev-local for this project".

中文简介正在准备中。当前显示原文说明。

AI-Builder-Club/skills12982026年9月16日 更新

e2e-setup

免费

Set up an end-to-end test suite in any repo, following practices that make e2e a reliable per-PR gate: real flows over bypass, layered assertions, a reusable auth/session helper, video+trace evidence, and a compounding suite. Use when a repo has no e2e (or weak e2e) and you want system-level tests — "set up e2e", "add end-to-end tests", "scaffold a test gate".

中文简介正在准备中。当前显示原文说明。

AI-Builder-Club/skills12982026年9月16日 更新

new-loop

免费

Spin up a new loop (domain) in a file-based knowledge base — bootstrap the substrate if it's missing, gather the loop's charter, scaffold domains/<loop>/README.md, then do ONE real test run and record it in the loop's Timeline and LOG.md. Use when the user says "set up a new loop", "create a domain", "start a new beat/workstream", or names a recurring job they want the agent to own.

中文简介正在准备中。当前显示原文说明。

AI-Builder-Club/skills12982026年9月16日 更新

Delegate tasks to ANY CLI agent (claude, codex, aider, ...) running in a detached tmux session, with a race-safe done-signal protocol and multi-turn iteration. Use when delegating work to a non-Claude CLI agent, when the user says "tmux delegate", "run agent in tmux", "delegate to codex/aider", or when executor work should run in an observable background terminal instead of the Agent tool.

中文简介正在准备中。当前显示原文说明。

AI-Builder-Club/skills12982026年9月16日 更新

查看 AI-Builder-Club 的全部技能

报告此技能的问题