高性能多语言文本转语音服务
联系管理员获取你的专属 API Key(免费提供)
访问 https://edgetts-player.aws.xin 或 https://edgetts.aws.xin
首次使用时输入 API Key,会自动保存到浏览器本地
输入文本,选择语音和输出格式,点击"生成语音"
选择 PCM 格式 + 流式模式,实现边接收边播放,无需等待完整数据
支持 MP3、PCM、Opus、AAC、WAV 五种格式,满足不同场景需求
支持中文、英语、日语、韩语、德语、法语等 70+ 种语言
首字节延迟约 1 秒,PCM 流式模式可实现边生成边播放
语速 0.25x - 2.0x,音调 0.5 - 1.5,灵活调整
自动清理 Markdown、Emoji、URL,支持停顿标签 <break time="1s"/>
API Key 仅保存在浏览器本地,不上传服务器
| 格式 | 特点 | 适用场景 |
|---|---|---|
| MP3 | 兼容性最好,文件较小 | 下载保存、通用播放 |
| PCM 推荐流式 | 无压缩,支持真流式播放 | 实时播放、低延迟场景 |
| Opus | 高压缩率,音质好 | 网络传输、节省带宽 |
| AAC | 苹果设备兼容性好 | iOS/macOS 应用 |
| WAV | 无损格式,文件大 | 音频编辑、后期处理 |
选择 PCM 格式 + 流式模式,可实现:
完整音色列表:访问 https://edgetts.aws.xin/v1/models 获取全部 322+ 音色
curl -X POST 'https://edgetts.aws.xin/v1/audio/speech' \
-H 'Authorization: Bearer YOUR_API_KEY' \
-H 'Content-Type: application/json' \
-d '{
"input": "你好,这是一个测试",
"voice": "zh-CN-XiaoxiaoNeural",
"speed": 1.0,
"response_format": "mp3"
}' \
--output audio.mp3
curl -X POST 'https://edgetts.aws.xin/v1/audio/speech' \
-H 'Authorization: Bearer YOUR_API_KEY' \
-H 'Content-Type: application/json' \
-d '{
"input": "这是一段很长的文本...",
"voice": "zh-CN-XiaoxiaoNeural",
"speed": 1.0,
"response_format": "pcm",
"stream": true
}' \
--output audio.pcm
| 参数 | 类型 | 默认值 | 说明 |
|---|---|---|---|
input |
string | 必需 | 要转换的文本 |
voice |
string | zh-CN-XiaoxiaoNeural | 音色名称 |
speed |
number | 1.0 | 语速 (0.25 - 2.0) |
pitch |
number | 1.0 | 音调 (0.5 - 1.5) |
response_format |
string | mp3 | 输出格式: mp3/pcm/opus/aac/wav |
stream |
boolean | false | 是否流式输出 |
import requests
url = "https://edgetts.aws.xin/v1/audio/speech"
headers = {
"Authorization": "Bearer YOUR_API_KEY",
"Content-Type": "application/json"
}
data = {
"input": "你好,这是一个测试",
"voice": "zh-CN-XiaoxiaoNeural",
"speed": 1.0,
"response_format": "mp3"
}
response = requests.post(url, headers=headers, json=data)
with open("output.mp3", "wb") as f:
f.write(response.content)
import requests
url = "https://edgetts.aws.xin/v1/audio/speech"
headers = {
"Authorization": "Bearer YOUR_API_KEY",
"Content-Type": "application/json"
}
data = {
"input": "这是一段很长的文本...",
"voice": "zh-CN-XiaoxiaoNeural",
"response_format": "pcm",
"stream": True
}
# 流式接收
with requests.post(url, headers=headers, json=data, stream=True) as r:
with open("output.pcm", "wb") as f:
for chunk in r.iter_content(chunk_size=8192):
f.write(chunk)
# 这里可以边接收边处理/播放
在文本中插入 <break time="1.0s"/> 可以添加停顿:
"第一句话。<break time=\"1.5s\"/>停顿1.5秒后继续。"
个人使用和中小型项目完全免费!
如果每天超过 10 万次请求(极少见):
结论:对于个人使用,完全不用担心费用!
A: 标准模式等待全部数据生成后返回;流式模式边生成边返回,配合 PCM 格式可实现边接收边播放。
A: PCM 是无压缩的原始音频数据,没有文件头,数据一到就能播放。MP3 等格式需要解析文件头和帧结构,必须积累一定数据才能开始播放。
A: 完全安全。API Key 仅保存在你的浏览器本地(localStorage),不会上传到任何服务器。
A: 支持 70+ 种语言,322+ 种音色。所有音色都支持跨语言朗读。
A: 每天 10 万次请求以内完全免费。单次请求建议不超过 15,000 字。
A: 可以,但建议联系管理员获取专用 API Key。
EdgeTTS Cloudflare Workers v2.6.0 | 流式实现指南