DeepL API 接入指南:将顶级翻译能力集成到你的应用
在这个全球化连接日益紧密的世界里,跨语言沟通已成为许多应用程序不可或缺的功能。无论是社交媒体、电子商务网站、客户支持工具还是内部协作平台,提供高质量的即时翻译都能极大地提升用户体验。DeepL 以其卓越的翻译质量和自然流畅的语言风格,成为了机器翻译领域的佼佼者。
通过 DeepL API,开发者可以轻松地将这种顶级的翻译能力集成到自己的应用程序或服务中。本指南将详细介绍从获取 API 密钥到发起翻译请求,再到处理响应的全过程,帮助你快速上手。
核心优势
- 卓越的翻译质量:DeepL 的翻译结果通常比其他主流翻译服务更准确、更自然,尤其擅长处理长句和复杂的语境。
- 支持多种语言:覆盖全球多种主流语言,并且在不断增加中。
- 灵活的 API 套餐:提供免费和付费(Pro)两种模式,满足不同规模应用的需求。
- 简单易用的接口:API 设计简洁,基于标准的 RESTful 架构,易于集成。
第一步:获取你的 DeepL API 密钥
要使用 DeepL API,你首先需要一个认证密钥(Authentication Key)。
- 访问 DeepL 官网:前往 DeepL Pro 页面。
- 选择 API 套餐:
- DeepL API Free:免费套餐,每月提供最多 50 万字符的翻译额度,非常适合开发、测试或小型项目。
- DeepL API Pro:付费套餐,提供更高的字符额度、无限并发请求以及更高的安全性保障,适合商业级应用。
- 注册账户并获取密钥:根据所选套餐完成注册流程。登录后,在你的账户管理页面中,你会找到一个唯一的 “Authentication Key for DeepL API”。这个密钥是访问 API 的唯一凭证,请妥善保管,不要泄露。

第二步:了解 API 端点和主要参数
DeepL API 的主要功能都通过几个核心端点提供。最常用的是 /v2/translate。
API 端点
根据你的 API 套餐,选择对应的 API 端点 URL:
- 免费套餐:
https://api-free.deepl.com/v2/translate - 付费套餐 (Pro):
https://api.deepl.com/v2/translate
主要请求参数
向 /v2/translate 端点发送请求时,你需要提供以下参数:
| 参数名 | 类型 | 是否必需 | 描述 |
|---|---|---|---|
auth_key |
string | 是 | 你的个人认证密钥。 |
text |
string/array | 是 | 你想要翻译的文本。可以是一个字符串,也可以是一个字符串数组(用于一次翻译多段文本)。 |
target_lang |
string | 是 | 目标语言代码,例如 'DE' (德语), 'EN-US' (美式英语), 'ZH' (中文)。 |
source_lang |
string | 否 | 源语言代码。如果留空,DeepL 会自动检测源语言。 |
formality |
string | 否 | 控制翻译的正式程度。可选值为 'default' (默认), 'more' (更正式), 'less' (更非正式)。并非所有语言都支持。 |
split_sentences |
string | 否 | 设置句子拆分方式。默认为 '1',即根据标点和换行符拆分。'0' 表示不拆分。 |
第三步:发送你的第一个翻译请求
你可以使用任何支持 HTTP 请求的工具或编程语言来调用 API。下面我们以 cURL 和 Python 为例进行演示。
使用 cURL
打开你的终端,将下面的 YOUR_AUTH_KEY 替换成你自己的 API 密钥,然后执行命令:
bash
curl -X POST "https://api-free.deepl.com/v2/translate" \
-H "Authorization: DeepL-Auth-Key YOUR_AUTH_KEY" \
-d "text=Hello, world!" \
-d "target_lang=ZH"
说明:
* 我们使用 POST 方法。
* 认证密钥通过 Authorization 请求头传递,格式为 DeepL-Auth-Key YOUR_AUTH_KEY。这比将密钥放在 URL 参数中更安全。
* text 和 target_lang 作为表单数据(form data)发送。
响应格式
如果请求成功,你将收到一个 JSON 格式的响应,如下所示:
json
{
"translations": [
{
"detected_source_language": "EN",
"text": "你好,世界!"
}
]
}
translations是一个数组,因为你可以一次性请求翻译多个文本。detected_source_language是 DeepL 自动检测到的源语言。text是翻译后的结果。
第四步:在 Python 应用中集成
在实际项目中,我们通常会使用编程语言来与 API 交互。Python 的 requests 库是处理 HTTP 请求的理想选择。
首先,确保你已经安装了 requests 库:
pip install requests
然后,你可以创建一个简单的函数来调用 DeepL API:
“`python
import requests
import json
def translate_text(text_to_translate, target_language):
“””
使用 DeepL API 翻译文本。
:param text_to_translate: 要翻译的字符串。
:param target_language: 目标语言代码 (例如 'ZH', 'EN', 'DE')。
:return: 翻译后的文本,如果失败则返回 None。
"""
api_key = "YOUR_AUTH_KEY" # 替换成你自己的 API 密钥
api_url = "https://api-free.deepl.com/v2/translate"
headers = {
"Authorization": f"DeepL-Auth-Key {api_key}"
}
data = {
"text": text_to_translate,
"target_lang": target_language
}
try:
response = requests.post(api_url, headers=headers, data=data)
response.raise_for_status() # 如果请求失败 (状态码非 2xx),则抛出异常
result = response.json()
translated_text = result['translations'][0]['text']
return translated_text
except requests.exceptions.RequestException as e:
print(f"请求失败: {e}")
return None
except KeyError:
print("解析响应失败,请检查返回的数据格式。")
return None
— 使用示例 —
if name == “main“:
text = “The quick brown fox jumps over the lazy dog.”
target_lang = “ZH”
translated_result = translate_text(text, target_lang)
if translated_result:
print(f"原文: {text}")
print(f"译文 ({target_lang}): {translated_result}")
“`
这个 Python 脚本封装了一个 translate_text 函数,它接受文本和目标语言作为输入,并返回翻译结果。它还包含了基本的错误处理,这在生产环境中至关重要。
第五步:管理 API 使用情况和处理错误
查看用量
你可以通过调用 /v2/usage 端点来检查你的 API 使用情况和剩余额度。
bash
curl -X POST "https://api-free.deepl.com/v2/usage" \
-H "Authorization: DeepL-Auth-Key YOUR_AUTH_KEY"
响应会告诉你已用字符数和总额度:
json
{
"character_count": 1801,
"character_limit": 500000
}
错误处理
在集成 API 时,必须正确处理可能出现的错误。DeepL API 使用标准的 HTTP 状态码来指示请求的结果:
200 OK: 请求成功。400 Bad Request: 请求参数有误,检查你的参数是否正确。403 Forbidden: 认证失败,请检查你的 API 密钥是否正确或是否已被禁用。429 Too Many Requests: 请求过于频繁。请降低你的请求速率。456 Quota Exceeded: 你已超出当月的免费字符额度。5xx Server Error: DeepL 服务器端出现问题,可以稍后重试。
在你的代码中,应该捕获这些异常并给用户适当的反馈。
结论
将 DeepL API 集成到你的应用程序中是一个简单而高效的过程。只需几步,你就可以利用其世界一流的翻译技术来打破语言障碍,触及更广泛的全球用户。无论是小型个人项目还是大型商业应用,DeepL 都提供了灵活且强大的解决方案。
现在,你已经掌握了接入 DeepL API 的所有关键知识。开始动手,为你的应用增添强大的多语言能力吧!