语音合成服务 — 面向第三方开发者的 HTTP API 接口
| 基础 URL | https://OmniVoice.yunkaizhang.xyz |
| 数据格式 | JSON (UTF-8) |
| 认证方式 | API Key(Header 或 Query 参数) |
所有 API 请求都需要提供 API Key。支持以下两种传递方式:
方式一:HTTP Header
X-API-Key: omni_xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
方式二:Query 参数
?apikey=omni_xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
/api/tts.php
将文本合成为语音,返回可播放的音频文件 URL。
| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
| text | string | 是 | 要合成的文本,最长 500 字 |
| speaker | string | 否 | 说话人名称,默认为 "default" |
| apikey | string | 是 | API Key(也可通过 Header 传递) |
请求示例:
curl -X GET "https://OmniVoice.yunkaizhang.xyz/api/tts.php?text=你好世界&speaker=default&apikey=YOUR_API_KEY"
curl -X POST "https://OmniVoice.yunkaizhang.xyz/api/tts.php" \
-H "X-API-Key: YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{"text":"你好世界","speaker":"default"}'
成功响应:
{
"code": 0,
"message": "success",
"data": {
"audio_url": "https://OmniVoice.yunkaizhang.xyz/audio/abc123.wav",
"duration_ms": 1234,
"text": "你好世界",
"speaker": "default"
},
"request_id": "req_abc123def456"
}
无需编程,直接在浏览器中测试 API:
/api/speakers.php?apikey=YOUR_API_KEY
获取当前可用的说话人列表。
成功响应:
{
"code": 0,
"message": "success",
"data": {
"speakers": [
{"name": "jok老师", "display_name": "jok老师"},
{"name": "叶奈法", "display_name": "叶奈法"},
{"name": "ayxa", "display_name": "ayxa"},
{"name": "老男人", "display_name": "老男人"},
{"name": "default", "display_name": "jok老师(默认)"}
]
},
"request_id": "req_..."
}
speaker 参数可选值: default、jok老师、叶奈法、ayxa、老男人
/api/usage.php?apikey=YOUR_API_KEY
查询当前 API Key 的调用统计。
成功响应:
{
"code": 0,
"message": "success",
"data": {
"total_calls": 128,
"today_calls": 15,
"avg_duration_ms": 850
},
"request_id": "req_..."
}
/api/health.php
检查服务状态。
curl "https://OmniVoice.yunkaizhang.xyz/api/health.php"
响应:
{"status":"ok","service":"OmniVoice API Gateway","version":"1.0.0"}
| 错误码 | 说明 |
|---|---|
| 0 | 成功 |
| 1001 | 缺少 API Key |
| 1002 | API Key 无效或不存在 |
| 1003 | API Key 已过期 |
| 1004 | API Key 已被禁用 |
| 2001 | 请求频率超出限制 |
| 2002 | 并发请求数超出限制 |
| 3001 | 缺少 text 参数 |
| 3002 | 文本超出最大长度 |
| 3003 | 说话人参数无效 |
| 4001 | 后端服务超时 |
| 4002 | 后端服务返回错误 |
| 4003 | 后端服务不可用 |
| 5001 | 服务器内部错误 |
每个 API Key 有独立的调用限制:
| 限制项 | 默认值 | 说明 |
|---|---|---|
| QPS | 60 次/分钟 | 每分钟最多请求次数 |
| 并发 | 3 个 | 同时进行的请求数 |
| 文本长度 | 500 字 | 单次合成最大文本长度 |