React Design Draft
根据内容自动生成可编辑的React风格信息图设计稿,支持单图与多图模式。
一键将脚本生成带章节、字幕的发布级语音视频,支持多平台导出。
openclaw skills install @gizmogremlin/voiceai-voiceover-creator命令、参数、文件名以原文为准
本技能遵循 [Agent Skills 规范](https://agentskills.io/specification)。
将任意脚本快速转化为可发布级别的语音旁白——包含编号分段、拼接后的主音频、YouTube 章节标记、SRT 字幕,以及美观的审核页面。可选地,将 AI 语音替换现有视频的音频轨道。
专为希望获得专业录音棚级语音效果但无需实际录音棚的创作者打造。由 [Voice.ai](https://voice.ai) 提供技术支持。
| 场景 | 为何适合 |
|---|---|
| YouTube 长视频 | 完整旁白,带章节标记与字幕 |
| YouTube Shorts | 快速开场钩子,使用 shortform 模板 |
| 播客 | 统一主播音色,支持开场/结尾模板 |
| 课程内容 | 教育类视频的专业旁白 |
| 快速迭代 | 智能缓存机制 —— 修改一段,仅该片段重新生成 |
| 视频音频替换 | 将 AI 语音旁白嵌入屏幕录制或 B-roll 视频 |
拥有脚本和视频?只需一条命令,即可完成 AI 语音旁白生成:
node voiceai-vo.cjs build \
--input my-script.md \
--voice oliver \
--title "My Video" \
--video ./my-recording.mp4 \
--mux此命令将完成语音生成、主音频拼接,并将新语音嵌入视频——全部在一次操作中完成。输出结果包括:
out/my-video/muxed.mp4 —— 嵌入新语音的视频out/my-video/master.wav —— 独立的主音频文件out/my-video/review.html —— 可逐段收听并审核的页面out/my-video/chapters.txt —— 适用于 YouTube 的章节时间戳out/my-video/captions.srt —— SRT 字幕文件若音频长度短于视频,使用 --sync pad 进行填充;若需裁剪音频以匹配视频时长,使用 --sync trim。
.env 文件中设置。可在 [voice.ai/dashboard](https://voice.ai/dashboard) 获取密钥该技能按以下顺序读取 VOICE_AI_API_KEY:
VOICE_AI_API_KEYVOICEAI_API_KEY(备用名称).env 文件echo 'VOICE_AI_API_KEY=your-key-here' > .env在任意命令中添加 --mock 可在无 API 密钥的情况下运行完整流程(生成占位音频)。
build —— 从脚本生成语音旁白node voiceai-vo.cjs build \
--input <script.md 或 script.txt> \
--voice <voice-alias-or-uuid> \
--title "My Project" \
[--template youtube|podcast|shortform] \
[--language en] \
[--video input.mp4 --mux --sync shortest] \
[--force] [--mock]执行步骤:
## 标题(.md 文件)或句子边界(.txt 文件)拆分为多个段落完整参数说明:
| 参数 | 说明 |
|---|---|
-i, --input <path> | 脚本文件(.txt 或 .md)—— 必填 |
-v, --voice <id> | 语音别名或 UUID —— 必填 |
-t, --title <title> | 项目标题(默认为文件名) |
--template <name> | 模板类型:youtube、podcast 或 shortform |
--mode <mode> | 分段模式:headings(按标题)或 auto(自动切分,默认 .md 文件使用 headings) |
--max-chars <n> | 自动切分时每段最大字符数(默认:1500) |
--language <code> | 语言代码(默认:en) |
--video <path> | 用于混流的输入视频文件 |
--mux | 启用视频混流(需配合 --video) |
--sync <policy> | 同步策略:shortest、pad 或 trim(默认:shortest) |
--force | 强制重新渲染所有段落(忽略缓存) |
--mock | 模拟模式 —— 不调用 API,生成占位音频 |
-o, --out <dir> | 自定义输出目录 |
replace-audio —— 替换视频的音频轨道node voiceai-vo.cjs replace-audio \
--video ./input.mp4 \
--audio ./out/my-project/master.wav \
[--out ./out/my-project/muxed.mp4] \
[--sync shortest|pad|trim]需要 ffmpeg 支持。若未安装,将生成辅助的 shell / PowerShell 脚本。
| 同步策略 | 行为 |
|---|---|
shortest(默认) | 输出时长以较短的音轨为准 |
pad | 用静音填充音频,使其与视频时长相匹配 |
trim | 裁剪音频,使其与视频时长相匹配 |
视频流直接复制,不重新编码(-c:v copy)。音频编码为 AAC。输出文件旁会保存一份混流报告。
隐私说明: 视频处理完全本地进行。仅脚本文本会被发送至 Voice.ai 用于语音合成。
voices —— 查看可用语音列表node voiceai-vo.cjs voices [--limit 20] [--query "deep"] [--mock]可通过短别名或完整 UUID 在 --voice 中使用:
| 别名 | 语音名称 | 性别 | 风格 |
|---|---|---|---|
ellie | Ellie | F | 年轻活力,网络博主风格 |
oliver | Oliver | M | 友善英伦口音 |
lilith | Lilith | F | 轻柔女性化 |
smooth | Smooth Calm Voice | M | 深沉平缓叙述者 |
corpse | Corpse Husband | M | 深沉独特 |
skadi | Skadi | F | 动漫角色 |
zhongli | Zhongli | M | 沉稳权威 |
flora | Flora | F | 愉悦高音 |
chief | Master Chief | M | 英雄气概,指令感强 |
markdown
版本:0.1.3
分块:2/2
voices 命令还会返回 API 上可用的其他语音。语音列表缓存时间为 10 分钟。
构建完成后,输出目录包含以下内容:
out/<标题别名>/
segments/ # 编号的 WAV 文件(001-intro.wav, 002-section.wav, …)
master.wav # 合成音频(需要 ffmpeg)
master.mp3 # MP3 编码(需要 ffmpeg)
manifest.json # 构建元数据:语音、模板、分段列表、哈希值
timeline.json # 分段时长和起始时间
review.html # 带音频播放器的交互式预览页面
chapters.txt # 适用于 YouTube 的章节时间戳
captions.srt # 使用分段边界生成的 SRT 字幕
description.txt # 包含章节和 Voice.ai 声明的 YouTube 描述一个独立的 HTML 页面,包含:
模板会自动在脚本内容前后插入开头和结尾分段:
| 模板 | 开头注入 | 结尾注入 |
|---|---|---|
youtube | templates/youtube_intro.txt | templates/youtube_outro.txt |
podcast | templates/podcast_intro.txt | — |
shortform | templates/shortform_hook.txt | — |
可通过编辑 templates/ 目录中的文件自定义开头和结尾文本。
分段根据以下内容的哈希值进行缓存:文本内容 + 语音 ID + 语言。
--force 可强制重新生成所有内容segments/.cache.jsonVoice.ai 支持 11 种语言。使用 --language <code> 切换语言:
en, es, fr, de, it, pt, pl, ru, nl, sv, ca
非英语语言会自动选择多语言 TTS 模型。
| 问题 | 解决方案 |
|---|---|
| ffmpeg 缺失 | 管道仍可运行 —— 你将获得分段文件、预览页、章节和字幕。安装 ffmpeg 可实现主音频合成与视频合并。 |
| 请求频率限制(429) | 分段按顺序生成,通常低于多数限制。等待后重试即可。 |
| 信用额度不足(402) | 前往 [voice.ai/dashboard](https://voice.ai/dashboard) 充值。缓存分段在重试时不重复消耗信用。 |
| 长脚本处理 | 缓存机制使重建速度很快。单个分段文本超过 490 字符时,系统会自动拆分至多个 API 调用。 |
| Windows 路径含空格 | 将路径用引号包裹:--input "C:\My Scripts\script.md" |
更多详情请参阅 [references/TROUBLESHOOTING.md](references/TROUBLESHOOTING.md)。
references/VOICEAI_API.md](references/VOICEAI_API.md) —— API 端点、音频格式、模型信息references/TROUBLESHOOTING.md](references/TROUBLESHOOTING.md) —— 常见问题及解决方案已收录 1 个 Skill