API 文件

用简单的RESTAPI, 将强大的翻译输入您的应用程序中。

开始

TranslateAPI为翻译180+语言之间的文本提供了一个简单的REST界面。所有 API 端点都返回 JSON 响应 。

1. 获得您的 API 密钥

创建一个自由账户并从仪表板上生成您的 API 密钥 :

  1. 注册时间 translateapi.ai/signup
  2. 转到 仪表板 → APIP 键键
  3. 点击“ 创建 API 密钥” 并复制您的密钥

API 键首键开始于 ta_ 之后是56个十六进制字符。

基准 URL : https://api.translateapi.ai/api/v1/
2. 提出第一次请求

用您的仪表板上的密钥替换您的 API_ Key:

curl -X POST https://api.translateapi.ai/api/v1/translate/ \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -d '{
    "text": "Hello, world!",
    "target_language": "es"
  }'
import requests

response = requests.post(
    "https://api.translateapi.ai/api/v1/translate/",
    headers={
        "Authorization": "Bearer YOUR_API_KEY",
        "Content-Type": "application/json"
    },
    json={
        "text": "Hello, world!",
        "target_language": "es"
    }
)

result = response.json()
print(result["translated_text"])  # "Hola, mundo!"
const response = await fetch("https://api.translateapi.ai/api/v1/translate/", {
    method: "POST",
    headers: {
        "Authorization": "Bearer YOUR_API_KEY",
        "Content-Type": "application/json"
    },
    body: JSON.stringify({
        text: "Hello, world!",
        target_language: "es"
    })
});

const result = await response.json();
console.log(result.translated_text);  // "Hola, mundo!"
$ch = curl_init("https://api.translateapi.ai/api/v1/translate/");
curl_setopt_array($ch, [
    CURLOPT_RETURNTRANSFER => true,
    CURLOPT_POST => true,
    CURLOPT_HTTPHEADER => [
        "Authorization: Bearer YOUR_API_KEY",
        "Content-Type: application/json"
    ],
    CURLOPT_POSTFIELDS => json_encode([
        "text" => "Hello, world!",
        "target_language" => "es"
    ])
]);

$result = json_decode(curl_exec($ch), true);
echo $result["translated_text"];  // "Hola, mundo!"
payload := strings.NewReader(`{
    "text": "Hello, world!",
    "target_language": "es"
}`)

req, _ := http.NewRequest("POST", "https://api.translateapi.ai/api/v1/translate/", payload)
req.Header.Set("Authorization", "Bearer YOUR_API_KEY")
req.Header.Set("Content-Type", "application/json")

resp, _ := http.DefaultClient.Do(req)
defer resp.Body.Close()

var result map[string]interface{}
json.NewDecoder(resp.Body).Decode(&result)
fmt.Println(result["translated_text"])  // "Hola, mundo!"
var client = new HttpClient();
client.DefaultRequestHeaders.Add("Authorization", "Bearer YOUR_API_KEY");

var content = new StringContent(
    JsonSerializer.Serialize(new {
        text = "Hello, world!",
        target_language = "es"
    }),
    Encoding.UTF8,
    "application/json"
);

var response = await client.PostAsync("https://api.translateapi.ai/api/v1/translate/", content);
var result = JsonSerializer.Deserialize<JsonElement>(
    await response.Content.ReadAsStringAsync()
);
Console.WriteLine(result.GetProperty("translated_text"));  // "Hola, mundo!"
响应
{
    "translated_text": "Hola, mundo!",
    "source_language": "en",
    "target_language": "es",
    "translations": {
        "es": "Hola, mundo!"
    },
    "character_count": 13,
    "translation_time": 0.45
}

验证

使用 API 密钥验证您的请求。 您可以从您的 API 密钥创建 API 密钥 仪表板.

页头验证( 建议)
Authorization: Bearer ta_your_api_key_here
ApiKey 信头
Authorization: ApiKey ta_your_api_key_here
查询参数
https://api.translateapi.ai/api/v1/translate/?api_key=ta_your_api_key_here
保护你的API钥匙安全! 不得在客户代码或公共储存库中披露。

翻译文本

将文本翻译为单一目标语言 。

