查看原文
其他

如何调用Deepl API

四译馆 Deepl翻译服务 2024-05-17

本文教大家如何调用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!"

翻译文本主要的参数有如下:

参数
位置
类型
说明
text
必须
body
array

仅支持 UTF-8 编码的纯文本。该参数可指定多次,翻译结果将按请求的顺序返回。每个参数值可包含多个句子。

source_lang

源语言,非必须

body
string
BG - Bulgarian
CS - Czech
DA - Danish
DE - German
EL - Greek
EN - English
ES - Spanish
ET - Estonian
FI - Finnish
FR - French
HU - Hungarian
ID - Indonesian
IT - Italian
JA - Japanese
KO - Korean
LT - Lithuanian
LV - Latvian
NB - Norwegian (Bokmål)
NL - Dutch
PL - Polish
PT - Portuguese (all Portuguese varieties mixed)
RO - Romanian
RU - Russian
SK - Slovak
SL - Slovenian
SV - Swedish
TR - Turkish
UK - Ukrainian
ZH - Chinese
如果没有这个参数,那么API会自动检测源语言

target_lang

目标语言,必须

body
string
BG - Bulgarian
CS - Czech
DA - Danish
DE - German
EL - Greek
EN - English (unspecified variant for backward compatibility; please select EN-GB or EN-US instead)
EN-GB - English (British)
EN-US - English (American)
ES - Spanish
ET - Estonian
FI - Finnish
FR - French
HU - Hungarian
ID - Indonesian
IT - Italian
JA - Japanese
KO - Korean
LT - Lithuanian
LV - Latvian
NB - Norwegian (Bokmål)
NL - Dutch
PL - Polish
PT - 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 - Romanian
RU - Russian
SK - Slovak
SL - Slovenian
SV - Swedish
TR - Turkish
UK - Ukrainian
ZH - 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

继续滑动看下一个
向上滑动看下一个

您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存