开发与工程 text-to-speechttsaudio-generationelevenlabsedge-ttsdeepgramopenai-apirest-api

9Router 文字转语音(9Router TTS)

通过 9Router 统一的 /v1/audio/speech 接口,用 OpenAI、ElevenLabs、Edge TTS、Deepgram 等十余家语音供应商把文本转成 MP3 语音。

FollowSkills 评估 · FSRS-2.0
谨慎使用
46/ 100 五分制 2.3 / 5
1 2 3 4 5 6
1信任安全13 / 25 · 2.6/5

技能本身仅是HTTP API文档,要求NINEROUTER_URL/NINEROUTER_KEY环境变量,不直接读取文件或执行破坏性操作,无隐藏权限;扣分点:文本内容会被发送到本地9Router再转发至多家云端TTS供应商(部分noAuth如edge-tts/google-tts意味着内容出境给第三方),数据流披露仅一笔带过,无回滚/确认机制说明。

2可靠稳定8 / 20 · 2.0/5

文档内curl/JS示例自洽,端点、字段、响应格式说明清楚;扣分点:完全依赖外部9Router服务和上游TTS供应商可用性,无测试、无错误码/失败反馈说明(如401、缺ffmpeg时如何表现未说明),静态评审无法复现关键路径。

3适用触发8 / 15 · 2.7/5

触发描述明确(文字转语音、配音、朗读),provider quirks表列出了各供应商模型格式和边界(noAuth、需ffmpeg等);扣分点:未声明前置条件(必须先安装运行9Router),未讨论中国大陆网络可达性——多数上游供应商(OpenAI、ElevenLabs、Google)从大陆不可直连,仅edge-tts等少数可能可用。

4规范维护9 / 15 · 3.0/5

结构清晰、渐进披露合理、有MIT许可证、仓库有版本号和CI;扣分点:技能自身无版本/changelog/已知限制清单,安装设置被推给另一个SKILL.md(本次未提供内容),维护责任仅隐含在仓库层面。

5有效结果5 / 15 · 1.7/5

若9Router已运行,按文档调用即可得到音频文件,直接可用性设计较好(原始字节/base64两种格式);扣分点:价值完全取决于外部服务,静态无法验证输出正确性,边际价值与直接调用供应商API相比有限(主要是统一入口),未提供任何代表性输出证据。

6证据核验3 / 10 · 1.5/5

有可审计的源码(服务端ping逻辑可见STT路径测试方式)和README生态说明;扣分点:TTS技能的关键声明(各供应商模型格式、响应形状)无测试套件、无CI覆盖、无第三方执行证据佐证,仅为作者书面声明。

证据充分度: 评估于 2026年9月9日 审查版本 eb712ca821f0
上游仓库在本次评估后已有新提交;当前评分仍对应所示审查版本,可能尚未覆盖最新改动。
使用前请注意
  • 该技能只是文档,必须先自行安装并运行9Router服务才能使用。
  • 发送的文本会经9Router转发至第三方云供应商,敏感内容请谨慎;部分供应商为noAuth直连。
  • 多数上游TTS供应商在中国大陆网络不可直连,需自备代理;仅edge-tts等少数可能可用。
  • 无错误处理与失败反馈文档,遇到401/缺ffmpeg等问题需自行排查。
  • 所有端点与模型格式声明均为静态文档,未经执行验证。
查看完整评分方法 →

这个 Skill 能做什么,适合哪些场景?

9router-tts 是 9Router 仓库中打包的一个技能,教 AI 客户端如何调用 9Router 的文字转语音端点。它要求本地或远程已运行 9Router 实例,并配置 NINEROUTER_URL(启用鉴权时还需 NINEROUTER_KEY)。技能涵盖三步工作流:发现可用语音模型、查询语音列表、调用 /v1/audio/speech 生成音频。支持的供应商包括 OpenAI、ElevenLabs、OpenRouter、Edge TTS、Google TTS、Deepgram、Hyperbolic、Inworld、Coqui 等,部分供应商(edge-tts、google-tts、local-device)无需鉴权。输出默认为原始 MP3 字节,也可返回 base64 的 JSON。

技能本身是纯指令文档,不包含可执行脚本。它指导模型执行:1) 用 GET /v1/models/tts 列出可用语音模型,用 /v1/models/info 查询模型参数和语音元数据,用 /v1/audio/voices 按供应商(可按语言如 ?lang=vi)列出语音;2) 向 POST /v1/audio/speech 发送 JSON 请求体(model 为语音 ID,input 为要朗读的文本);3) 接收原始音频字节(Content-Type audio/mp3)保存为文件,或用 ?response_format= 接收 base64 编码的音频;4) 按供应商适配 model 字段格式(如 edge-tts/vi-VN-HoaiMyNeural、el/<voice_id>、tts-1/alloy)。

  1. 开发者已在用 9Router 做 AI 编码路由,想让 Claude Code 或 Codex 在调试时朗读日志、报错或长文本
  2. 内容创作者需要为脚本生成旁白配音,希望在同一接口下对比 ElevenLabs、OpenAI、Deepgram 的音色后选择
  3. 需要越南语等特定语言语音的用户,可用 edge-tts 免鉴权供应商,通过 ?lang=vi 筛选本地化语音
  4. 自动化脚本作者想让无头流程把文本转成 MP3 文件落盘,用 curl 一行命令即可完成
  5. 本地离线场景用户可调用 local-device 供应商,直接用操作系统自带语音(macOS say / Windows SAPI)合成语音