POST https://api.translateapi.ai/api/v1/translate/
请求机构
参数 类型类型类型 所需 说明说明
text string 是 是 要翻译的文本 (最多 50,000 个字符)
target_language string 是* Target language code (e.g., "es", "fr", "de")
source_language string 否 无 Source language code. Default: "auto" (auto-detect)
engine string 否 无 翻译引擎 : “ 自动”( 默认 ) 、 “ 粗脸 ” 或 “ madlad ” 。 见 翻译模型 。 翻译模型.

* 使用 target_language 单语或单语(字符串),或 target_languages 多重 (数组) 。 见 多目标翻译.

响应
{
    "translated_text": "Hola, mundo!",
    "source_language": "en",
    "target_language": "es",
    "translations": {
        "es": "Hola, mundo!"
    },
    "character_count": 13,
    "translation_time": 0.45
}
自动检测 : 离离 source_language 或设置为 "auto" 来自动检测源语言。检测到的语言返回到 source_language 反应字段。

多目标翻译

在单一请求中将文本翻译为多种语言。 使用与单一翻译相同的端点 。

POST https://api.translateapi.ai/api/v1/translate/
请求机构
{
    "text": "Hello, world!",
    "target_languages": ["es", "fr", "de", "ja"],
    "source_language": "en"
}

使用使用 target_languages (阵列)而不是 target_language (string) 针对多个目标。

响应
{
    "source_language": "en",
    "translations": {
        "es": "Hola, mundo!",
        "fr": "Bonjour, monde!",
        "de": "Hallo, Welt!",
        "ja": "こんにちは、世界!"
    },
    "character_count": 52,
    "translation_time": 2.31
}
提示 : 您可以在一次请求中翻译多达50种语言。

批批次翻译

立即翻译多个文本并进行同步处理。 提交批次和民意测验结果 。

限制 : 每批最多100份文本,共300份(文本x目标语言);处理开始后45分钟工作结束时间。
速度 : 通用语言(ES、FR、DE)使用快速模式(~0.1s/text),不太常见的语言使用我们的多语种模式(~1-3s/text)。
POST https://api.translateapi.ai/api/v1/translate/batch/
步骤1:提交批次批次
curl -X POST https://api.translateapi.ai/api/v1/translate/batch/ \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "texts": ["Hello", "Goodbye", "Thank you"],
    "target_language": "es",
    "source_language": "en"
}'
答复(HTTP 202接受)
{
    "job_id": "67535b2b-c9e3-4f82-9499-e237edbc1dd8",
    "status": "pending",
    "total_texts": 3,
    "queue_position": 1,
    "source_language": "en",
    "target_languages": ["es"],
    "character_count": 22,
    "credits_remaining": -1,
    "poll_url": "https://api.translateapi.ai/api/v1/jobs/67535b2b-c9e3-4f82-9499-e237edbc1dd8/"
}
步骤2:结果投票
GET https://api.translateapi.ai/api/v1/jobs/{job_id}/
投票示例 (Python)
import time, requests

job_id = response.json()["job_id"]
total = response.json()["total_texts"]
headers = {"Authorization": "Bearer YOUR_API_KEY"}

print(f"Batch submitted: {total} texts (job {job_id})")

while True:
    result = requests.get(f"https://api.translateapi.ai/api/v1/jobs/{job_id}/", headers=headers).json()
    status = result["status"]
    processed = result.get("processed_texts", 0)
    progress = result.get("progress_percentage", 0)

    if status == "completed":
        print(f"Done: {processed}/{total} in {result.get('processing_time', 0):.1f}s")
        translations = result["result_data"]["translations"]
        break
    elif status == "failed":
        raise Exception(result.get("error_message", "Translation failed"))
    elif status == "pending":
        print(f"Queued (position {result.get('queue_position', '?')})")
    else:
        print(f"[{status}] {processed}/{total} ({progress:.0f}%)")

    time.sleep(3)
