当前位置: 首页 > news >正文

Edge-TTS+Cloudflare Worker:免费 TTS 服务搭建指南,支持 API 调用与低代码集成

前言

TTS(Text-to-Speech,文本转语音)技术通过人工智能与语音合成算法,将书面文本转化为自然流畅的语音,已广泛应用于智能助手、电子阅读器、无障碍工具、教育娱乐等多个领域。

市面上的 TTS 工具虽种类繁多,但免费且高质量的选择并不多见:免费在线工具功能受限,商业级服务(如 Amazon Polly、Microsoft Azure TTS)成本较高,开源工具则需复杂部署。今天为大家分享一套零成本解决方案 —— 通过 Edge-TTS 结合 Cloudflare Worker,快速搭建免费、高可用的 TTS 服务,支持 API 调用和低代码平台集成,轻松满足个人与小型团队的文本转语音需求。

一、核心工具介绍

1. Edge-TTS:免费高效的开源 TTS 工具

Edge-TTS 是基于微软 Edge 浏览器在线语音合成服务的 Python 开源库,依托微软 Azure TTS 技术,支持多语言、多音色输出,语音自然度高,且无需 API 密钥、无需依赖 Windows 系统或 Edge 浏览器。

  • 项目地址1:https://github.com/rany2/edge-tts/
  • 项目地址2:https://gitee.com/research_code/edge-tts
  • 核心优势:
    • 支持百余种语音(含中、英、日、韩等多语种)
    • 可自定义语速、音调、音量
    • 生成 MP3 音频文件与 SRT 字幕文件
    • 轻量化部署,Python 一键安装

2. edge-tts-openai-cf-worker:API 化代理方案

为解决 Edge-TTS 命令行操作繁琐、难以集成第三方工具的问题,推荐使用edge-tts-openai-cf-worker项目。该项目将 Edge-TTS 服务封装为兼容 OpenAI 接口格式的 API,部署在 Cloudflare Worker 上,实现跨平台、跨工具调用。

  • 项目地址1:https://github.com/linshenkx/edge-tts-openai-cf-worker
  • 项目地址2:https://gitee.com/research_code/edge-tts-openai-cf-worker
  • 核心优势:
    • 绕过大陆访问限制,无需微软认证
    • 兼容 OpenAI TTS 接口规范,无缝对接现有工具
    • 基于 Cloudflare Worker 免费计划,零服务器成本
    • 支持自定义 API 密钥,安全可控
    • 每天 10 万次免费请求,满足日常使用

二、快速搭建步骤

第一步:安装 Edge-TTS(基础使用)

若仅需简单文本转语音,可直接通过 Python 命令行使用 Edge-TTS:

  1. 前置条件:安装 Python 运行环境
  2. 安装依赖:

pip install edge-tts

  1. 基础使用(生成 MP3 音频 + SRT 字幕):

edge-tts --text "欢迎使用Edge-TTS免费语音服务" --write-media hello.mp3 --write-subtitles hello.srt

执行后会在当前目录生成音频文件和字幕文件,操作简单高效。

第二步:部署 Cloudflare Worker(API 服务搭建)

为实现 API 调用,需将edge-tts-openai-cf-worker部署到 Cloudflare Worker,步骤如下:

1. 准备工作
  • 注册 Cloudflare 账号:https://dash.cloudflare.com
  • (可选)准备自定义域名(已托管在 Cloudflare)
2. 创建 Cloudflare Worker
  1. 登录 Cloudflare 控制台,进入「Workers & Pages」
  2. 点击「Create Worker」,输入服务名称(如edge-tts-api),点击「部署」
  3. 部署成功后,点击「编辑代码」进入代码编辑页面
3. 部署核心代码
  1. 删除默认的 "Hello World" 代码
  2. 复制edge-tts-openai-cf-worker项目中的worker.js代码(完整代码见文末附录)
  3. 粘贴到编辑框,点击「Save and deploy」完成部署
4. 设置 API 密钥(可选,推荐)

为防止接口被恶意调用,建议设置 API 密钥:

  1. 在 Worker 详情页,进入「Settings → Variables」
  2. 点击「Add variable」,名称填写API_KEY,值填写自定义密钥(如随机字符串)
  3. 点击「Save and deploy」生效
5. 自定义域名配置(可选)

Cloudflare 分配的默认域名国内访问可能不稳定,可配置自定义域名:

  1. 确保自定义域名已托管在 Cloudflare,且 DNS 记录为橙色代理状态
  2. 在 Worker 详情页,进入「设置 → 域和路由 → 添加」
  3. 选择「自定义域」,输入域名(如tts.example.com),点击「添加域」
  4. 等待证书部署完成(约几分钟),即可通过自定义域名访问

三、API 调用方式

部署完成后,可通过 API 接口调用 TTS 服务,支持基础文本转语音、自定义语速 / 音调 / 情绪等功能。

1. 基础调用(curl 命令)

curl --location 'https://你的Worker域名/v1/audio/speech' \

--header 'Content-Type: application/json' \

--header 'Authorization: Bearer 你的API_KEY' \

--data '{

    "model": "tts-1",

    "input": "你好,世界!这是免费TTS服务生成的语音",

    "voice": "zh-CN-XiaoxiaoNeural",

    "response_format": "mp3",

    "speed": 1.0

}' --output output.mp3

2. Python 代码调用(兼容 OpenAI SDK)

from openai import OpenAI

# 配置客户端

api_key = '你的API_KEY'

base_url = 'https://你的Worker域名/v1'

