TTS88 API

Anger2025年4月13日大约 6 分钟

TTS88 API 文档

TTS API是基于微软Azure TTS引擎的中转服务,提供高质量的文本转语音功能,能够将文本内容转换为自然、流畅的语音。相比直接调用微软API,我们的服务更稳定、更经济实惠。

特性

  • 支持多种语言和声音
  • 高质量的语音合成效果
  • 支持SSML语音合成标记语言
  • 实时合成,响应速度快
  • 支持批量转换和长文本处理
  • 按量计费,无需担心额度过期或账号风险
  • 7*24小时服务保障

接口说明

我们提供以下几个主要API接口:

  1. 声音列表查询 (Voice-List)
  2. 文字转语音 - SSML格式 (AzureTTS)
  3. 文字转语音 - 文本格式 (AzureTTS)
  4. 同步返回字幕 (AzureTTS)
  5. 语音转文本 (AzureSTT)
  6. 批量合成任务管理 (创建、获取、删除)

声音列表查询 (Voice-List)

获取所有可用的语音模型列表。

# GET 请求示例
curl --location --request GET 'https://tts88.top/cognitiveservices/voices/list' \
--header 'Authorization: Bearer YOUR_API_KEY'

文字转语音 - SSML格式 (AzureTTS)

使用SSML格式进行文本到语音的转换。

# POST 请求示例
curl -X POST "https://tts88.top/cognitiveservices/v1" \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -d '{
    "ssml": "<speak version=\"1.0\" xmlns=\"http://www.w3.org/2001/10/synthesis\" xml:lang=\"zh-CN\"><voice name=\"zh-CN-XiaoxiaoNeural\">这是一段示例文本。</voice></speak>",
    "output_format": "audio-24khz-48kbitrate-mono-mp3"
  }'

文字转语音 - 文本格式 (AzureTTS)

使用纯文本格式进行文本到语音的转换。

# POST 请求示例
curl -X POST "https://tts88.top/cognitiveservices/v2" \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -d '{
    "text": "您好,这是一段示例文本。",
    "voice": "zh-CN-XiaoxiaoNeural",
    "output_format": "audio-24khz-48kbitrate-mono-mp3",
    "rate": "0",
    "pitch": "0"
  }'

同步返回字幕 (AzureTTS)

文字转语音的同时返回字幕信息。

# POST 请求示例
curl -X POST "https://tts88.top/cognitiveservices/v3" \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -d '{
    "text": "您好,这是一段示例文本。",
    "voice": "zh-CN-XiaoxiaoNeural",
    "output_format": "audio-24khz-48kbitrate-mono-mp3"
  }'

语音转文本 (AzureSTT)

将语音文件转换为文本。

# POST 请求示例
curl -X POST "https://tts88.top/cognitiveservices/stt" \
  -H "Content-Type: multipart/form-data" \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -F "audio=@/path/to/your/audio.wav" \
  -F "language=zh-CN"

批量合成任务

创建批量合成任务

# PUT 请求示例
curl -X PUT "https://tts88.top/texttospeech/batchsyntheses" \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -d '{
    "texts": ["这是第一段文本", "这是第二段文本"],
    "voice": "zh-CN-XiaoxiaoNeural",
    "output_format": "audio-24khz-48kbitrate-mono-mp3"
  }'

获取批量合成任务

# GET 请求示例
curl -X GET "https://tts88.top/texttospeech/batchsyntheses/{id}" \
  -H "Authorization: Bearer YOUR_API_KEY"

删除批量合成任务

# DELETE 请求示例
curl -X DELETE "https://tts88.top/texttospeech/batchsyntheses/{id}" \
  -H "Authorization: Bearer YOUR_API_KEY"

参数说明

参数名类型必填说明
textstring是(文本格式)需要转换为语音的文本内容
ssmlstring是(SSML格式)使用SSML格式的语音合成标记
voicestring是(文本格式)要使用的声音,如:zh-CN-XiaoxiaoNeural
output_formatstring输出格式,默认为 audio-24khz-48kbitrate-mono-mp3
ratestring语速,取值范围:-100 ~ 100,默认为 0
pitchstring音调,取值范围:-100 ~ 100,默认为 0
languagestring是(STT)语音识别的语言,如:zh-CN

支持的声音列表

我们的API支持微软Azure TTS的所有语音模型,以下是常用的中文声音列表:

声音名称性别描述
zh-CN-XiaoxiaoNeural标准女声,活泼开朗
zh-CN-YunjianNeural标准男声,专业稳重
zh-CN-YunyangNeural新闻播报员风格
zh-CN-XiaohanNeural温柔女声
zh-CN-XiaomoNeural儿童声音
zh-CN-XiaoxuanNeural成熟女声

提示

使用声音列表API可获取所有可用的语音模型。

SSML 支持

SSML (Speech Synthesis Markup Language) 是一种基于 XML 的标记语言,可让开发人员精确控制文本转语音的输出效果。

SSML 示例