答复(已完成)
{
    "job_id": "67535b2b-...",
    "status": "completed",
    "processed_texts": 3,
    "total_texts": 3,
    "progress_percentage": 100.0,
    "processing_time": 10.65,
    "result_data": {
        "translations": ["Hola", "Adiós", "Gracias"],
        "source_language": "en",
        "target_language": "es",
        "character_count": 22,
        "processing_time": 10.65
    }
}
实时进度跟踪
外地 说明说明
status pending (排队等待一个GPU工人) processing (积极翻译), completed, failed
processed_texts 迄今完成的个别翻译数量,每个文本翻译时实时更新。
progress_percentage 完成百分比(0-100)。根据已处理的文本/总文本计算。
queue_position 当状态为“ 待定” ( 1 = 下一个上方) 时, 您在队列中的位置 。 处理或完成时为空 。 使用此选项来估计等待时间, 并向您的用户显示队列状态 。
processing_time 总处理时间以秒计(完成时可用)。
多语言批次

立即将多种文本翻译成多种语言:

{
    "texts": ["Hello", "Goodbye"],
    "target_languages": ["es", "fr"],
    "source_language": "en"
}
已完成结果_ 数据
{
    "translations": [
        {"es": "Hola", "fr": "Bonjour"},
        {"es": "Adiós", "fr": "Au revoir"}
    ],
    "source_language": "en",
    "target_languages": ["es", "fr"],
    "character_count": 24,
    "processing_time": 2.45
}
请求参数
参数 类型类型类型 所需 说明说明
texts array 是 是 要翻译的字符串排列
target_language string 是* 单一语言目标语言代码
target_languages array 是* 多种语文目标语言代码的排列
source_language string 否 无 Source language code. Default: "auto"

* 提供 target_languagetarget_languages不是两者兼而有之

大型工作量最佳做法
  • 每批请求发送1种目标语言,使每批请求都能够快速进行,并容易追踪进展。
  • 将批量保存在50-100文本中。 小批量的完成更快, 并向您提供更频繁的进度更新 。
  • 提供所需的批量工作——我们的GPU集群自动标尺处理需求,工作在多种情况下平行处理。
  • 超时时, 重新投放同一份工作_ id, 而不是提交新批次 。 最初的工作可能仍然在 GPU 上处理 。
  • 每3-5秒投票一次,更频繁的投票无法加快处理速度。

文件翻译

在保存格式的同时翻译整个文档。 支持多个文件格式 。

POST https://api.translateapi.ai/api/v1/translate/document/
请求(多部分/格式数据)
参数 类型类型类型 所需 说明说明
file file 是 是 要翻译的文档( 最大 10MB)
target_language string 是 是 Target language code (e.g., "es", "fr", "de")
source_language string 否 无 Source language code. Default: "auto" (auto-detect)
支持的文件类型
文件文件文件文件文件文件文件文件文件文件文件文件文件文件文件文件文件文件文件文件文件文件文件文件文件文件文件文件文件文件文件文件文件文件文件文件文件文件文件文件文件文件文件文件文件文件文件文件文件文件文件文件文件文件文件文件文件文件文件文件文件文件文件文件文件文件文件文件文件文件文件文件文件文件文件文件文件文件文件文件文件文件文件文件文件文件文件文件文件文件文件文件文件文件文件文件文件文件文件文件文件文件文件文件文件文件文件文件文件文件文件文件文件文件文件文件文件文件文件文件文件文件文件文件文件文件文件文件文件文件文件文件文件文件文件文件文件文件文件文件文件文件文件文件文件文件文件文件文件文件文件文件文件文件文件文件文件文件文件文件文件文件文件文件文件文件文件文件文件文件文件文件文件文件文件文件文件文件文件文件文件文件文件文件文件文件文件文件文件文件文件文件文件文件文件文件文件文件文件文件文件文件文件文件文件文件文件文件文件文件文件文件文件文件文件文件文件文件文件文件文件文件文件文件文件文件文件文件文件文件文件文件文件文件文件文件文件文件文件文件文件文件文件文件文件文件文件文件文件文件文件文件文件文件文件文件文件文件文件文件文件文件文件文件文件文件文件文件文件文件文件文件文件文件文件文件文件文件文件文件文件文件文件文件文件文件文件文件文件文件文件文件文件文件文件文件文件文件文件文件文件文件文件文件文件文件文件文件文件文件文件文件文件文件文件文件文件文件文件文件文件文件文件文件文件文件文件文件文件文件文件文件文件文件文件文件文件文件文件文件文件文件文件文件文件文件文件文件文件文件文件文件文件文件文件文件文件文件文件文件文件文件文件文件文件文件文件文件文件文件文件文件文件文件文件文件文件文件文件文件文件文件文件文件文件文件文件文件文件文件文件文件文件文件文件文件文件文件文件文件文件文件文件文件文件文件文件文件文件文件文件文件文件文件文件文件文件文件文件文件文件文件文件文件文件文件文件文件文件文件文件文件文件文件文件文件文件文件文件文件文件文件文件文件文件文件文件文件文件文件文件文件文件文件文件文件文件文件文件文件文件文件文件文件文件文件文件文件文件文件文件文件文件文件文件文件文件文件文件文件文件文件文件文件文件文件文件文件文件文件文件文件文件文件文件文件文件文件文件文件文件文件文件文件文件文件文件文件文件文件
  • .txt - 纯文本文件
  • .docx - 单词文档
  • .pdf - PDF文件(包括扫描)