这个 Skill 有哪些优点和局限?

优点
  • 单一 OpenAI 风格端点统一十余家 TTS 供应商,切换音色只需改 model 字段
  • edge-tts、google-tts、local-device 三个供应商无需任何鉴权即可使用
  • 支持按语言筛选语音(如 ?lang=vi),对多语言/越南语场景友好
  • 文档提供可直接复制的 curl 和 Node.js 示例,以及各供应商 model 格式的速查表
局限
  • 强依赖一个已运行的 9Router 实例,没有实例则技能完全无法工作
  • ElevenLabs、Deepgram、Hyperbolic 等云供应商需各自付费或令牌,成本取决于上游供应商
  • 技能是纯文档,无脚本、无输入校验,错误处理依赖调用方
  • local-device 供应商需要 ffmpeg,且仅覆盖 macOS say / Windows SAPI,未提及 Linux 支持

如何安装这个 Skill?

此技能是 9Router 单体仓库中的一个 SKILL.md(skills/9router-tts/SKILL.md),无需独立安装。前置条件:按仓库 README 安装并运行 9Router(npm install -g 9router 后运行 9router,默认 http://localhost:20128),确保 NINEROUTER_URL 指向实例地址;若启用了鉴权还需 NINEROUTER_KEY。设置步骤的更多细节由同仓库 skills/9router/SKILL.md 提供,本技能明确引用了它。

如何使用这个 Skill?

1) 发现语音:curl $NINEROUTER_URL/v1/models/tts | jq '.data[].id';2) 调用生成(示例):curl -X POST "$NINEROUTER_URL/v1/audio/speech" -H "Authorization: Bearer $NINEROUTER_KEY" -H "Content-Type: application/" -d '{"model":"openai/tts-1","input":"Hello world"}' --output speech.mp3;3) 典型触发提示词:'把这段文字转成语音,用 edge-tts 的 vi-VN-HoaiMyNeural 音色保存为 MP3'。响应默认是原始 MP3 字节,加 ?response_format= 则返回 {audio: base64, format}。

这个 Skill 与同类方案有什么区别?

README 提到 9Router 的 TypeScript 分支 OmniRoute 也提供包括 TTS 在内的多模态 API;若只需直连某一家 TTS,直接调用 OpenAI 或 ElevenLabs 官方 API 更简单,但本技能的价值在于多供应商统一入口与免鉴权 fallback。

常见问题

使用这个技能要花钱吗?
技能和 9Router 软件本身免费开源(MIT)。但部分上游 TTS 供应商(OpenAI、ElevenLabs、Deepgram 等)按其自有定价收费;edge-tts、google-tts、local-device 免费且无需鉴权。
没有 9Router 实例能用吗?
不能。技能的所有端点(/v1/models/tts、/v1/audio/speech 等)都由 9Router 实例提供,必须先安装并运行 9Router,设置 NINEROUTER_URL。
音频返回格式有哪些?
默认返回原始 MP3 音频字节(Content-Type audio/mp3),可直接落盘;加查询参数 ?response_format= 则返回含 base64 音频和格式的 JSON 对象。
各供应商的 model 字段怎么填?
格式不一:edge-tts 直接用语音 ID(如 vi-VN-HoaiMyNeural),ElevenLabs 用 <model_id>/<voice_id>,OpenAI 用 tts-1/alloy 或仅语音名,Google TTS 用语言代码,详细对照见技能中的供应商速查表。

同仓库的其他 Skills

均来自 decolua/9router

开发与工程

9Router 语音转文字技能

通过 9Router 的 /v1/audio/transcriptions 接口,用一套统一调用访问 Whisper、Groq、Gemini、Deepgram 等多种语音转写模型。

设计与前端

9Router 视频生成技能(xAI Grok Imagine)

通过 9Router 统一接口调用 xAI Grok Imagine,以异步任务方式生成、编辑和延长视频,支持文生视频与图生视频。

开发与工程

9Router 嵌入生成技能

通过本地 9Router 的 /v1/embeddings 端点,调用 OpenAI、Gemini、Mistral、Voyage、Nvidia、GitHub 等嵌入模型,为 RAG、语义搜索和相似度计算生成向量。

开发与工程

9Router Chat 技能

通过 9Router 网关调用任意大模型,支持 OpenAI 与 Anthropic 两种 API 格式、流式输出和组合自动回退,让对话与代码生成不再受单家配额限制。

开发与工程

9Router 图像生成技能

通过 9Router 统一端点调用 OpenAI、Gemini、FLUX、Stability 等 40+ 提供商的文生图模型,让 AI 编程助手可以直接生成图片。

开发与工程

9Router 网关接入技能

让 AI 编码工具通过本地网关统一调用 40+ 免费与低价模型供应商,自动故障切换,配合 RTK 每次请求节省 20-40% 的 token。

开发与工程

9Router 网页抓取技能

通过 9Router 的 /v1/web/fetch 接口,把任意 URL 一键转为 Markdown、纯文本或 HTML,自动在 Jina Reader、Firecrawl、Tavily、Exa、Ollama Cloud 等抓取后端间选择与回退。

开发与工程

9Router 网页搜索技能

通过 9Router 的 /v1/search 接口聚合 Tavily、Exa、Brave 等 11 家搜索源,让 AI 编程助手直接联网搜索网页和 X 帖子。

相关 Skills