找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
热搜: 活动 交友 discuz
查看: 11|回复: 0

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

[复制链接]

1

主题

0

回帖

13

积分

新手上路

积分
13
发表于 昨天 20:20 | 显示全部楼层 |阅读模式
项目概述#
原项目:GitHub - icheer/edgetts-cloudflare-workers-webui
这是一个部署于 Cloudflare Workers 的高性能文本转语音(TTS)代理服务。它将微软 Edge 强大且自然的语音合成能力,封装为兼容 OpenAI API 格式的接口,使开发者能够无缝对接各类现有应用至这一免费、高质量的 TTS 服务。
当前版本#
本代码由腾讯云工程师依据上述 GitHub 项目修改适配,支持通过腾讯云 EdgeOne Pages 一键部署,实现全球加速。
使用地址#API 配置#
【优化后文章】
高性能 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
认证
[size=0.75]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 中。

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|小黑屋|一起港湾 ( 青ICP备2025004122号-1 )

GMT+8, 2026-2-10 07:03 , Processed in 0.095659 second(s), 20 queries .

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

快速回复 返回顶部 返回列表