数据与本地化
  • .json - JSON 文件( 翻译字符串值)
  • .xml - XML 文件
  • .srt - 字幕文件
  • .po / .pot - Gettext 翻译文件
图像 (OCR)
  • .jpg / .jpeg - JPEG 图像( OCR)
  • .png - PNG 图像( OCR)
  • .tiff / .tif - TIFF 图像(OCR)
  • .bmp - BMP 图像( OCR)
  • .webp - WebP 图像( OCR)
示例(cURL)
# Translate a Word document
curl -X POST https://api.translateapi.ai/api/v1/translate/document/ \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -F "file=@document.docx" \
  -F "target_language=es" \
  -F "source_language=en"

# Translate text from an image (OCR)
curl -X POST https://api.translateapi.ai/api/v1/translate/document/ \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -F "file=@scanned_page.jpg" \
  -F "target_language=es" \
  -F "source_language=en"
响应
{
    "id": 123,
    "original_filename": "document.docx",
    "file_type": "docx",
    "source_language": "en",
    "target_language": "es",
    "status": "completed",
    "character_count": 5420,
    "translated_file_url": "/media/translated/document_es.docx",
    "created_at": "2024-01-15T10:30:00Z",
    "completed_at": "2024-01-15T10:30:05Z"
}
OCR 支持: 图像文件和扫描的PDF用光学字符识别(OCR)处理,以便在翻译前提取文本。为了取得最佳结果,请使用清晰、高分辨率的图像。
GET https://api.translateapi.ai/api/v1/translate/document/{id}/

检查文档翻译的状态或检索下载的 URL 。