<speak version="1.0" xmlns="http://www.w3.org/2001/10/synthesis" xml:lang="zh-CN">
  <voice name="zh-CN-XiaoxiaoNeural">
    今天天气<prosody rate="+20.00%">真不错</prosody>,
    我们<break time="500ms"/>一起出去玩吧!
  </voice>
</speak>

计费说明

我们的API服务采用按量计费模式,100%同步官方计费倍率和规则:

  • 标准神经网络语音:¥30/1000000字符
  • 语音转文本:¥2/小时

注意

计费以实际处理的字符数为准,包括标点符号和空格。SSML标签不计入字符数。

示例代码

Python 示例 - 文本格式

import requests
import json

url = "https://tts88.top/cognitiveservices/v2"
headers = {
    "Content-Type": "application/json",
    "Authorization": "Bearer YOUR_API_KEY"
}
data = {
    "text": "这是一个示例文本,用于展示API的调用方式。",
    "voice": "zh-CN-XiaoxiaoNeural",
    "output_format": "audio-24khz-48kbitrate-mono-mp3"
}

response = requests.post(url, headers=headers, data=json.dumps(data))

if response.status_code == 200:
    with open("output.mp3", "wb") as f:
        f.write(response.content)
    print("转换成功,已保存为output.mp3")
else:
    print(f"转换失败,错误码:{response.status_code},错误信息:{response.text}")

JavaScript 示例 - 文本格式

async function textToSpeech() {
  const url = 'https://tts88.top/cognitiveservices/v2';
  const data = {
    text: '这是一个示例文本,用于展示API的调用方式。',
    voice: 'zh-CN-XiaoxiaoNeural',
    output_format: 'audio-24khz-48kbitrate-mono-mp3'
  };
  
  try {
    const response = await fetch(url, {
      method: 'POST',
      headers: {
        'Content-Type': 'application/json',
        'Authorization': 'Bearer YOUR_API_KEY'
      },
      body: JSON.stringify(data)
    });
  
    if (!response.ok) {
      throw new Error(`HTTP error! Status: ${response.status}`);
    }
  
    const audioBlob = await response.blob();
    const audioUrl = URL.createObjectURL(audioBlob);
  
    // 创建音频元素播放
    const audio = new Audio(audioUrl);
    audio.play();
  
    // 或者下载文件
    const a = document.createElement('a');
    a.href = audioUrl;
    a.download = 'output.mp3';
    a.click();
  
  } catch (error) {
    console.error('转换失败:', error);
  }
}

Python 示例 - SSML格式

import requests
import json

url = "https://tts88.top/cognitiveservices/v1"
headers = {
    "Content-Type": "application/json",
    "Authorization": "Bearer YOUR_API_KEY"
}
data = {
    "ssml": '<speak version="1.0" xmlns="http://www.w3.org/2001/10/synthesis" xml:lang="zh-CN"><voice name="zh-CN-XiaoxiaoNeural">这是一个SSML示例文本。</voice></speak>',
    "output_format": "audio-24khz-48kbitrate-mono-mp3"
}

response = requests.post(url, headers=headers, data=json.dumps(data))

if response.status_code == 200:
    with open("output.mp3", "wb") as f:
        f.write(response.content)
    print("转换成功,已保存为output.mp3")
else:
    print(f"转换失败,错误码:{response.status_code},错误信息:{response.text}")

如何获取API密钥

  1. 访问我们的API官网
  2. 注册并登录账户
  3. 在用户中心找到"API密钥"选项
  4. 生成您的专属API密钥

我们的优势

  • 透明计费:模型计费全部公开透明,日志中每一条详情都可悬停显示具体的计费公式。
  • 同步官方:100%同步官方计费倍率和规则,无掺假无广告无保留或出售聊天数据。
  • 按量计费:无需承担额度过期或者封号风险。
  • 公开透明:每一笔调用的消耗明细都会公开透明零误差计费。
  • 稳定服务:已开通7*24小时自助充值服务,保障您的服务不会中断。

常见问题

Q: 语音合成失败,返回400错误

A: 请检查文本长度是否超出限制(单次请求不超过10000字符),或者所选语音模型是否正确。

Q: 如何调整语音的语速和音调?

A: 您可以在请求参数中添加rate和pitch参数,或者使用SSML标签进行更精细的控制。

Q: 支持哪些输出格式?

A: 支持多种格式,常用的有mp3、wav、ogg等,详细请参考文档或咨询客服。

Q: 如何使用批量转换功能?

A: 使用批量合成任务API,将多个文本作为数组提交,系统会异步处理并返回任务ID,后续可通过任务ID查询结果。

Q: 如何充值账户?

A: 登录我们的API网站后,在"充值"页面可以选择多种充值方式,支持支付宝、微信和对公转账。

联系支持

如果您在使用过程中遇到任何问题,或有特殊需求,请联系我们的客服团队获取支持。

评论
  • 按正序
  • 按倒序
  • 按热度
Powered by Waline v2.15.8