API 文件
将 TTS. ai 与我们的REST API. OpenAI-兼容格式的简单移民格式结合到您的应用程序中。
概览概览概览概览概览概览概览概览
The TTS.ai API provides programmatic access to all platform features: text-to-speech synthesis, speech-to-text transcription, voice cloning, audio enhancement, and more. The API uses standard REST conventions with JSON request/response bodies.
APIP API 键键
获取您的 API 密钥 账户设置. 载于Pro和Energoprojekt 计划。
基础 URL URL
https://api.tts.ai/v1/
认证
传经的贝尔传记牌 Authorization 标题标题标题
验证
所有 API 请求都需要在 Authorization 标题标题标题.
Authorization: Bearer sk-tts-your-api-key-here
基础 URL URL
所有端点都与此基准 URL 相对。 例如, TTS 端点是 :
限制利率
API利率限额因计划而异:
| 计划计划计划 | 请求/分钟 | Concurrent | 最大文本长度 |
|---|---|---|---|
| 职业 | 60 | 5 | 5 000 查查 |
| 企业企业企业企业企业企业企业 | 300 | 20 | 50 000 查尔 |
在每个答复中都包括了利率上限标头: X-RateLimit-Limit, X-RateLimit-Remaining, X-RateLimit-Reset.
信贷成本
| 服务处 | 成本成本成本成本成本 | 股股股股 |
|---|---|---|
| TTS(免费型号:管道、VITS、MelotTS) | 1个信贷1个信贷 | 每千个字符数 |
| TTS(标准模型:Kokoro、CosyVoice 2等) | 2个贷项 | 每千个字符数 |
| TTS( 高级模型: 乌龟、 聊天盒等) | 4个贷项 | 每千个字符数 |
| 对文本的语音 | 2个贷项 | 每音频分钟 |
| 语音克隆 | 4个贷项 | 每千个字符数 |
| 语音变音器 | 3个贷项 | 每音频分钟 |
| 音频增强 | 2个贷项 | 每音频分钟 |
| vocal 清除/ Stem 拆分 | 3-4个信贷额度 | 每音频分钟 |
| 语音翻译 | 5个贷项 | 每音频分钟 |
| 语音聊天 | 3个贷项 | 转一转 |
| 密钥 & BPM 查找器 | 自由 | -- |
| 音频转换器 | 自由 | -- |
文本到语音
将文本转换为语音音频。 以请求的格式返回音频文件 。
请求机构
| 参数 | 类型类型类型 | 所需 | 说明说明 |
|---|---|---|---|
| model | string | 是 是 | 型号 ID (例如, kokoro , chatterbox , piper ) |
| text | string | 是 是 | 要转换为语音的文本(Pro 最多5,000 字符, Enterporation 最多 5,000 字符, Enterprist 最多 50,000 字符) |
| voice | string | 是 是 | 语音代号(使用 /v1/voices/ 列出可用声音) |
| format | string | 否 无 | 输出格式: mp3 (默认)、 wav 、 flac 、 ogg |
| speed | float | 否 无 | 语音速度乘数。 默认值 : < code> 1.0 . 范围 : < code> 0. 0.5 至 < code> 2. 0 |
| language | string | 否 无 | 语言代码(例如, en , es )。 如果省略, 自动检测 。 |
| stream | boolean | 否 无 | 启用流响应 。 默认 : false code> |
请求请求的示例
curl -X POST https://api.tts.ai/v1/tts/ \
-H "Authorization: Bearer sk-tts-your-key" \
-H "Content-Type: application/json" \
-d '{
"model": "kokoro",
"text": "Hello from TTS.ai! This is a test.",
"voice": "af_bella",
"format": "mp3"
}' \
--output output.mp3
回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应
Returns the audio file as binary data with appropriate Content-Type header (audio/mpeg, audio/wav, etc.).
Content-Type: audio/mpeg
Content-Length: 48256
X-Credits-Used: 2
X-Credits-Remaining: 498
对文本的语音
将音频发送到文本中。 支持99种语言的自动检测 。
请求机构 (multipart/form-data)
| 参数 | 类型类型类型 | 所需 | 说明说明 |
|---|---|---|---|
| file | file | 是 是 | 音频文件(MP3、WAV、FLAC、OGG、M4A、MP4、WebM),最大100MB。 |
| model | string | 否 无 | STT 模型: < code> whisper (默认)、 faster-whiseper 、 sensevoice |
| language | string | 否 无 | 用于自动检测(默认)的 auto 语言代码。 |
| timestamps | boolean | 否 无 | 包含单词级时间戳。 默认 : false code> |
| diarize | boolean | 否 无 | 启用扬声器 Diarization 。 默认 : false |
回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应
{
"text": "Hello, this is a transcription test.",
"language": "en",
"duration": 3.5,
"segments": [
{
"start": 0.0,
"end": 1.8,
"text": "Hello, this is",
"speaker": "SPEAKER_00"
},
{
"start": 1.8,
"end": 3.5,
"text": "a transcription test.",
"speaker": "SPEAKER_00"
}
]
}
语音克隆
以克隆声音生成语音。 上传引用音频和文本 。
请求机构 (multipart/form-data)
| 参数 | 类型类型类型 | 所需 | 说明说明 |
|---|---|---|---|
| reference_audio | file | 是 是 | 参考语音音频(建议10至30秒),Max 20MB。 |
| text | string | 是 是 | 用克隆声音说话的文本。 |
| model | string | 否 无 | 克隆模型: chatterbox (默认)、 cosysyvoice2 、 gpt-sovits |
| format | string | 否 无 | 输出格式: mp3 (默认)、 wav 、 flac |
| language | string | 否 无 | 目标语言代码。 必须得到所选模式的支持 。 |
回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应
返回音频文件作为二进制数据,与 TTS 端点相同。
语音变音器
将音频转换为不同的声音。 上传源音频并选择目标声音 。
请求机构 (multipart/form-data)
| 参数 | 类型类型类型 | 所需 | 说明说明 |
|---|---|---|---|
| file | file | 是 是 | 源音频文件(MP3、WAV、FLAC),最大500MB。 |
| target_voice | string | 是 是 | 转换为目标语音 ID (使用 < code>/ v1/voices/ 列出可用声音) |
| model | string | 否 无 | 语音转换模式: openvoice (默认), knn-vc |
| format | string | 否 无 | 输出格式: wav (默认)、 mp3 、 flac |
请求请求的示例
curl -X POST https://api.tts.ai/v1/voice-convert/ \
-H "Authorization: Bearer sk-tts-your-key" \
-F "file=@source_audio.mp3" \
-F "target_voice=af_bella" \
-F "model=openvoice" \
-o converted.wav
回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应
返回转换的音频文件为二进制数据。
语音翻译
将语音音频从一种语言翻译到另一种语言。 将语音对文本、 翻译和文本对语音合并到一个电话中 。
请求机构 (multipart/form-data)
| 参数 | 类型类型类型 | 所需 | 说明说明 |
|---|---|---|---|
| file | file | 是 是 | 原始语言的源音频文件。 最大 100MB 。 |
| target_language | string | 是 是 | 目标语言代码(例如, < code>es , fr , < code>de , ja ) |
| voice | string | 否 无 | 翻译输出的声音。 如果省略, 自动选择 。 |
| preserve_voice | boolean | 否 无 | 试图保护原发言者 |
回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应
{
"original_text": "Hello, how are you?",
"translated_text": "Hola, como estas?",
"source_language": "en",
"target_language": "es",
"audio_url": "https://api.tts.ai/v1/results/translate_abc123.mp3",
"credits_used": 5
}
发 言发言
变换语言风格、情感或投递,同时保留内容。 可用于调整音调、节奏和表达性。
请求机构 (multipart/form-data)
| 参数 | 类型类型类型 | 所需 | 说明说明 |
|---|---|---|---|
| file | file | 是 是 | 源言音频文件。 最大 50MB 。 |
| voice | string | 是 是 | 输出演讲的目标声音代号 |
| model | string | 否 无 | 型号: openvoice (默认), chatterbox |
| emotion | string | 否 无 | 目标情感: 中立 , happy , sad, angry , excited |
| speed | float | 否 无 | 速度调整。 默认值 : 1.0 . 范围 : 0.5 到 2. 0 |
回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应
返回已转换的音频文件作为二进制数据。
音频工具
音频处理端点用于增强、声带清除、干分解等等。
提高音频质量:电子音质、清晰度、超分辨率。
| file file | 要增强的音频文件 |
| denoise boolean | 启用除空( 默认值: 真实值) |
| enhance_clarity boolean | 提高语音清晰度(默认:真实) |
| super_resolution boolean | 升级音频质量( 默认值: 假) |
| strength integer | 1-3 (光, 中, 强) 默认值: 2 |
或分裂成裂缝。
| file file | 要分离的音频文件 |
| model string | demucs (默认缺缺默认) 或 spleeter |
| stems integer | 源数: 2, 4, 5 或 6 (默认值: 2) |
| format string | 输出格式: wav , mp3 , flac |
从音频录音中删除回声和反响。
| file file | 要处理的音频文件 |
| type string | echo or reverb (default: both) |
| intensity integer | 1-5 (default: 3) |
分析音频以检测密钥、 BPM 和时间签名 。
| file file | Audio file to analyze |
{
"key": "C",
"scale": "Major",
"bpm": 120.0,
"time_signature": "4/4",
"camelot": "8B",
"compatible_keys": ["C Major", "G Major", "F Major", "A Minor"]
}
在格式之间转换音频 。
| file file | 要转换的音频文件 |
| format string | 目标格式: mp3 , >wav , flac , >ogg , m4a , aaaa , aaaac |
| bitrate integer | kbps 输出比特率: 64, 128, 192, 256, 320 |
| sample_rate integer | 抽样率:22050、44100、48000 |
| channels string | mono 或 stereo |
语音聊天
发送音频或文字,并用合成语音接收AI答复。
请求机构 (multipart/form-data 或 JSON)
| 参数 | 类型类型类型 | 所需 | 说明说明 |
|---|---|---|---|
| audio | file | 否 无* | 音频输入(需要 audio 或 text ) |
| text | string | 否 无* | 文本输入( 需要 < code> audio 或 text ) |
| voice | string | 否 无 | AI 响应的声音。 默认: < code>af_ bella |
| tts_model | string | 否 无 | TTS 响应模式。 默认: kokoro |
| system_prompt | string | 否 无 | 自定义系统提示 AI |
| conversation_id | string | 否 无 | 继续现有对话 |
回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应
{
"conversation_id": "conv_abc123",
"user_text": "What is the capital of France?",
"ai_text": "The capital of France is Paris.",
"audio_url": "https://api.tts.ai/v1/audio/tmp/resp_xyz.mp3",
"credits_used": 3
}
样 样 样 样 样 样 样
返回所有具备能力的现有模型清单。
回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应
{
"models": [
{
"id": "kokoro",
"name": "Kokoro",
"type": "tts",
"tier": "standard",
"languages": ["en", "ja", "ko", "zh", "fr"],
"supports_cloning": false,
"supports_streaming": true,
"credits_per_1k_chars": 2
},
{
"id": "chatterbox",
"name": "Chatterbox",
"type": "tts",
"tier": "premium",
"languages": ["en"],
"supports_cloning": true,
"supports_streaming": true,
"credits_per_1k_chars": 4
}
]
}
列表声音
返回所有可用声音的列表, 由模式或语言选择过滤 。
查询参数
| 参数 | 类型类型类型 | 说明说明 |
|---|---|---|
| model | string | 通过型号 ID (例如 kokoro ) 过滤器过滤 |
| language | string | 通过语言代码过滤(例如 en ) |
| gender | string | 按性别划分的过滤器: male , 女性 , 中性 |
回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应回应
{
"voices": [
{
"id": "af_bella",
"name": "Bella",
"model": "kokoro",
"language": "en",
"gender": "female",
"preview_url": "https://api.tts.ai/v1/voices/preview/af_bella.mp3"
}
],
"total": 142
}
守则示例
文本到语音
import requests
API_KEY = "sk-tts-your-key"
# Text to Speech
response = requests.post(
"https://api.tts.ai/v1/tts/",
headers={"Authorization": f"Bearer {API_KEY}"},
json={
"model": "kokoro",
"text": "Hello from TTS.ai!",
"voice": "af_bella",
"format": "mp3"
}
)
with open("output.mp3", "wb") as f:
f.write(response.content)
print(f"Credits used: {response.headers.get('X-Credits-Used')}")
对文本的语音
# Speech to Text
with open("recording.mp3", "rb") as f:
response = requests.post(
"https://api.tts.ai/v1/stt/",
headers={"Authorization": f"Bearer {API_KEY}"},
files={"file": f},
data={"model": "faster-whisper", "timestamps": "true"}
)
result = response.json()
print(result["text"])
语音克隆
# Voice Cloning
with open("reference.wav", "rb") as ref:
response = requests.post(
"https://api.tts.ai/v1/tts/clone/",
headers={"Authorization": f"Bearer {API_KEY}"},
files={"reference_audio": ref},
data={
"text": "This speech uses a cloned voice.",
"model": "chatterbox"
}
)
with open("cloned_output.mp3", "wb") as f:
f.write(response.content)
文本到语音
const API_KEY = 'sk-tts-your-key';
// Text to Speech
const response = await fetch('https://api.tts.ai/v1/tts/', {
method: 'POST',
headers: {
'Authorization': `Bearer ${API_KEY}`,
'Content-Type': 'application/json'
},
body: JSON.stringify({
model: 'kokoro',
text: 'Hello from TTS.ai!',
voice: 'af_bella',
format: 'mp3'
})
});
const audioBlob = await response.blob();
const audioUrl = URL.createObjectURL(audioBlob);
const audio = new Audio(audioUrl);
audio.play();
对文本的语音
// Speech to Text
const formData = new FormData();
formData.append('file', audioFile);
formData.append('model', 'faster-whisper');
const response = await fetch('https://api.tts.ai/v1/stt/', {
method: 'POST',
headers: { 'Authorization': `Bearer ${API_KEY}` },
body: formData
});
const result = await response.json();
console.log(result.text);
文本到语音
# Text to Speech
curl -X POST https://api.tts.ai/v1/tts/ \
-H "Authorization: Bearer sk-tts-your-key" \
-H "Content-Type: application/json" \
-d '{"model":"kokoro","text":"Hello!","voice":"af_bella","format":"mp3"}' \
-o output.mp3
对文本的语音
# Speech to Text
curl -X POST https://api.tts.ai/v1/stt/ \
-H "Authorization: Bearer sk-tts-your-key" \
-F "file=@recording.mp3" \
-F "model=faster-whisper" \
-F "timestamps=true"
语音克隆
# Voice Cloning
curl -X POST https://api.tts.ai/v1/tts/clone/ \
-H "Authorization: Bearer sk-tts-your-key" \
-F "reference_audio=@reference.wav" \
-F "text=This uses a cloned voice." \
-F "model=chatterbox" \
-o cloned.mp3
音频增强
# Audio Enhancement
curl -X POST https://api.tts.ai/v1/audio/enhance/ \
-H "Authorization: Bearer sk-tts-your-key" \
-F "file=@noisy_audio.mp3" \
-F "denoise=true" \
-F "enhance_clarity=true" \
-o enhanced.mp3
错误代码
所有错误都返回 JSON 响应 error 字段。
{
"error": {
"code": "insufficient_credits",
"message": "You do not have enough credits for this request.",
"credits_required": 4,
"credits_available": 2
}
}
| HTTP 状态 | Error Code | 说明说明 |
|---|---|---|
| 400 | bad_request |
无效的请求参数。 请检查错误信息的细节 。 |
| 401 | unauthorized |
遗失或无效 API 密钥 。 |
| 402 | insufficient_credits |
没有足够的信贷,在/定价/购买更多。 |
| 403 | forbidden |
您的计划无法访问 API 。 |
| 404 | not_found |
找不到模型或声音 。 |
| 413 | file_too_large |
已上传文件超过大小限制 。 |
| 429 | rate_limited |
太多的要求了 支票率限制标头 |
| 500 | internal_error |
服务器错误。 稍后再试 。 |
| 503 | model_loading |
模型正在装入。 几秒钟后重试 。 |
Webhoooks 网络图
对于长期任务( 平整、 批量 TTS), 您可以提供一个 < code> webhook_ url code > 参数。 当任务完成后, 我们将会将结果寄到您的 URL 中 。
{
"event": "task.completed",
"task_id": "task_abc123",
"status": "success",
"result_url": "https://api.tts.ai/v1/results/task_abc123",
"credits_used": 12,
"created_at": "2025-01-15T10:30:00Z",
"completed_at": "2025-01-15T10:30:45Z"
}
准备开始吗?
获取您的 API 密钥, 并开始将 TTS. ai 整合到您的应用程序中 。