API 文件

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

开始

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

基准 URL : https://api.translateapi.ai/api/v1/
快速启动

请提出您的第一份翻译请求 :

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!"
using System;
using System.Net.Http;
using System.Text;
using System.Threading.Tasks;
using Newtonsoft.Json;

class Program
{
    static async Task Main()
    {
        var client = new HttpClient();
        client.DefaultRequestHeaders.Add(
            "Authorization", "Bearer YOUR_API_KEY"
        );

        var content = new StringContent(
            JsonConvert.SerializeObject(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 = await response.Content.ReadAsStringAsync();
        var data = JsonConvert.DeserializeObject<dynamic>(result);
        Console.WriteLine(data.translated_text);  // "Hola, mundo!"
    }
}

验证

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

页头验证( 建议)
Authorization: Bearer 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)

* 使用 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
}

多目标翻译

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

提示 : 您可以在一次请求中翻译多达50种语言。
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
}

批批次翻译

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

限制:每批最多500份,共计750份(文本x目标语言);处理开始后30分钟工作时间(排队等候时间不计)。
处理时间因语言而异:通用语言(西班牙文、法文、德文等)使用快速模式(每份文本~0.1),而较不常用语言使用我们的大型多语种模式(每份文本~1-3.3),100个文本组通常以10-30秒完成通用语言,或2-5分钟完成较不常用语言的文本组。
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"Completed: {processed}/{total} texts in {result.get('processing_time', 0):.1f}s")
        translations = result["result_data"]["translations"]
        break
    elif status == "failed":
        print(f"Failed at {processed}/{total}: {result.get('error_message', 'unknown')}")
        raise Exception(result.get("error_message", "Translation failed"))
    elif status == "pending":
        queue_pos = result.get("queue_position", "?")
        print(f"Queued (position {queue_pos}) — waiting for GPU worker...")
    else:
        print(f"[{status}] {processed}/{total} ({progress:.0f}%)")

    time.sleep(3)
反应(等待-排队,等待GPU)
{
    "job_id": "67535b2b-...",
    "status": "pending",
    "processed_texts": 0,
    "total_texts": 3,
    "progress_percentage": 0.0,
    "queue_position": 3
}
反应(同时处理)
{
    "job_id": "67535b2b-...",
    "status": "processing",
    "processed_texts": 1,
    "total_texts": 3,
    "progress_percentage": 33.33,
    "queue_position": null
}
答复(已完成)
{
    "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 迄今完成的个别翻译数量,每个文本翻译时实时更新。
total_texts 本批翻译总数(文本x目标语言)。
progress_percentage 完成百分比(0-100)。根据已处理的文本/总文本计算。
queue_position 当状态为“ 待定” ( 1 = 下一个上方) 时, 您在队列中的位置 。 处理或完成时为空 。 使用此选项来估计等待时间, 并向您的用户显示队列状态 。
processing_time 总处理时间以秒计(完成时可用)。
提示 : 何时 status"pending", GPU 的工人忙于其他批次。 queue_position 看看有多少工作提前完成 ( 1 = 您是下一个 ) 。 您的工作将自动开始 — — 不需要任何行动, 只需保持投票 。
大型工作量最佳做法
  • 每批请求发送1种目标语言,使每批请求都能够快速进行,并容易追踪进展。
  • 将批量保存在50-100文本中。 小批量的完成更快, 并向您提供更频繁的进度更新 。
  • 最多在两个同时的批量任务中运行。 GPU 平行处理两个批次—— 额外的工作排队, 并且不会更快开始 。
  • 超时时, 重新投放同一份工作_ id, 而不是提交新批次 。 最初的工作可能仍然在 GPU 上处理 。
  • 每3-5秒投票一次,更频繁的投票无法加快处理速度。
多语言批次

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

{
    "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不是两者兼而有之

同步处理 : 批发要求立即返回 job_id. 扑球 GET /api/v1/jobs/{job_id}/ 直到 status"completed",后读为 result_data 用于翻译。使用 progress_percentage 跟踪进展情况。

文件翻译

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

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 翻译文件
  • .jpg / .jpeg - JPEG 图像( OCR)
  • .png - PNG 图像( OCR)
  • .tiff / .tif - TIFF 图像(OCR)
  • .bmp - BMP 图像( OCR)
  • .webp - WebP 图像( OCR)
OCR 支持: 图像文件和扫描的PDF用光学字符识别(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"
与 OCR 一起处理图像文件,以便在翻译前提取文本。 .txt 文件。
响应
{
    "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"
}
状况价值
pending 文件已上传, 等待处理
processing 翻译中
completed 翻译完成,可下载
failed 翻译失败( 检查错误(_Message)
GET https://api.translateapi.ai/api/v1/translate/document/{id}/

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

响应
{
    "id": 123,
    "original_filename": "document.docx",
    "status": "completed",
    "translated_file_url": "/media/translated/document_es.docx",
    "character_count": 5420
}

语言检测

每一份翻译请求中都包含语言探测。 设置 source_language to "auto" (或省略)并在答复中返回所检测到的语言。

POST https://api.translateapi.ai/api/v1/translate/
请求机构
{
    "text": "Bonjour, comment allez-vous?",
    "target_language": "en"
}
响应
{
    "translated_text": "Hello, how are you?",
    "source_language": "fr",
    "target_language": "en",
    "translations": {
        "en": "Hello, how are you?"
    },
    "character_count": 28,
    "translation_time": 0.52
}

缩略 source_language 在响应的字段中,显示在使用自动检测时所检测到的语言。

辅助语言

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

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"},
        ...
    ]
}

翻译模型

我们使用在自己的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 成功成功
400 错误请求 - 无效参数
401 未授权 - 无效或丢失 API 密钥
402 所需付款 -- -- 超过每日性格配额
429 请求过多 -- -- 利率超过限额
503 未可用服务 - 临时关闭翻译引擎
错误反应格式
{
    "error": "daily_limit_exceeded",
    "credits_remaining": 0,
    "daily_limit": 100000
}

限制利率

限制因计划而异。 定价定价 详细细节 :

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

当你超过极限时,你会得到 429 Too Many Requests 回复到下个月或升级 。

Auto-Scaling Cloud Infrastructure

TranslateAPI runs on dedicated NVIDIA A100 GPU instances with automatic horizontal scaling. When demand increases, additional GPU instances are launched within minutes to maintain fast response times. This means our API can handle virtually unlimited concurrent requests without degradation — from a single request to thousands per minute.

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