用户指南 API 参考

入门指南

发起首次 API 请求所需的一切

基础 URL

根据您的使用场景,Moknah 提供两种类型的端点:

标准 REST API (针对单个请求):

https://moknah.io/api/v1/

实时 WebSocket API (用于连续流式传输):

wss://moknah.io/api/v1/

身份验证

Moknah API 使用 API 密钥 用于身份验证。请在……中包含您的 API 密钥。 Authorization 使用……的页眉 持票人;持有人 随每次 HTTP 请求和 WebSocket 握手一起使用的方案。

Authorization: Bearer YOUR_API_KEY

获取 API 密钥

  1. 登录您的 Moknah 仪表盘
  2. 订阅专业版套餐或联系我们 销售 用于企业访问。
  3. 导航至 API
  4. 点击 管理 API 密钥
  5. 点击 新钥匙
  6. 复制并妥善保存您的密钥
妥善保管您的密钥

切勿在客户端代码或公开的代码仓库中泄露 API 密钥。请将其视为密码来对待。

快速 HTTP 示例

以下是一个使用标准 REST API 将文本转换为语音的完整示例:

curl -X POST "https://moknah.io/api/v1/tts/generate/" \
  -H "Authorization: Bearer your_api_key" \
  -H "Content-Type: application/json" \
  -d '{
    "text": "مرحبا بك في منصة مكنة",
    "voice_id": 1
  }' \
  --output speech.mp3
import requests

response = requests.post(
    "https://moknah.io/api/v1/tts/generate/",
    headers={
        "Authorization": f"Bearer your_api_key",
    },
    json={
        "text": "مرحبا بك في منصة مكنة",
        "voice_id": 1
    }
)

if response.status_code == 200:
    with open("speech.mp3", "wb") as f:
        f.write(response.content)
    print("音频已保存!")
else:
    print(f"错误: {response.json()}")
const response = await fetch(
    'https://moknah.io/api/v1/tts/generate/',
    {
        method: 'POST',
        headers: {
            'Authorization': 'Bearer your_api_key',
            'Content-Type': 'application/json'
        },
        body: JSON.stringify({
            text: 'مرحبا بك في منصة مكنة',
            voice_id: 1
        })
    }
);

if (response.ok) {
    const blob = await response.blob();
    // 使用音频 Blob
    console.log("音频已生成!");
} else {
    const error = await response.json();
    console.error(error);
}

响应格式

成功响应

成功的响应因端点而异:

  • TTS 生成 (POST): 返回完整的二进制音频数据 (audio/mpeg)
  • TTS 流 (WSS): 在生成 MP3 二进制数据块的同时,持续进行流式传输
  • 其他端点: 返回结构化的 JSON 数据

速率限制标头(仅限 HTTP)

每个 HTTP 响应都包含速率限制信息(WebSocket 则通过关闭连接来实施限制):

页眉 描述
RateLimit-Limit 每分钟最大请求数
RateLimit-Remaining 当前窗口中的剩余请求
RateLimit-Reset 限额重置时的 Unix 时间戳
Moknah-Credits-Remaining 您的剩余信用余额

常见错误代码

代码 类型 描述
400 INVALID_REQUEST 参数无效或 JSON 格式错误
401 UNAUTHORIZED API 密钥无效或缺失
402 INSUFFICIENT_CREDITS 账户余额不足
429 RATE_LIMIT_EXCEEDED 请求过多 (HTTP)
4290 CONCURRENT_LIMIT 活动连接过多 (WSS)
500 INTERNAL_SERVER_ERROR 服务器错误
了解更多

查看 错误 包含详细错误处理指南的页面。

后续步骤

设置完成后,请探索可用的端点:

发布 列出语音

获取 TTS 可用语音

发布 生成语音

将文本转换为音频

WSS 流式语音

实时 WebSocket TTS

发布 语音转写

从音频文件中提取文本

WSS 流式转录

实时 WebSocket 语音转文字 (STT)

API 支持

如有关于 API 的问题或疑问,请联系我们: api@moknah.io.