MoneyPrinterTurbo Video Generator
harry0703/MoneyPrinterTurbo
Installs and runs MoneyPrinterTurbo to turn a topic or script into a finished short video with voice-over, subtitles, stock footage and music.
文字转语音配音:把文案/脚本合成为 AI 语音口播、旁白、朗读音频。配了 VOICEPROVIDER 默认走闭源云 TTS(CosyVoice2 等,有情感、像真人),edge 仅无 key 时兜底(edge 偏机械/AI 味);同步输出分句 SRT 字幕、mp3/wav/m4a。合成后可与 BGM 混音或加到视频作旁白。当用户说“配音”“文字转语音”“TTS”“AI…
$ npx skills add ZJU-REAL/Easel --skill tts-voiceover -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install ZJU-REAL/Easel tts-voiceover --agent claude-codeProject scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).
$ git clone --depth 1 https://github.com/ZJU-REAL/Easel.git skills-src && mkdir -p .claude/skills && cp -r skills-src/skills/openclaw/tts-voiceover .claude/skills/tts-voiceover && rm -rf skills-srcUse ~/.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/
Install the "tts-voiceover" agent skill from https://github.com/ZJU-REAL/Easel/tree/main/skills/openclaw/tts-voiceover into .claude/skills/tts-voiceover/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "tts-voiceover", then confirm the skill loads.Claude Code copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$skill-installer install https://github.com/ZJU-REAL/Easel/tree/main/skills/openclaw/tts-voiceoverType this inside Codex. $skill-installer <name> installs a curated skill from openai/skills. The installer writes to $CODEX_HOME/skills (default ~/.codex/skills). Restart Codex if the skill does not show up.
$ npx skills add ZJU-REAL/Easel --skill tts-voiceover -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install ZJU-REAL/Easel tts-voiceover --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/ZJU-REAL/Easel.git skills-src && mkdir -p .agents/skills && cp -r skills-src/skills/openclaw/tts-voiceover .agents/skills/tts-voiceover && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "tts-voiceover" agent skill from https://github.com/ZJU-REAL/Easel/tree/main/skills/openclaw/tts-voiceover into .agents/skills/tts-voiceover/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "tts-voiceover", then confirm the skill loads.Codex copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add ZJU-REAL/Easel --skill tts-voiceover -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install ZJU-REAL/Easel tts-voiceover --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/ZJU-REAL/Easel.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/skills/openclaw/tts-voiceover .cursor/skills/tts-voiceover && rm -rf skills-srcUse ~/.cursor/skills/ instead of .cursor/skills for a personal install.
Cursor skills documentation · loads skills from .cursor/skills/, .agents/skills/, .claude/skills/, .codex/skills/
Install the "tts-voiceover" agent skill from https://github.com/ZJU-REAL/Easel/tree/main/skills/openclaw/tts-voiceover into .cursor/skills/tts-voiceover/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "tts-voiceover", then confirm the skill loads.Cursor copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gemini skills install https://github.com/ZJU-REAL/Easel.git --path skills/openclaw/tts-voiceover--scope user (default) or --scope workspace; --path is the subfolder of the repo that holds the skill; --consent skips the security confirmation prompt.
$ npx skills add ZJU-REAL/Easel --skill tts-voiceover -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install ZJU-REAL/Easel tts-voiceover --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/ZJU-REAL/Easel.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/skills/openclaw/tts-voiceover .gemini/skills/tts-voiceover && rm -rf skills-srcUse ~/.gemini/skills/ instead of .gemini/skills for a personal install, then run /skills reload.
Gemini CLI skills documentation · loads skills from .gemini/skills/, .agents/skills/
Install the "tts-voiceover" agent skill from https://github.com/ZJU-REAL/Easel/tree/main/skills/openclaw/tts-voiceover into .gemini/skills/tts-voiceover/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "tts-voiceover", then confirm the skill loads.Gemini CLI copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gh skill install ZJU-REAL/Easel tts-voiceoverInstalls for Copilot at project scope by default; add --scope user for a personal install. Preview a skill first with gh skill preview. Needs GitHub CLI 2.90.0 or later (public preview).
$ npx skills add ZJU-REAL/Easel --skill tts-voiceover -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/ZJU-REAL/Easel.git skills-src && mkdir -p .github/skills && cp -r skills-src/skills/openclaw/tts-voiceover .github/skills/tts-voiceover && rm -rf skills-srcUse ~/.copilot/skills/ instead of .github/skills for a personal install. Commit .github/skills so cloud agent and code review can use it.
GitHub Copilot skills documentation · loads skills from .github/skills/, .claude/skills/, .agents/skills/
Install the "tts-voiceover" agent skill from https://github.com/ZJU-REAL/Easel/tree/main/skills/openclaw/tts-voiceover into .github/skills/tts-voiceover/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "tts-voiceover", then confirm the skill loads.GitHub Copilot copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add ZJU-REAL/Easel --skill tts-voiceover -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install ZJU-REAL/Easel tts-voiceover --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/ZJU-REAL/Easel.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/skills/openclaw/tts-voiceover .opencode/skills/tts-voiceover && rm -rf skills-srcUse ~/.config/opencode/skills/ instead of .opencode/skills for a personal install.
OpenCode skills documentation · loads skills from .opencode/skills/, .claude/skills/, .agents/skills/
Install the "tts-voiceover" agent skill from https://github.com/ZJU-REAL/Easel/tree/main/skills/openclaw/tts-voiceover into .opencode/skills/tts-voiceover/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "tts-voiceover", then confirm the skill loads.OpenCode copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
tts-voiceover文字转语音配音:把文案/脚本合成为 AI 语音口播、旁白、朗读音频。配了 VOICEPROVIDER 默认走闭源云 TTS(CosyVoice2 等,有情感、像真人),edge 仅无 key 时兜底(edge 偏机械/AI 味);同步输出分句 SRT 字幕、mp3/wav/m4a。合成后可与 BGM 混音或加到视频作旁白。当用户说“配音”“文字转语音”“TTS”“AI…
Tts Voiceover is an agent skill from ZJU-REAL/Easel. 文字转语音配音:把文案/脚本合成为 AI 语音口播、旁白、朗读音频。配了 VOICEPROVIDER 默认走闭源云 TTS(CosyVoice2 等,有情感、像真人),edge 仅无 key 时兜底(edge 偏机械/AI 味);同步输出分句 SRT 字幕、mp3/wav/m4a。合成后可与 BGM 混音或加到视频作旁白。当用户说“配音”“文字转语音”“TTS”“AI 配音”“口播语音”“旁白”“朗读”“把这段文字读出来”“生成语音”“语音合成”时使用。
Its SKILL.md is about 900 tokens, which your agent loads only when the skill is triggered. The skill folder holds 1 other file (for example `EASEL-META.md`).
It sits in Media & Creative, covering Text to speech and voice. The repository describes itself as: An open-source AI agent for social media — discover trends, create content, publish everywhere, and learn what works across Xiaohongshu, Douyin, Zhihu, Bilibili, and more.🎨一个开源的… The licence is Apache-2.0.
3 steps, taken from the step headings in SKILL.md.
Read from SKILL.md and the folder at commit 278f420. It shows what the files ask for, not the result of running them.
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.
Shell commands in SKILL.md call:
pythonFrom the folder's file list and the shell code blocks in SKILL.md.
No URLs in SKILL.md.
From URLs in SKILL.md, links to its own repository left out.
Names these keys or tokens, usually read from environment variables:
VOICE_API_KEYFrom names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.
Tts Voiceover loads about 896 tokens when it runs. Until then it costs about 62 tokens; SKILL.md has 178 words of instructions outside code blocks.
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.
The automated check noted patterns worth knowing about, such as sudo or a known installer.
` 到 `AGENTS.md` 末尾给出的 Easel 项目根,确认当前目录有 `.env` 和 `skills/shared/scripts/`。云 TTS 配置只能用项目根的 `model_registry.py configured**默认闭源优先**——配了 `.env` 的 `VOICE_PROVIDER`(+ VOICE_API_KEY) 就走闭源云 TTS(voice_clone,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.
The full file from ZJU-REAL/Easel at commit 278f420, republished under its Apache-2.0 licence (© ZJU-REAL). 178 words, ~896 tokens.
.claude/skills/tts-voiceover/SKILL.md (or your agent's skills folder). This skill also uses 1 other file; get the full folder from GitHub.配置检查路径铁律:先
cd到AGENTS.md末尾给出的 Easel 项目根,确认当前目录有.env和skills/shared/scripts/。云 TTS 配置只能用项目根的model_registry.py configured --group voice --env-file .env和voice_clone.py check ... --env-file .env判断;不得在 workspace 跑./shared/scripts/...,也不得用env/printenv推断 Key/URL 缺失。
把文案 / 脚本合成为 AI 语音(口播、旁白、朗读)。共享脚本 skills/shared/scripts/tts.py speak:
默认闭源优先——配了 .env 的 VOICE_PROVIDER(+ VOICE_API_KEY) 就走闭源云 TTS(voice_clone,
按句合成+拼接+分句 SRT,有情感、像真人),没 key 才退 edge(AI 味、生硬,仅兜底)。
--engine closed/edge 可强制;闭源音色用 --voice 传 voice-id(如 FunAudioLLM/CosyVoice2-0.5B:alex),
旁白默认 alex,可用 VOICE_NARRATOR_VOICE_ID 覆盖。合成后语音可交 audio_ops.py/video_ops.py 混音或加到视频。
| 字段 | 必填 | 说明 |
|---|---|---|
| text / file | 是 | 待配音的文本,或文本文件路径(长文本推荐 --file) |
| voice | 否 | 音色,默认 zh-CN-XiaoxiaoNeural(晓晓) |
| rate/volume/pitch | 否 | 语速 / 音量 / 音调微调 |
| output | 否 | 默认 outputs/主题名/{name}.mp3 |
outputs/主题名/--subtitle),供视频烧字幕用edge-tts 调微软在线服务,必须能访问外网。内网环境先设代理:
export https_proxy=http://<代理host>:<端口> http_proxy=http://<代理host>:<端口>脚本会自动读环境变量代理并透传给 edge-tts(也可用 --proxy 覆盖)。
脚本路径(相对项目根):skills/shared/scripts/tts.py。每个子命令支持 -h。
python skills/shared/scripts/tts.py voices # 常用中文音色 + 简介
python skills/shared/scripts/tts.py voices --all # 拉全量 zh- 音色(需外网)# 最简:一句话 → mp3
python skills/shared/scripts/tts.py speak --text "欢迎来到本期内容" \
-o outputs/主题名/intro.mp3
# 长文本从文件读 + 换音色 + 加速 10%
python skills/shared/scripts/tts.py speak --file script.txt \
-o outputs/主题名/narration.mp3 --voice zh-CN-YunxiNeural --rate +10%
# 同步出 SRT 字幕(视频烧字幕用)
python skills/shared/scripts/tts.py speak --file script.txt \
-o outputs/主题名/vo.mp3 --subtitle outputs/主题名/vo.srt
# 输出 wav(需 ffmpeg,便于后续无损处理)
python skills/shared/scripts/tts.py speak --text "……" \
-o outputs/主题名/vo.wav --format wav参数:--rate +10%(语速)、--volume +20%(音量)、--pitch +2Hz(音调)。
配音出来后按需接下游脚本,无需在本 SKILL 重造能力:
# ① 配音 + BGM 混音(原声 1.0 / BGM 0.3)→ 用 audio_ops concat / video_ops bgm
python skills/shared/scripts/video_ops.py bgm -i vo.mp3 -o vo_bgm.mp3 \
--music bgm.mp3 --voice-volume 1.0 --music-volume 0.3
# ② 配音音量归一化到社媒响度(-14 LUFS)
python skills/shared/scripts/audio_ops.py normalize vo.mp3 -o vo_norm.mp3
# ③ 把配音作为旁白加到视频
python skills/shared/scripts/video_ops.py bgm -i clip.mp4 -o clip_vo.mp4 \
--music vo.mp3 --voice-volume 0.4 --music-volume 1.0| 音色 | 特点 |
|---|---|
zh-CN-XiaoxiaoNeural | 晓晓 · 女声,温暖亲和,通用首选(默认) |
zh-CN-XiaoyiNeural | 晓伊 · 女声,活泼年轻,口播/种草 |
zh-CN-YunxiNeural | 云希 · 男声,清朗自然,旁白/解说 |
zh-CN-YunyangNeural | 云扬 · 男声,专业沉稳,新闻/播报 |
zh-CN-YunjianNeural | 云健 · 男声,浑厚有力,激情内容 |
粤语用 zh-HK-HiuMaanNeural(曉曼),台式用 zh-TW-HsiaoChenNeural(曉臻)。
outputs/主题名/。有 Profile 时可读取账号偏好音色 / 语速 / 平台调性(如口播偏活泼晓伊、 知识类偏沉稳云扬)作为默认参数;无 Profile 退到通用默认(晓晓、正常语速)。
© ZJU-REAL, Apache-2.0. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file
SKILL.md and 1 other file in skills/openclaw/tts-voiceover of ZJU-REAL/Easel.
Open the folder on GitHubat commit 278f420
Tts Voiceover 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.
| Skill | Stars | Used in | Tokens | Auto-check | Licence | Repo updated |
|---|---|---|---|---|---|---|
| Tts Voiceover this skillZJU-REAL/Easel | 3.4k | — | ~896 | Automated safety check: Notes | Apache-2.0 | |
| MoneyPrinterTurbo Video Generatorharry0703/MoneyPrinterTurbo | 130k | — | ~2.1k | Automated safety check: Warn | MIT | |
| HyperFrames Media Useheygen-com/hyperframes | 60k | — | ~2.4k | Automated safety check: Pass | Apache-2.0 | |
| Openspec OnboardSAP/e-mobility-charging-stations-simulator | 227 | 25 repos | ~3.5k | Automated safety check: Pass | MIT | |
| Blog AudioAgriciDaniel/claude-blog | 2.3k | 1 repos | ~2.2k | Automated safety check: Notes | MIT | |
| Musictadaspetra/loop | 296 | 2 repos | ~827 | Automated safety check: Pass | MIT |
harry0703/MoneyPrinterTurbo
Installs and runs MoneyPrinterTurbo to turn a topic or script into a finished short video with voice-over, subtitles, stock footage and music.
heygen-com/hyperframes
Finds, generates and edits media for HyperFrames video projects: music, sound effects, images, icons, logos, voiceovers, captions and color grades.
SAP/e-mobility-charging-stations-simulator
Guided onboarding for OpenSpec - walk through a complete workflow cycle with narration and real codebase work.
AgriciDaniel/claude-blog
Generate audio narration of blog posts using Google Gemini TTS.
tadaspetra/loop
Generate music using ElevenLabs Music API. An agent skill from tadaspetra/loop.
hoquanghai/Auto-Create-Video
Tạo video tin tức ngắn 9:16 (~60s) từ URL bài báo hoặc file .txt tiếng Việt.
ZJU-REAL/Easel
微信公众号文章排版引擎:把 Markdown / Word(.docx) / PDF / 纯文本转成可直接粘贴进公众号编辑器的 HTML,自动章节编号、关键词标记、引言卡、目录、代码块、图片/GIF、作者签名;主题从 references/theme-index.md…
ZJU-REAL/Easel
微信公众号文章自动创作与发布工具。给定参考文章、文字或文档,自动搜索整理全网相关信息、生成图文并茂的公众号文章,并发布到微信公众号草稿箱。特别强调反 AI 检测写作。
ZJU-REAL/Easel
社媒卡片视觉设计系统:提供配色、中文字体层级、满画幅布局、品类骨架和死空白/密度质检,避免模板化 PPT 与廉价 AI 感。
ZJU-REAL/Easel
生成电商商品视觉方案:主图概念、场景图、详情页视觉方向和 AI 生图 Prompt. An agent skill from ZJU-REAL/Easel.
ZJU-REAL/Easel
将数据或文字内容转化为可视化信息图,支持静态(AntV)和动画 GIF 两种模式。当用户需要制作信息图、数据可视化、流程图、对比图、动画图表、GIF 图表、思维导图、SWOT 分析图时调用。本地渲染信息图/GIF 动画;要单张静态图片 URL 用 chart-visualization,要 CSV/JSON→整页报告用 data-report
ZJU-REAL/Easel
长篇小说/网文连载创作:从世界观、人设和三级大纲写到逐章正文,并用文件化状态维护伏笔、前情和跨章一致性. An agent skill from ZJU-REAL/Easel.
Categories
文字转语音配音:把文案/脚本合成为 AI 语音口播、旁白、朗读音频。配了 VOICEPROVIDER 默认走闭源云 TTS(CosyVoice2 等,有情感、像真人),edge 仅无 key 时兜底(edge 偏机械/AI 味);同步输出分句 SRT 字幕、mp3/wav/m4a。合成后可与 BGM 混音或加到视频作旁白。当用户说“配音”“文字转语音”“TTS”“AI…. Tts Voiceover is an agent skill from ZJU-REAL/Easel.
Tts Voiceover fits situations like: tasks that involve Text to speech and voice.
Run `npx skills add ZJU-REAL/Easel --skill tts-voiceover -a claude-code`. Or copy the skill folder (skills/openclaw/tts-voiceover in ZJU-REAL/Easel) into .claude/skills/tts-voiceover in your project. Claude Code loads it when a task matches its description.
Run `npx skills add ZJU-REAL/Easel --skill tts-voiceover -a codex`. Or copy the skill folder (skills/openclaw/tts-voiceover in ZJU-REAL/Easel) into .agents/skills/tts-voiceover in your project. Codex loads it when a task matches its description.
Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add ZJU-REAL/Easel --skill tts-voiceover -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/tts-voiceover, .gemini/skills/tts-voiceover, .github/skills/tts-voiceover and .opencode/skills/tts-voiceover in your project.
Going by SKILL.md and its folder, Tts Voiceover needs the command-line tools its instructions call (python) and credentials named VOICE_API_KEY. Our summary lists: Python 3; A credential in VOICE_API_KEY.
SKILL.md contains no URLs. Any network use would come from the scripts or tools the agent runs. This is read from the text; nothing was executed.
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.
Tts Voiceover is published under the Apache-2.0 licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.
About 896 tokens (SKILL.md is roughly 3.6k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.
Skills that share tags, products or a category with Tts Voiceover: MoneyPrinterTurbo Video Generator (harry0703/MoneyPrinterTurbo, 130k stars), HyperFrames Media Use (heygen-com/hyperframes, 60k stars), Openspec Onboard (SAP/e-mobility-charging-stations-simulator, 227 stars) and Blog Audio (AgriciDaniel/claude-blog, 2.3k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
ZJU-REAL (a GitHub organization) maintains it in ZJU-REAL/Easel, which has 3,376 GitHub stars. The repository holds 114 skills in this directory. The repository was last updated on October 9, 2026.
Source: ZJU-REAL/Easel on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.