夕遥 发表于 2026-2-9 20:20:42

腾讯云 EdgeOne Pages 部署 EdgeTTS:全球加速方案

项目概述#原项目:GitHub - icheer/edgetts-cloudflare-workers-webui这是一个部署于 Cloudflare Workers 的高性能文本转语音(TTS)代理服务。它将微软 Edge 强大且自然的语音合成能力,封装为兼容 OpenAI API 格式的接口,使开发者能够无缝对接各类现有应用至这一免费、高质量的 TTS 服务。当前版本#本代码由腾讯云工程师依据上述 GitHub 项目修改适配,支持通过腾讯云 EdgeOne Pages 一键部署,实现全球加速。使用地址#https://edgetts-pcw8ynxscw.edgeone.run?eo_token=2344a26df16b055dfb30f3c3ea00fa61&eo_time=1757577752API 配置#
[*]API Base URL:https://edgetts-pcw8ynxscw.edgeone.run
[*]API Key:123456789
【优化后文章】高性能 Edge TTS Cloudflare Worker 代理#项目概述#这是一个部署于 Cloudflare Workers 的高性能文本转语音(TTS)代理服务。它将微软 Edge 强大且自然的语音合成能力,封装为兼容 OpenAI API 格式的接口,使开发者能够无缝对接各类现有应用至这一免费、高质量的 TTS 服务。项目包含两个核心文件:
[*]workers.js:部署于 Cloudflare 的核心服务脚本。
[*]webui.html:功能完备的本地测试网页。
功能亮点#
[*]OpenAI 兼容:完全模拟 OpenAI 的 /v1/audio/speech 接口,可直接被官方 SDK 或现有工具调用。
[*]高质量音色:利用微软 Edge TTS 提供的多种自然流畅的神经网络语音。
[*]流式响应:支持流式与标准两种模式,流式可显著降低长文本的首次播放延迟。
[*]智能文本清理:内置完善清理流水线,自动处理复制文本中的杂质,包括:
[*]移除 Markdown 格式;
[*]移除 Emoji;
[*]移除 URL;
[*]智能移除引用标记数字(保留年份、数量等有意义数字);
[*]移除多余空格与硬换行,确保中文听感连贯;
[*]支持自定义关键词过滤。

[*]灵活参数配置:支持动态调整音色、语速、音调、分块大小、并发数及所有清理选项。
[*]零依赖部署:脚本完全自包含,无需 KV、队列等外部服务。
[*]便捷测试工具:提供功能丰富的 Web UI,无需编写代码即可完成测试。
工作原理#该 Worker 充当智能中间层:
[*]接收与 OpenAI TTS API 完全一致的 POST 请求;
[*]立即执行文本清理流水线;
[*]根据文本长度智能决策处理模式——短文本采用同步直通,长文本自动启用自我调节分块机制;
[*]将文本分割并以指定并发数向微软 Edge TTS 服务器请求;
[*]标准模式下拼接完整 MP3 后返回;流式模式下收到首块即开始推送,实现低延迟播放。
部署指南#部署仅需数分钟。准备工作#
[*]一个 Cloudflare 账户(免费版即可)。
步骤一:创建 Worker#
[*]登录 Cloudflare 仪表板;
[*]进入「Workers 和 Pages」;
[*]点击「创建应用程序」→「创建 Worker」;
[*]输入唯一名称(如 my-edge-tts-proxy)并部署。
步骤二:配置代码与密钥#
[*]进入编辑器,删除默认代码,粘贴 workers.js 全部内容;
[*]在「设置」→「变量」中添加机密变量:
[*]名称:API_KEY
[*]值:自行设定复杂密钥(如 sk-my-super-secret-key-12345)。

步骤三:保存并部署#点击右上角「保存并部署」。服务地址即为 https://<名称>.<子域>.workers.dev。步骤四:使用 Web UI#项目已将完整 Web UI 嵌入 worker.js,直接访问部署后的 URL 即可使用本地保存的 webui.html 仅作归档参考。API 使用指南#端点
POST https://<您的 Worker URL>/v1/audio/speech认证Plain Text
Authorization: Bearer YOUR_API_KEY

主要请求参数(JSON)
参数类型默认值说明
modelstring"tts-1"支持 tts-1、tts-1-hd 或映射音色
inputstring—必需,待合成文本
voicestring"zh-CN-XiaoxiaoNeural"微软音色名称
speednumber1.00.25–2.0
pitchnumber1.0音调调整
streambooleanfalse是否流式响应
concurrencynumber10并发请求数
chunk_sizenumber300分块字符数(会自动调整)
cleaning_optionsobject{...}文本清理开关(详见功能亮点)

重要限制#为稳定运行于 Cloudflare 免费套餐,单次请求文本上限约 12 万字符,超出将返回清晰错误提示,已足以覆盖绝大多数长文场景。项目文件说明#
[*]workers.js:唯一需部署文件,包含完整 API 逻辑、文本清理与 Web UI。
[*]webui.html:独立测试页面,可本地打开,亦已嵌入 workers.js 中。

页: [1]
查看完整版本: 腾讯云 EdgeOne Pages 部署 EdgeTTS:全球加速方案