状况价值
pending 文件已上传, 等待处理
processing 翻译中
completed 翻译完成,可下载
failed 翻译失败( 检查错误(_Message)

辅助语言

获取所有支持语言的清单 。

GET https://api.translateapi.ai/api/v1/translate/languages/
响应
{
    "count": 186,
    "results": [
        {"iso": "en", "name": "English", "en_label": "English"},
        {"iso": "es", "name": "Español", "en_label": "Spanish"},
        {"iso": "fr", "name": "Français", "en_label": "French"},
        ...
    ]
}

查看所有 186 种语言

翻译模型

我们使用在自己的GPU基础设施上运行的最先进的开放源码翻译模型。 所有模型都有商业许可(Apache 2. 0)。

型 型 语言语言语言语言语言 最佳
Helsinki-NLP/opus-mt 50+语文配对 通用语言(EN、ES、FR、DE、IT、PT、RU、ZH、JA等)
Google MADLAD-400 400+语言 少数语言,全面覆盖

API 自动自动为您的语言配对选择最佳模式。您可以选择指定 engine 参数 :

引擎引擎 说明说明
"auto" 默认值。 首先, Tries Huggging Face 将返回到 MADLAD- 400 。
"huggingface" Huggging Face/MarimanMT(最快,50+语言)
"madlad" 部队MADLAD-400(400+语言)

错误处理错误处理

API使用标准 HTTP 状态代码来表示成败。

《法典法典法典》 说明说明
200 成功成功
202 已经接受 - 批批工作已成功排入队列
400 错误请求 - 无效参数( 缺少文本、 不支持的语言等)
401 未授权 - 无效或丢失 API 密钥
402 付款要求- 字符信用已用完。 更新计划或购买补丁 。
403 禁止使用 - API 密钥缺少所需的范围或未列在白名单上的 IP
503 未可用服务 - 临时关闭翻译引擎
错误反应格式
{
    "error": "insufficient_credits",
    "credits_remaining": 0
}

使用限制

TranslateAPI has no request rate limits. All requests are queued and processed by our auto-scaling GPU cluster. Your plan determines your monthly character allowance:

计划计划计划 特征/月 批次 APIP 文件文件文件文件文件文件文件文件文件文件文件文件文件文件文件文件文件文件文件文件文件文件文件文件文件文件文件文件文件文件文件文件文件文件文件文件文件文件文件文件文件文件文件文件文件文件文件文件文件文件文件文件文件文件文件文件文件文件文件文件文件文件文件文件文件文件文件文件文件文件文件文件文件文件文件文件文件文件文件文件文件文件文件文件文件文件文件文件文件文件文件文件文件文件文件文件文件文件文件文件文件文件文件文件文件文件文件文件文件文件文件文件文件文件文件文件文件文件文件文件文件文件文件文件文件文件文件文件文件文件文件文件文件文件文件文件文件文件文件文件文件文件文件文件文件文件文件文件文件文件文件文件文件文件文件文件文件文件文件文件文件文件文件文件文件文件文件文件文件文件文件文件文件文件文件文件文件文件文件文件文件文件文件文件文件文件文件文件文件文件文件文件文件文件文件文件文件文件文件文件文件文件文件文件文件文件文件文件文件文件文件文件文件文件文件文件文件文件文件文件文件文件文件文件文件文件文件文件文件文件文件文件文件文件文件文件文件文件文件文件文件文件文件文件文件文件文件文件文件文件文件文件文件文件文件文件文件文件文件文件文件文件文件文件文件文件文件文件文件文件文件文件文件文件文件文件文件文件文件文件文件文件文件文件文件文件文件文件文件文件文件文件文件文件文件文件文件文件文件文件文件文件文件文件文件文件文件文件文件文件文件文件文件文件文件文件文件文件文件文件文件文件文件文件文件文件文件文件文件文件文件文件文件文件文件文件文件文件文件文件文件文件文件文件文件文件文件文件文件文件文件文件文件文件文件文件文件文件文件文件文件文件文件文件文件文件文件文件文件文件文件文件文件文件文件文件文件文件文件文件文件文件文件文件文件文件文件文件文件文件文件文件文件文件文件文件文件文件文件文件文件文件文件文件文件文件文件文件文件文件文件文件文件文件文件文件文件文件文件文件文件文件文件文件文件文件文件文件文件文件文件文件文件文件文件文件文件文件文件文件文件文件文件文件文件文件文件文件文件文件文件文件文件文件文件文件文件文件文件文件文件文件文件文件文件文件文件文件文件文件文件文件文件文件文件文件文件文件文件文件文件文件文件文件文件文件文件文件文件文件文件文件文件文件文件文件文件文件文件文件文件文件文件文件文件文件文件文件文件文件 价格价格价格
自由 250,000 $0 签署自由
启动启动器 2,500,000 $9/以 单位 订阅
职业 10,000,000 $29/以 单位 订阅
商业商业商商商商 40,000,000 $79/以 单位 订阅
比例分摊比额表 比例比 125,000,000 $199/以 单位 订阅
Enterprise Unlimited $499/以 单位 Contact Sales

当你超过极限时,你会得到 402 Payment Required 回复到下个月或升级 。

自动缩小云云基础设施

翻译API 运行在专用的 NVIDIA A100 GPU 实例上, 自动水平缩放。 当需求增加时, 会在几分钟内启动额外的 GPU 实例, 以保持快速响应时间 。 所有请求都排队处理, 发送成百上千个同时提出的请求, 并且它们都会被处理 。 实时翻译得到优先处理, 批量工作程序在背景中 。

需要更多信贷吗?

购买一次性信用补充贷款 而不改变你的计划 查看上上加的包

本页利率
谢谢你的收视率!
/5 基于基于 评级评级