腾讯云 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 中。

分类