🌍 多语言翻译 API
1 IC每400字符
快速准确地在 28 种语言之间进行翻译,针对长文本和高性能进行了优化。支持单次翻译和批量翻译。
试用演示
🚀 特点
-
28 种语言:
ar,bn,cs,de,en,es,fa,fr,he,hi,id,it,ja,km,ko,lo,ms,my,nl,pl,pt,ru,th,tl,tr,ur,vi,zh -
单次和批量端点
-
无限文本支持 – 自动按句子级别分块
-
高精度 – 使用 BERTScore 在真实数据集上进行评估
📈 性能基准 (泰语 → 英语)
在 SCB MT En-TH 2020 数据集的 133,330 个句子对上进行测试。
| 模式 | 每 100 句平均时间 |
|---|---|
| 🧠 批量 | 18.06 秒 |
| 🐌 单次 | 30.54 秒 |
💡 提示: 为了获得最佳性能,请使用批量 API。
🧪 质量 (BERTScore)
预测与参考之间的语义相似度得分(1.0 = 完全匹配)
| 源 → 目标 | BERTScore 平均值 |
|---|---|
| EN → MY | 0.9561 |
| EN → TH | 0.9506 |
| EN → JA | 0.9169 |
| JA → EN | 0.9146 |
| TH → EN | 0.8728 |
| TH → MY | 0.8571 |
| ZH → EN | 0.8571 |
✅ 所有测试对的得分均**> 0.80**
API 端点
🔹 单次翻译
POST /v1/text/translate
Content-Type: application/x-www-form-urlencoded
参数:
text: 要翻译的文本source_lang: 源语言代码 (例如en)target_lang: 目标语言代码 (例如th)max_length: (可选) 最大输出 token 数
示例:
curl -X POST "https://api.iapp.co.th/v1/text/translate" \
-H "apikey: YOUR_API_KEY" \
-F "text=Hello" \
-F "source_lang=en" \
-F "target_lang=th"
响应:
{
"translation": "สวัสดี",
"processing_time": 0.056
}
🔹 批量翻译
POST /v1/text/batch_translate
Content-Type: application/json
正文:
[
{
"text": "Hello",
"source_lang": "en",
"target_lang": "fr"
},
{
"text": "こんにちは",
"source_lang": "ja",
"target_lang": "en"
}
]
响应:
{
"results": [
{ "translation": "Bonjour", "index": 0 },
{ "translation": "Hello", "index": 1 }
]
}
🐍 Python 代码示例
import requests
def translate_text(text, source_lang, target_lang, api_key, api_url="https://api.iapp.co.th"):
"""
使用翻译 API 翻译文本
Args:
text (str): 要翻译的文本
source_lang (str): 源语言代码 (例如 'en', 'th', 'zh')
target_lang (str): 目标语言代码 (例如 'en', 'th', 'zh')
api_key (str): 您的 API 密钥
api_url (str): API 的基本 URL
Returns:
dict: 翻译响应
"""
data = {
"text": text,
"source_lang": source_lang,
"target_lang": target_lang
}
headers = {
"apikey": api_key
}
response = requests.post(f"{api_url}/v1/text/translate", data=data, headers=headers)
response.raise_for_status() # 对于 HTTP 错误引发异常
return response.json()
# 用法示例:
# result = translate_text("Hello", "en", "th", api_key="YOUR_API_KEY")
# print(result["translation"])
✅ 此代码使用 application/x-www-form-urlencoded 格式,符合 API 规范。
⚠️ 错误
| 代码 | 描述 |
|---|---|
| 400 | 请求无效 |
| 401 | API 密钥丢失或无效 |
| 429 | 请求速率已超出限制 |
| 500 | 服务器内部错误 |
| 503 | 服务未就绪 |
✅ 摘要
- 🏁 28 种语言,快速准确
- 📄 自动处理长文本
- 🧪 经证明的高质量翻译
- 📦 使用批量模式以获得最佳速度
代码示例
Curl
curl -X POST https://api.iapp.co.th/v3/store/nlp/translation/multilingual \
-H "apikey: YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{"text": "Your text here", "source_lang": "th", "target_lang": "en"}'
Python
import requests
import json
url = "https://api.iapp.co.th/v3/store/nlp/translation/multilingual"
headers = {
"apikey": "YOUR_API_KEY",
"Content-Type": "application/json"
}
data = {"text": "Your text here", "source_lang": "th", "target_lang": "en"}
response = requests.post(url, headers=headers, data=json.dumps(data))
print(response.json())
JavaScript
const axios = require("axios");
const config = {
method: "post",
url: "https://api.iapp.co.th/v3/store/nlp/translation/multilingual",
headers: {
apikey: "YOUR_API_KEY",
"Content-Type": "application/json",
},
data: {"text": "Your text here", "source_lang": "th", "target_lang": "en"},
};
axios(config)
.then((response) => console.log(response.data))
.catch((error) => console.log(error));
PHP
<?php
$curl = curl_init();
curl_setopt_array($curl, array(
CURLOPT_URL => 'https://api.iapp.co.th/v3/store/nlp/translation/multilingual',
CURLOPT_RETURNTRANSFER => true,
CURLOPT_POST => true,
CURLOPT_POSTFIELDS => '{"text": "Your text here", "source_lang": "th", "target_lang": "en"}',
CURLOPT_HTTPHEADER => array(
'apikey: YOUR_API_KEY',
'Content-Type: application/json'
),
));
$response = curl_exec($curl);
curl_close($curl);
echo $response;
?>
Swift
import Foundation
let url = URL(string: "https://api.iapp.co.th/v3/store/nlp/translation/multilingual")!
var request = URLRequest(url: url)
request.httpMethod = "POST"
request.addValue("YOUR_API_KEY", forHTTPHeaderField: "apikey")
request.addValue("application/json", forHTTPHeaderField: "Content-Type")
let jsonData = try! JSONSerialization.data(withJSONObject: {"text": "Your text here", "source_lang": "th", "target_lang": "en"})
request.httpBody = jsonData
let task = URLSession.shared.dataTask(with: request) { data, response, error in
if let data = data {
print(String(data: data, encoding: .utf8)!)
}
}
task.resume()
Kotlin
import okhttp3.*
import okhttp3.MediaType.Companion.toMediaTypeOrNull
import okhttp3.RequestBody.Companion.toRequestBody
val client = OkHttpClient()
val json = """
{"text": "Your text here", "source_lang": "th", "target_lang": "en"}
""".trimIndent()
val requestBody = json.toRequestBody("application/json".toMediaTypeOrNull())
val request = Request.Builder()
.url("https://api.iapp.co.th/v3/store/nlp/translation/multilingual")
.addHeader("apikey", "YOUR_API_KEY")
.post(requestBody)
.build()
client.newCall(request).execute().use { response ->
println(response.body?.string())
}
Java
import okhttp3.*;
OkHttpClient client = new OkHttpClient();
String json = "{"text": "Your text here", "source_lang": "th", "target_lang": "en"}";
RequestBody body = RequestBody.create(
MediaType.parse("application/json"),
json
);
Request request = new Request.Builder()
.url("https://api.iapp.co.th/v3/store/nlp/translation/multilingual")
.addHeader("apikey", "YOUR_API_KEY")
.post(body)
.build();
try (Response response = client.newCall(request).execute()) {
System.out.println(response.body().string());
}
Dart
import 'package:http/http.dart' as http;
import 'dart:convert';
var headers = {
'apikey': 'YOUR_API_KEY',
'Content-Type': 'application/json'
};
var data = {"text": "Your text here", "source_lang": "th", "target_lang": "en"};
var response = await http.post(
Uri.parse('https://api.iapp.co.th/v3/store/nlp/translation/multilingual'),
headers: headers,
body: jsonEncode(data)
);
print(response.body);