如何调用Deepl API
本文教大家如何调用Deepl 翻译API。首先需要注册一个账号,注册和获取API参考这篇文章 Deepl翻译大更新!连更三天(第二天)。
内容比较多,末尾有福利。
为了适配市面上的所有软件/插件,我们的接口规范和官方保持一致。官方api pro订阅的接口为api.deepl.com,api free订阅的接口为api-free.deepl.com,我们的api订阅接口为api.deepl-pro.com。如果您之前会调用deepl翻译,那么直接换下接口地址即可,其他完全一样。下面举例中把 [yourAuthKey]替换为你自己的API。
我们接口的Body支持 application/x-www-form-urlencoded 和application/json 两种类型,推荐使用前者。返回的格式是均是json类型。以curl和python方式举例(单次请求正文的总大小不得超过 128 KiB(128 - 1024 字节,大约12.8w字符量,如果超过此限制,请将文本分成多次调用。)
文本翻译
curl方式翻译一个片段
POST /v2/translate
content-type: application/x-www-form-urlencoded
示例请求
curl -X POST 'https://api.deepl-pro.com/v2/translate' \
--header 'Authorization: DeepL-Auth-Key [yourAuthKey]' \
--data-urlencode 'text=Hello, world!' \
--data-urlencode 'target_lang=DE'
示例响应
{
"translations": [
{
"detected_source_language": "EN",
"text": "Hallo, Welt!"
}
]
}
curl方式翻译多个片段
POST /v2/translate
content-type: application/x-www-form-urlencoded
示例请求
curl -X POST 'https://api.deepl-pro.com/v2/translate' \
--header 'Authorization: DeepL-Auth-Key [yourAuthKey]' \
--data-urlencode 'text=This is the first sentence.' \
--data-urlencode 'text=This is the second sentence.' \
--data-urlencode 'text=This is the third sentence.' \
--data-urlencode 'target_lang=DE'
示例响应
{
"translations": [
{
"detected_source_language": "EN",
"text": "Das ist der erste Satz."
},
{
"detected_source_language": "EN",
"text": "Das ist der zweite Satz."
},
{
"detected_source_language": "EN",
"text": "Dies ist der dritte Satz."
}
]
}
python方式翻译一个片段
import deepl
auth_key = "此处填写API"
server_url = "https://api.deepl-pro.com"
translator = deepl.Translator(auth_key, server_url=server_url)
result = translator.translate_text("Hello & world!", target_lang="DE")
print(result.text) # "Hallo & Welt!"
python方式翻译多个片段
import deepl
auth_key = "此处填写API"
server_url = "https://api.deepl-pro.com"
translator = deepl.Translator(auth_key, server_url=server_url)
result = translator.translate_text(["Hello", "world!"], target_lang="DE")
print(result[0].text) # "Hallo"
print(result[1].text) # "Welt!"
翻译文本主要的参数有如下:
参数 | 位置 | 类型 | 说明 |
body | array | 仅支持 UTF-8 编码的纯文本。该参数可指定多次,翻译结果将按请求的顺序返回。每个参数值可包含多个句子。 | |
source_lang 源语言,非必须 | body | string | BG - BulgarianCS - CzechDA - DanishDE - GermanEL - GreekEN - EnglishES - SpanishET - EstonianFI - FinnishFR - FrenchHU - HungarianID - IndonesianIT - ItalianJA - JapaneseKO - KoreanLT - LithuanianLV - LatvianNB - Norwegian (Bokmål)NL - DutchPL - PolishPT - Portuguese (all Portuguese varieties mixed)RO - RomanianRU - RussianSK - SlovakSL - SlovenianSV - SwedishTR - TurkishUK - UkrainianZH - Chinese |
target_lang 目标语言,必须 | body | string | BG - BulgarianCS - CzechDA - DanishDE - GermanEL - GreekEN - English (unspecified variant for backward compatibility; please select EN-GB or EN-US instead)EN-GB - English (British)EN-US - English (American)ES - SpanishET - EstonianFI - FinnishFR - FrenchHU - HungarianID - IndonesianIT - ItalianJA - JapaneseKO - KoreanLT - LithuanianLV - LatvianNB - Norwegian (Bokmål)NL - DutchPL - PolishPT - Portuguese (unspecified variant for backward compatibility; please select PT-BR or PT-PT instead)PT-BR - Portuguese (Brazilian)PT-PT - Portuguese (all Portuguese varieties excluding Brazilian Portuguese)RO - RomanianRU - RussianSK - SlovakSL - SlovenianSV - SwedishTR - TurkishUK - UkrainianZH - Chinese (simplified) |
formality 翻译语气 可选 | body | string | DE (德语)、 FR (法语)、 IT (意大利语)、 ES (西班牙语)、 NL (荷兰语)、 PL (波兰语)、 PT-BR 和 PT-PT (葡萄牙语)、 JA (日语) 和 RU (俄语)。在不支持正式性的目标语言中设置该参数将失败,除非使用了 prefer_... 选项之一。可能的选项有default (默认值)more - 更正式的语气less - 更非正式的语言prefer_more - 如果有更正式的语言,则使用更正式的语言,否则返回默认正式语言prefer_less - 如果可用,则使用更非正式的语言,否则返回默认正式语言 |
当然,还有很多参数,这里不一一列举,具体可以看官方文档。
查询使用量
您可以通过接口查询您使用了多少字符量,还剩多少字符量,以及通过推荐给他人获得了多少字符量。以下以curl举例
查询使用量和剩余量(剩余量等于套餐+字符包+推荐获得)
GET /v2/usage
示例请求
curl -X GET 'https://api.deepl-pro.com/v2/usage' \
--header 'Authorization: DeepL-Auth-Key [yourAuthKey]'
示例结果
{
"character_count": 180118,
"character_limit": 1250000
}
查询推荐获得字符量
GET /v2/referral_usage
示例请求
curl -X GET 'https://api.deepl-pro.com/v2/referral_usage' \
--header 'Authorization: DeepL-Auth-Key [yourAuthKey]'
示例结果
{
"referral_limit": 200000
}
价格
我们会先在淘宝上架售卖,然后会在网站开通购买功能,如果需要开发票请联系客服。
福利
1、针对一般开发者,只需要提供您GitHub/Gitee主页截图,就可以每月免费获得50w字符量,一年有效。在公众号里回复截图或者联系微信客服(Deepl_Pro)均可以,核验后会给您发放兑换码。
2、针对拥有自己个人公共项目的开发者,您可以与我们联系,我们将评估您GitHub上的项目,额外免费赠送您对应的额度,每月最高不超过5000w,半年有效。
3、针对教育优惠,提供有效的支付宝学生认证或者学生/教师证截图,就可以每月免费获得50w字符量,一年有效。在公众号里回复截图或者联系微信客服(Deepl_Pro)均可以,核验后会给您发放兑换码。
联系方式:微信:Deepl_Pro 邮箱:support@deepl-pro.com