跳到主要内容

tts API

Kokoro 82M 本地文字转语音接口。公网路径统一挂在 /api/tts,测试页面挂在 /tts

这个服务适合短文本 TTS 生成。服务端固定 24kHz 采样率,模型生成按队列串行执行,避免同一台机器上多个模型任务同时抢 CPU 和内存。

页面

GET /tts

打开浏览器测试面板。

公网地址:

https://6767.chat/tts

路由

GET  /api/tts/health
GET /api/tts/voices
POST /api/tts
POST /api/tts/generate
POST /api/tts/generate/json
GET /api/tts/outputs/<filename>
GET /api/tts/download/<filename>

业务风格:

/api/tts/<具体业务>

其中 /api/tts 保留为最小调用入口,等价于 /api/tts/generate

POST /api/tts

请求格式支持 application/jsonmultipart/form-dataapplication/x-www-form-urlencodedtext/plain

最小参数:

字段必填默认说明
text-要合成的文本,当前限制 3000 字符以内。
voiceaf_heart音色。
formatwav返回格式:wavmp3m4amp4
speed1.0语速,范围 0.651.35

采样率固定:

sample_rate = 24000

成功时直接返回音频文件,不包 JSON。

示例:

curl -X POST "https://6767.chat/api/tts" \
-H "Content-Type: application/json" \
--data '{"text":"Hello from Kokoro."}' \
--output output.wav

返回 MP3:

curl -X POST "https://6767.chat/api/tts" \
-H "Content-Type: application/json" \
--data '{"text":"Hello from Kokoro.","format":"mp3"}' \
--output output.mp3

返回头包含生成信息:

X-TTS-Seconds: 1.24
X-TTS-Sample-Rate: 24000
X-TTS-Voice: af_heart
X-TTS-Speed: 1.0
X-TTS-Format: wav
X-TTS-Queued-Ahead: 0

POST /api/tts/generate/json

用于网页面板或需要 JSON 元数据的客户端。参数同 /api/tts,成功返回音频 URL。

示例:

curl -X POST "https://6767.chat/api/tts/generate/json" \
-H "Content-Type: application/json" \
--data '{"text":"Hello from Kokoro.","format":"m4a"}'

成功返回:

{
"audio_url": "/api/tts/outputs/kokoro_1779381254151_9bcc8096.m4a",
"filename": "kokoro_1779381254151_9bcc8096.m4a",
"seconds": 1.36,
"sample_rate": 24000,
"voice": "af_heart",
"speed": 1.0,
"format": "m4a",
"queued_ahead": 0
}

GET /api/tts/voices

返回可用音色、格式和默认参数。

当前音色:

af_heart
af_bella
af_nicole
af_sarah
af_sky
am_adam
am_michael
bf_emma
bf_isabella
bm_george
bm_lewis

GET /api/tts/health

健康检查。

{
"ok": true,
"model_loaded": true,
"queued": 0
}

限速和队列

同 IP 限速:

20 秒内最多接收 10 个请求

达到上限时返回:

429 Too Many Requests

模型生成策略:

请求可以并发进入,模型任务按进入顺序串行生成。

这样可以让同 IP 短时间突发进队,但不会让多个模型任务同时占满 CPU 和内存。

错误

状态码说明
400参数错误,例如文本为空、未知音色、格式不支持、语速超出范围。
429同 IP 20 秒内超过 10 个请求。
500模型生成或音频转码失败。

更新日志

2026-05-22 初始发布

  • 新增 /api/tts Kokoro 82M 本地 TTS 生成接口。
  • 新增 /tts 浏览器测试页面。
  • 支持 wavmp3m4amp4 输出。
  • 默认 voice=af_heartformat=wavspeed=1.0、采样率 24000
  • 加入同 IP 20 秒 10 请求限速和模型串行队列。