目錄
一、百度翻譯API
二、騰訊翻譯API
一、百度翻譯API
百度翻譯API接口免費翻譯額度:標準版(5萬字符免費/每月)、高級版(100萬字符免費/每月-需個人認證,基本都能通過)、尊享版(200萬字符免費/每月-需企業認證,門檻高);
超出免費額度價格:49元/百萬字符;
官方介紹:百度翻譯開放平臺http://api.fanyi.baidu.com/product/111
代碼調用測試:
import hashlib
import requests
import time# 百度翻譯API配置信息
APP_ID = '20240624002084131'
SECRET_KEY = '467YvIvdT4SgJKnu80i9'# 定義百度翻譯函數
def translate_to_chinese(text):url = "http://api.fanyi.baidu.com/api/trans/vip/translate"salt = str(time.time())sign = hashlib.md5((APP_ID + text + salt + SECRET_KEY).encode('utf-8')).hexdigest()params = {'q': text,'from': 'en','to': 'zh','appid': APP_ID,'salt': salt,'sign': sign}response = requests.get(url, params=params)result = response.json()# 添加錯誤處理和日志記錄if 'trans_result' in result:return result['trans_result'][0]['dst']else:# 打印錯誤信息和完整的API響應print(f"翻譯API響應錯誤: {result}")return text # 如果翻譯失敗,返回原文# 測試翻譯功能
test_text = "Hello, this is a test."
translated_text = translate_to_chinese(test_text)
print(f"原文: {test_text}")
print(f"翻譯結果: {translated_text}")
申請流程:
(1):打開百度翻譯開放平臺https://api.fanyi.baidu.com,點擊開發者信息;
(2):首先注冊開發者,然后您將可以在注冊成功提示信息處看到“開通服務”的入口。另外,您也可隨時前往【管理控制臺】→ 【總覽】處開通服務。開通服務時,請選擇“通用翻譯API”。
(3):開通之后點擊開發者信息即可看到APP ID和密鑰。
二、騰訊翻譯API
騰訊翻譯API接口免費翻譯額度:500萬字符免費/每月;
超出免費額度價格:58元/百萬字符,有字符資源包出售;
官方介紹:機器翻譯 計費概述-購買指南-文檔中心-騰訊云https://cloud.tencent.com/document/product/551/35017
查看接口調用詳情:自動翻譯 - 機器翻譯 - 控制臺 (tencent.com)
代碼調用測試:
import requests
import time
import hashlib
import hmac
import json# 騰訊翻譯API配置信息
SECRET_ID = 'YOUR_SECRET_ID '
SECRET_KEY = 'YOUR_SECRET_KEY '
REGION = 'ap-guangzhou'
ENDPOINT = 'tmt.tencentcloudapi.com'
SERVICE = 'tmt'
VERSION = '2018-03-21'
ACTION = 'TextTranslate'def sign_request(secret_id, secret_key, method, endpoint, uri, params):timestamp = int(time.time())date = time.strftime('%Y-%m-%d', time.gmtime(timestamp))# 1. Build Canonical Request Stringhttp_request_method = methodcanonical_uri = uricanonical_querystring = ''canonical_headers = f'content-type:application/json\nhost:{endpoint}\n'signed_headers = 'content-type;host'payload_hash = hashlib.sha256(json.dumps(params).encode('utf-8')).hexdigest()canonical_request = (http_request_method + '\n' + canonical_uri + '\n' + canonical_querystring + '\n' + canonical_headers + '\n' + signed_headers + '\n' + payload_hash)# 2. Build String to Signalgorithm = 'TC3-HMAC-SHA256'credential_scope = f"{date}/{SERVICE}/tc3_request"string_to_sign = (algorithm + '\n' + str(timestamp) + '\n' + credential_scope + '\n' + hashlib.sha256(canonical_request.encode('utf-8')).hexdigest())# 3. Sign Stringdef sign(key, msg):return hmac.new(key, msg.encode('utf-8'), hashlib.sha256).digest()secret_date = sign(('TC3' + secret_key).encode('utf-8'), date)secret_service = sign(secret_date, SERVICE)secret_signing = sign(secret_service, 'tc3_request')signature = hmac.new(secret_signing, string_to_sign.encode('utf-8'), hashlib.sha256).hexdigest()# 4. Build Authorization Headerauthorization = (f"{algorithm} "f"Credential={secret_id}/{credential_scope}, "f"SignedHeaders={signed_headers}, "f"Signature={signature}")return authorization, timestampdef translate_to_chinese(text):params = {"SourceText": text,"Source": "en","Target": "zh","ProjectId": 0}method = 'POST'uri = '/'authorization, timestamp = sign_request(SECRET_ID, SECRET_KEY, method, ENDPOINT, uri, params)headers = {'Content-Type': 'application/json','Host': ENDPOINT,'X-TC-Action': ACTION,'X-TC-Timestamp': str(timestamp),'X-TC-Version': VERSION,'X-TC-Region': REGION,'Authorization': authorization}response = requests.post(f'https://{ENDPOINT}{uri}', headers=headers, data=json.dumps(params))result = response.json()if 'Response' in result and 'TargetText' in result['Response']:return result['Response']['TargetText']else:print(f"翻譯API響應錯誤: {result}")return text # 如果翻譯失敗,返回原文# 測試翻譯功能
text_to_translate = "Hello, how are you?"
translated_text = translate_to_chinese(text_to_translate)
print(f"原文: {text_to_translate}")
print(f"譯文: {translated_text}")
申請流程:
(1)打開如下鏈接:https://cloud.tencent.com/
(2)登錄后,?在左上“產品”中搜索“機器翻譯”并進入
(3)點擊立即使用(可能需要實名認證)
(4)點擊“開通付費版”(和百度翻譯一樣,月使用小于100萬次,不會扣費)
(5)在右上角,選擇“項目管理”
?(6)在左邊選擇“訪問管理”,在“訪問密鑰”選擇“API密鑰管理”
?(7)選擇“繼續使用”,選擇“新建密鑰”,獲取到SecretId和SecretKey,填入萌譯的“API配置”中即可。