client = OpenAI(

    api_key=api_key,

    base_url=base_url

)

# 生成语音

data = {

    'model': 'tts-1',

    'input': '灵活多样:参考模板但需根据具体需求生成多样化内容,避免固定化依赖',

    'voice': 'zh-CN-XiaoxiaoNeural',  # 可选其他语音

    'response_format': 'mp3',

    'speed': 1.0,  # 语速:0.5-2.0

    'pitch': 1.0,  # 音调:0.5-2.0

    'style': 'general'  # 情绪:general/cheerful/angry/sad/chat

}

try:

    response = client.audio.speech.create(**data)

    with open('test_tts.mp3', 'wb') as f:

        f.write(response.content)

    print("MP3文件已保存成功!")

except Exception as e:

    print(f"调用失败:{e}")

3. 核心参数说明

参数

类型

必填

说明

示例值

model

string

模型名称(固定为 tts-1)

tts-1

input

string

待转换的文本内容

"你好,世界!"

voice

string

语音角色(支持多语种)

zh-CN-XiaoxiaoNeural(中文晓晓)、en-US-JennyNeural(英文 Jenny)

response_format

string

音频格式(默认 MP3)

mp3

speed

number

语速(0.5-2.0,默认 1.0)

1.2

pitch

number

音调(0.5-2.0,默认 1.0)

1.1

style

string

情绪风格

general(通用)、cheerful(开心)、angry(愤怒)、sad(悲伤)、chat(闲聊)

4. 支持的语音列表(部分)

语音代码

描述

语言

zh-CN-XiaoxiaoNeural

晓晓 - 温暖活泼

中文

zh-CN-YunxiNeural

云希 - 稳重大气(男声)

中文

zh-CN-XiaoyiNeural

晓伊 - 亲切温柔(女声)

中文

zh-CN-YunyangNeural

云扬 - 专业权威(男声)

中文

en-US-JennyNeural

Jenny - 自然流畅

英文

ja-JP-NanamiNeural

Nanami - 甜美柔和

日文

ko-KR-SunHiNeural

SunHi - 清晰明亮

韩文

四、低代码集成:Dify 平台使用教程

部署后的 TTS 服务可直接集成到 Dify 等低代码平台,无需编写代码即可实现文本转语音功能:

1. 模型配置

  1. 打开 Dify 控制台,进入「模型设置」
  2. 选择「OpenAI-API-compatible」,点击「添加模型」
  3. 配置参数:
    • 模型类型:TTS
    • 模型名称:自定义(如「Edge-TTS」)
    • API Key:填写 Cloudflare Worker 设置的API_KEY
    • API URL:填写 Worker 域名(如https://tts.example.com/v1)
    • 可用声音:填写支持的语音代码(如zh-CN-XiaoxiaoNeural,zh-CN-YunxiNeural)
  1. 点击「保存」完成配置

2. 搭建 TTS 工作流

  1. 新建工作流,添加「开始」节点,设置输入变量为「text」(待转换文本)
  2. 添加「Text To Speech」内置工具:
    • 输入变量:选择开始节点的「text」
    • 模型:选择已配置的「Edge-TTS」
    • 语音角色:选择目标音色
  1. 添加「直接回复」节点,输出类型选择「文件输出」
  2. 保存工作流并发布

五、注意事项与常见问题

1. 注意事项

  • 文本与语音语言需匹配(如中文语音仅支持中文文本),否则可能合成失败
  • 单条文本建议不超过 2000 字符,避免请求超时
  • 该服务仅供学习和个人使用,不建议用于商业项目
  • 基于 Cloudflare 免费计划,每天限制 10 万次请求,足够日常使用
http://www.dtcms.com/a/525052.html

相关文章:

  • 企业建网站平台找人做购物网站
  • 【javaFX基础】 “Not on FX application thread; currentThread = Thread-3“问题解决方法
  • 专业的网站开发服务window2008 网站建设
  • Linux 查找文件
  • 法术施放选择目标逻辑概述
  • 后台管理网站开发找客户在公司做网站
  • 做游戏陪玩网站江苏省建设厅的官方网站
  • 青岛科技大学《Nano Res.》:0.5秒合成双单原子催化剂!锌空电池稳定运行650小时,氯碱电解效率达97%
  • 力扣 11. 盛最多水的容器 - Java版
  • 狗和人做网站旅游网站框架
  • 网站搭建公司排行榜网站要求
  • n8n网页抓取自动化完整指南
  • Alpine Linux:轻量、安全与高效的Linux发行版
  • 第四章、路由配置
  • Node.js:JavaScript的服务器端革命
  • C++动态内存管理详解:new/delete与malloc/free深度对比
  • 危险网站提示门户网站是如何做引流的
  • 网站代码怎么打开清风网站建设
  • Spring Boot 1.x、2.x 3.x区别汇总
  • 房产网站建设接单公关策划书模板范文
  • three.js加载三维GLB文件,查看三维模型
  • 在Linux中以root的身份进入GNOME桌面
  • 国内wordpress主题网站广元建设网站
  • 做网站哪家便宜搭建网站需要什么技能
  • 网站打不开第二天不收录啦好用的建站系统
  • 前端实现大文件上传全流程详解
  • pom.xml文件中io.swagger的swagger-bootstrap-ui和springfox-bean-validators未找到
  • ClickHouse 数据库应用场景与示例
  • 海口网红图书馆在哪里灰色行业关键词优化
  • 网站建设免费的蔬莱网站建设