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.
使用 ListenHub API 将文本转换为语音(TTS)。支持三种模式:快速合成(/v1/tts)、 多角色脚本(/v1/speech)、长文本流式合成(/v1/flow-speech/episodes)。
$ npx skills add smallnest/goal-workflow --skill listenhub-tts -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install smallnest/goal-workflow listenhub-tts --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/smallnest/goal-workflow.git skills-src && mkdir -p .claude/skills && cp -r skills-src/skills/listenhub-tts .claude/skills/listenhub-tts && 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 "listenhub-tts" agent skill from https://github.com/smallnest/goal-workflow/tree/master/skills/listenhub-tts into .claude/skills/listenhub-tts/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "listenhub-tts", 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/smallnest/goal-workflow/tree/master/skills/listenhub-ttsType 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 smallnest/goal-workflow --skill listenhub-tts -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install smallnest/goal-workflow listenhub-tts --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/smallnest/goal-workflow.git skills-src && mkdir -p .agents/skills && cp -r skills-src/skills/listenhub-tts .agents/skills/listenhub-tts && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "listenhub-tts" agent skill from https://github.com/smallnest/goal-workflow/tree/master/skills/listenhub-tts into .agents/skills/listenhub-tts/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "listenhub-tts", 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 smallnest/goal-workflow --skill listenhub-tts -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install smallnest/goal-workflow listenhub-tts --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/smallnest/goal-workflow.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/skills/listenhub-tts .cursor/skills/listenhub-tts && 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 "listenhub-tts" agent skill from https://github.com/smallnest/goal-workflow/tree/master/skills/listenhub-tts into .cursor/skills/listenhub-tts/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "listenhub-tts", 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/smallnest/goal-workflow.git --path skills/listenhub-tts--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 smallnest/goal-workflow --skill listenhub-tts -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install smallnest/goal-workflow listenhub-tts --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/smallnest/goal-workflow.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/skills/listenhub-tts .gemini/skills/listenhub-tts && 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 "listenhub-tts" agent skill from https://github.com/smallnest/goal-workflow/tree/master/skills/listenhub-tts into .gemini/skills/listenhub-tts/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "listenhub-tts", 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 smallnest/goal-workflow listenhub-ttsInstalls 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 smallnest/goal-workflow --skill listenhub-tts -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/smallnest/goal-workflow.git skills-src && mkdir -p .github/skills && cp -r skills-src/skills/listenhub-tts .github/skills/listenhub-tts && 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 "listenhub-tts" agent skill from https://github.com/smallnest/goal-workflow/tree/master/skills/listenhub-tts into .github/skills/listenhub-tts/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "listenhub-tts", 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 smallnest/goal-workflow --skill listenhub-tts -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install smallnest/goal-workflow listenhub-tts --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/smallnest/goal-workflow.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/skills/listenhub-tts .opencode/skills/listenhub-tts && 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 "listenhub-tts" agent skill from https://github.com/smallnest/goal-workflow/tree/master/skills/listenhub-tts into .opencode/skills/listenhub-tts/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "listenhub-tts", 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.
listenhub-tts使用 ListenHub API 将文本转换为语音(TTS)。支持三种模式:快速合成(/v1/tts)、 多角色脚本(/v1/speech)、长文本流式合成(/v1/flow-speech/episodes)。
Listenhub Tts is an agent skill from smallnest/goal-workflow. 使用 ListenHub API 将文本转换为语音(TTS)。支持三种模式:快速合成(/v1/tts)、 多角色脚本(/v1/speech)、长文本流式合成(/v1/flow-speech/episodes)。 音色未指定时自动获取音色列表供用户选择,默认使用 chat-girl-105-cn(晓曼)。 Use when user says: "tts", "text to speech", "语音合成", "文字转语音", "朗读", "生成语音", "生成音频", "转音频", "text to audio"
Its SKILL.md is about 1.5k tokens, which your agent loads only when the skill is triggered. It is a single SKILL.md file with no bundled scripts.
It sits in Media & Creative, covering Text to speech and voice. The repository describes itself as: AI-driven development workflow with /prd, /goal, /review-it and /ship-it skills. The licence is MIT.
3 steps, taken from the first numbered list in SKILL.md.
Read from SKILL.md and the folder at commit b06ab3c. It shows what the files ask for, not the result of running them.
Pre-approves these tools, so the agent can use them without asking each time:
ReadWriteEditBashAskUserQuestionFrom allowed-tools in the SKILL.md frontmatter.
Shell commands in SKILL.md call:
curlFrom the folder's file list and the shell code blocks in SKILL.md.
Hosts in commands or code, which the agent is likely to contact:
api.marswave.aiFrom URLs in SKILL.md, links to its own repository left out.
Names these keys or tokens, usually read from environment variables:
LISTENHUB_API_KEYFrom names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.
Listenhub Tts loads about 1.5k tokens when it runs. Until then it costs about 68 tokens; SKILL.md has 354 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.
allowed-tools: Read, Write, Edit, Bash, AskUserQuestionAutomated 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 smallnest/goal-workflow at commit b06ab3c, republished under its MIT licence (© smallnest). 354 words, ~1,532 tokens.
.claude/skills/listenhub-tts/SKILL.md (or your agent's skills folder).使用 ListenHub OpenAPI 将文本转换为语音。支持三种合成模式,覆盖从短文本到长文本的全场景。
https://api.marswave.ai/openapiAuthorization: Bearer $LISTENHUB_API_KEY(从环境变量读取)LISTENHUB_API_KEY 环境变量已设置,未设置则提示用户配置直接使用用户指定的 speakerId,跳过选择流程。
GET /v1/speakers/list?language=zh 获取可用音色列表chat-girl-105-cn(晓曼 dxqqq){name}({gender},{speakerId})| 字段 | 值 |
|---|---|
| speakerId | chat-girl-105-cn |
| 名称 | 晓曼 dxqqq |
适用场景: 短文本(< 1000 字),单音色,需要低延迟
接口: POST /v1/tts
请求体:
{
"text": "要合成的文本",
"speakerId": "chat-girl-105-cn",
"format": "mp3",
"sampleRate": 24000,
"speed": 1.0
}| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
| text | string | 是 | 要合成的文本 |
| speakerId | string | 是 | 音色 ID |
| format | string | 否 | 输出格式,默认 mp3 |
| sampleRate | int | 否 | 采样率,默认 24000 |
| speed | float | 否 | 语速,默认 1.0,范围 0.5 ~ 2.0 |
响应: 直接返回 MP3 二进制流(Content-Type: audio/mpeg)
调用示例:
curl -X POST "https://api.marswave.ai/openapi/v1/tts" \
-H "Authorization: Bearer $LISTENHUB_API_KEY" \
-H "Content-Type: application/json" \
-d '{"text": "你好世界", "speakerId": "chat-girl-105-cn"}' \
-o output.mp3适用场景: 多角色对话、播客、有声书片段,需要不同音色交替朗读
接口: POST /v1/speech
请求体:
{
"script": [
{
"text": "你好,欢迎收听本期节目。",
"speakerId": "chat-girl-105-cn"
},
{
"text": "谢谢,今天我们来聊聊 AI。",
"speakerId": "chat-boy-101-cn"
}
],
"format": "mp3",
"sampleRate": 24000
}| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
| script | array | 是 | 脚本数组,每项包含 text 和 speakerId |
| script[].text | string | 是 | 该段文本 |
| script[].speakerId | string | 是 | 该段的音色 ID |
| format | string | 否 | 输出格式,默认 mp3 |
| sampleRate | int | 否 | 采样率,默认 24000 |
响应: JSON
{
"audioUrl": "https://cdn.example.com/output.mp3",
"duration": 12.5
}调用示例:
curl -X POST "https://api.marswave.ai/openapi/v1/speech" \
-H "Authorization: Bearer $LISTENHUB_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"script": [
{"text": "你好,欢迎收听。", "speakerId": "chat-girl-105-cn"},
{"text": "谢谢,我们开始吧。", "speakerId": "chat-boy-101-cn"}
]
}'适用场景: 长文本(> 1000 字),文章朗读,需要 AI 润色或分段处理
接口: POST /v1/flow-speech/episodes
请求体:
{
"title": "文章标题",
"content": "长文本内容...",
"speakerId": "chat-girl-105-cn",
"mode": "direct",
"format": "mp3"
}| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
| title | string | 是 | 音频标题 |
| content | string | 否 | 文本内容(与 contentUrl 二选一) |
| contentUrl | string | 否 | 内容 URL(与 content 二选一) |
| speakerId | string | 是 | 音色 ID |
| mode | string | 否 | direct(直接合成)或 aiPolish(AI 润色),默认 direct |
| format | string | 否 | 输出格式,默认 mp3 |
响应: JSON
{
"episodeId": "ep_abc123",
"status": "processing"
}轮询获取结果:
GET /v1/flow-speech/episodes/{episodeId}轮询策略:
completed 或 failed轮询响应:
{
"episodeId": "ep_abc123",
"status": "completed",
"audioUrl": "https://cdn.example.com/output.mp3",
"duration": 180.5
}| status 值 | 说明 |
|---|---|
| processing | 合成中,继续轮询 |
| completed | 合成完成,audioUrl 可用 |
| failed | 合成失败,查看 errorMessage |
调用示例:
# 提交任务
curl -X POST "https://api.marswave.ai/openapi/v1/flow-speech/episodes" \
-H "Authorization: Bearer $LISTENHUB_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"title": "AI 技术趋势",
"content": "长文本内容...",
"speakerId": "chat-girl-105-cn",
"mode": "direct"
}'
# 轮询结果
curl "https://api.marswave.ai/openapi/v1/flow-speech/episodes/ep_abc123" \
-H "Authorization: Bearer $LISTENHUB_API_KEY"接口: GET /v1/speakers/list
查询参数:
| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
| language | string | 否 | 筛选语言,如 zh(中文)、en(英文) |
响应:
{
"speakers": [
{
"name": "晓曼 dxqqq",
"speakerId": "chat-girl-105-cn",
"demoAudioUrl": "https://cdn.example.com/demo.mp3",
"gender": "female",
"language": "zh"
}
]
}根据用户输入自动选择最合适的模式:
| 条件 | 模式 |
|---|---|
| 文本 ≤ 1000 字,单音色 | 模式一:/v1/tts |
| 多角色脚本,需要不同音色 | 模式二:/v1/speech |
| 文本 > 1000 字,或需要 AI 润色 | 模式三:/v1/flow-speech/episodes |
| 用户提供 URL 作为内容来源 | 模式三:/v1/flow-speech/episodes |
如果用户明确指定模式,优先使用用户指定的模式。
当用户未指定音色时,使用 AskUserQuestion 展示音色列表:
请选择音色(默认:晓曼 dxqqq):
A. 晓曼 dxqqq(女,chat-girl-105-cn)[默认]
B. [其他音色名称]([性别],[speakerId])
C. ...可选询问:
./output.mp3)./output.mp3)LISTENHUB_API_KEY 环境变量用户输入: "把这段文字转成语音:今天天气真好,适合出去散步。"
执行流程:
LISTENHUB_API_KEY ✓/v1/ttschat-girl-105-cn(晓曼)./output.mp3用户输入: "用晓曼的声音朗读这篇文章:article.md"
执行流程:
article.md 内容/v1/flow-speech/episodeschat-girl-105-cn(晓曼)./article.mp3© smallnest, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file
Just SKILL.md in skills/listenhub-tts of smallnest/goal-workflow.
Open the folder on GitHubat commit b06ab3c
Listenhub Tts 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 |
|---|---|---|---|---|---|---|
| Listenhub Tts this skillsmallnest/goal-workflow | 291 | — | ~1.5k | Automated safety check: Notes | MIT | |
| MoneyPrinterTurbo Video Generatorharry0703/MoneyPrinterTurbo | 129k | — | ~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.
smallnest/goal-workflow
Illustrate an article (Markdown, HTML, etc.) with animated-style icons from itshover.com/icons.
smallnest/goal-workflow
Graph engineering for parallel task execution: convert a task, PRD, SPEC, or issue set into a dependency graph (DAG), layer it into supersteps, then implement each independent node concurrently with…
smallnest/goal-workflow
Generate a Phase-2 Walkthrough artifact (walkthrough.md) once implementation and verification are complete.
smallnest/goal-workflow
为任意项目生成 UML 图、架构图和流程图。分析代码库后让用户选择要生成的图表类型,使用 architecture-diagram skill 渲染为 HTML+SVG,保存到 docs/ 目录。适用于任何软件项目的文档可视化。
smallnest/goal-workflow
Reverse-engineer a SPEC document from an existing project. An agent skill from smallnest/goal-workflow.
smallnest/goal-workflow
A skill your agent uses when turning a requirement, spec, or feature brief into a single self-contained HTML design document in a fixed house style — one styled HTML page with a table-of-contents…
Categories
使用 ListenHub API 将文本转换为语音(TTS)。支持三种模式:快速合成(/v1/tts)、 多角色脚本(/v1/speech)、长文本流式合成(/v1/flow-speech/episodes)。. Listenhub Tts is an agent skill from smallnest/goal-workflow.
Listenhub Tts fits situations like: tasks that involve Text to speech and voice.
Run `npx skills add smallnest/goal-workflow --skill listenhub-tts -a claude-code`. Or copy the skill folder (skills/listenhub-tts in smallnest/goal-workflow) into .claude/skills/listenhub-tts in your project. Claude Code loads it when a task matches its description.
Run `npx skills add smallnest/goal-workflow --skill listenhub-tts -a codex`. Or copy the skill folder (skills/listenhub-tts in smallnest/goal-workflow) into .agents/skills/listenhub-tts 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 smallnest/goal-workflow --skill listenhub-tts -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/listenhub-tts, .gemini/skills/listenhub-tts, .github/skills/listenhub-tts and .opencode/skills/listenhub-tts in your project.
Going by SKILL.md and its folder, Listenhub Tts needs the command-line tools its instructions call (curl) and credentials named LISTENHUB_API_KEY. Our summary lists: A credential in LISTENHUB_API_KEY. Its frontmatter pre-approves these tools: Read, Write, Edit, Bash, AskUserQuestion.
SKILL.md names 1 domain. In commands or code: api.marswave.ai; the agent is likely to contact it when it follows the instructions. This is read from the text; nothing was executed.
Our automated static check of SKILL.md found notes only (pre-approves every shell command (allowed-tools: bash)), nothing it rates as a warning. It is not a guarantee. Review the folder before installing.
Listenhub Tts is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.
About 1.5k tokens (SKILL.md is roughly 6.1k 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 Listenhub Tts: MoneyPrinterTurbo Video Generator (harry0703/MoneyPrinterTurbo, 129k 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.
smallnest (a GitHub user) maintains it in smallnest/goal-workflow, which has 291 GitHub stars. The repository holds 20 skills in this directory. The repository was last updated on September 13, 2026.
Source: smallnest/goal-workflow on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.