OmniVoice API 参考文档

语音合成服务 — 面向第三方开发者的 HTTP API 接口

基本信息

基础 URLhttps://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 端点

GETPOST 语音合成

/api/tts.php

将文本合成为语音,返回可播放的音频文件 URL。

参数类型必填说明
textstring要合成的文本,最长 500 字
speakerstring说话人名称,默认为 "default"
apikeystringAPI 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"
}

GET 🎮 在线测试

无需编程,直接在浏览器中测试 API:

🚀 打开在线测试工具

GET 说话人列表

/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 参数可选值: defaultjok老师叶奈法ayxa老男人

GET 用量查询

/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_..."
}

GET 健康检查

/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
1002API Key 无效或不存在
1003API Key 已过期
1004API Key 已被禁用
2001请求频率超出限制
2002并发请求数超出限制
3001缺少 text 参数
3002文本超出最大长度
3003说话人参数无效
4001后端服务超时
4002后端服务返回错误
4003后端服务不可用
5001服务器内部错误

调用限制

每个 API Key 有独立的调用限制:

限制项默认值说明
QPS60 次/分钟每分钟最多请求次数
并发3 个同时进行的请求数
文本长度500 字单次合成最大文本长度