JoySpeech 开放 API

使用 JoySpeech 翻译 API,将实时多语言翻译能力集成到你的应用、脚本或服务中。

快速开始

1. 注册并登录 JoySpeech 账号

2. 创建 API Key(见下方 POST /api/v1/keys/

3. 使用 X-JoySpeech-API-Key 请求头调用翻译接口

认证方式

所有翻译请求需在 HTTP 头中携带 API Key:

X-JoySpeech-API-Key: jsk_your_api_key_here

API Key 以 jsk_ 前缀开头,可在个人中心或通过 API 创建。每个 Key 有独立的速率限制和使用统计。

速率限制

参数默认值说明
每分钟请求60 次可在创建 Key 时自定义(1-1000)
单次文本上限5000 字符超出返回 400
超限响应429返回 retry_after 字段

API 端点

POST /api/v1/translate/

翻译文本。需要 API Key 认证。

请求体 (JSON):

参数类型必填说明
textstring待翻译文本(最多 5000 字符)
source_languagestring源语言代码,默认 "auto" 自动检测
target_languagestring目标语言显示名,默认 "中文"

成功响应 (200):

{
  "translated_text": "你好世界",
  "engine": "tencent",
  "characters": 11
}

错误响应:

// 401 — 未认证
{ "error": "缺少 API Key。请在请求头中添加 X-JoySpeech-API-Key。" }

// 429 — 超限
{ "error": "请求频率超限,请稍后重试。", "retry_after": 42 }

// 400 — 参数错误
{ "error": "请提供待翻译文本 (text)。" }

GET /api/v1/keys/

列出当前用户的所有 API Key。需要 Token 认证。

Authorization: Token your_django_token

响应:

{
  "keys": [
    {
      "id": 1,
      "name": "My App",
      "key_prefix": "jsk_aBcDeF",
      "rate_limit": 60,
      "is_active": true,
      "total_requests": 128,
      "created_at": "2026-09-01T10:00:00Z",
      "last_used_at": "2026-09-01T14:30:00Z"
    }
  ],
  "count": 1
}

POST /api/v1/keys/

创建新的 API Key。需要 Token 认证。明文密钥仅在创建时返回一次。

请求体:

{
  "name": "My App",
  "rate_limit": 100
}

响应 (201):

{
  "id": 2,
  "name": "My App",
  "key": "jsk_xxxxxxxxxxxxxxxxxxxxxxxx",
  "key_prefix": "jsk_xxxxxx",
  "rate_limit": 100,
  "created_at": "2026-09-01T10:00:00Z"
}

DELETE /api/v1/keys/<id>/

吊销(删除)指定的 API Key。需要 Token 认证。

响应:

{ "deleted": true, "id": 2 }

代码示例

Python

import requests

API_KEY = "jsk_your_api_key_here"
url = "https://www.joyspeech.cn/api/v1/translate/"

resp = requests.post(url, json={
    "text": "Hello, how are you?",
    "source_language": "en",
    "target_language": "中文"
}, headers={
    "X-JoySpeech-API-Key": API_KEY,
    "Content-Type": "application/json"
})

data = resp.json()
print(data["translated_text"])
# 输出: 你好,你怎么样?

JavaScript (fetch)

const API_KEY = "jsk_your_api_key_here";

const response = await fetch("https://www.joyspeech.cn/api/v1/translate/", {
  method: "POST",
  headers: {
    "X-JoySpeech-API-Key": API_KEY,
    "Content-Type": "application/json"
  },
  body: JSON.stringify({
    text: "Hello, how are you?",
    source_language: "en",
    target_language: "中文"
  })
});

const data = await response.json();
console.log(data.translated_text);

curl

curl -X POST https://www.joyspeech.cn/api/v1/translate/ \
  -H "X-JoySpeech-API-Key: jsk_your_api_key_here" \
  -H "Content-Type: application/json" \
  -d '{"text":"Hello world","source_language":"en","target_language":"中文"}'

支持的目标语言

中文、English、Deutsch、日本語、한국어、Français、Español、Português、Русский、العربية、Italiano、Türkçe、ภาษาไทย、Tiếng Việt、Bahasa Indonesia、Bahasa Melayu、हिन्दी