Contents
DeepL API導入の前準備とアカウント登録手順
DeepL APIを活用するには、まず公式サイトでアカウントを作成し、APIキーを取得する必要があります。無料プランでは制限がありますが、ビジネス目的であればProプランの選定も検討しましょう。
DeepL公式サイトへのアクセス方法
DeepL公式サイト(https://www.deepl.com/)にアクセスし、「開発者向け」タブを選択します。 サインアップページでメールアドレスとパスワードを入力し、確認コードを受け取る手順を踏みます。会社名や所属部署の記載は任意ですが、ビジネス利用時は必須項目として入力しておくと良いでしょう。
無料プラン・有料プランの選定基準
無料版では月間2,000ワードの翻訳制限があり、Proプラン(Pro Unlimited)なら5,000,000ワードまで対応します。また、ファイルサイズは無料版で10MB以下、Pro版で20MB以下の制限があります。
- 個人利用や小規模プロジェクト: 無料版が十分な場合が多いです。
- 企業向けの大規模翻訳作業: Proプランの定額制モデル(年間契約)がコスト効率に優れています。
注意:APIキーは厳重に管理し、ソースコードや公開リポジトリに記載しないようにしてください。シークレットマネージャーなどのセキュリティツールを活用しましょう。
APIエンドポイント構文と基本的なパラメータ設定
DeepL APIの翻訳リクエストはHTTP POSTメソッドで送信されます。言語コードやテキスト形式の指定方法を理解しておけば、柔軟な導入が可能です。
GET/POSTメソッドの選択基準
GETメソッドはテスト目的に、本番環境ではPOSTメソッドを使用します。
- GET:
https://api.deepl.com/v2/translate?text=Hello&target_lang=JA - POST: リクエストボディにJSON形式でテキストとパラメータを記載。
クライアントライブラリ導入方法
DeepLは公式のPython、JavaScript、Javaなどのクライアントライブラリを提供しています。pip install python-deeplやnpm経由での導入が可能です。以下はPythonの例です:
|
1 2 3 4 5 6 |
from deepl import Translator translator = Translator("YOUR_API_KEY") translated = translator.translate_text("Hello, world!", target_lang="JA") print(translated) |
補足: 言語コードの一覧(
JA,EN-US,DEなど)はDeepLの公式ドキュメントで確認してください。
| パラメータ | 例 | 説明 |
|---|---|---|
text |
"Good morning" |
翻訳対象のテキスト |
target_lang |
"JA" |
目標言語コード(日本語) |
formality |
"more" |
丁寧な表現を求める場合 |
ファイル翻訳機能の実装方法
PDFやDOCXなどのファイルを直接翻訳できる機能は、大量データ処理にも対応可能です。multipart/form-data形式での送信手順に注意してください。
ドキュメント形式別の処理手順
サポートされる形式: PDF, DOCX, XLSX, TXT, PPTX(圧縮ファイルは展開してから処理)
- PDF: 本文のテキスト部分のみ翻訳し、画像やフォントは変更されません。
- DOCX/XLSX: テーブルやセル内のデータを個別に処理します。
大容量ファイル対応戦略
無料版では10MB以下のファイルのみ対応します。大規模なファイルは分割して送信するか、Proプランへアップグレードしましょう。以下はPythonでのmultipart形式のサンプルコードです:
|
1 2 3 4 5 6 7 8 9 10 11 |
import requests url = "https://api.deepl.com/v2/document" headers = {"Authorization": "DeepL-Auth-Key YOUR_API_KEY", "Content-Type": "multipart/form-data"} data = { "file": open("sample.docx", "rb"), "target_lang": "JA" } response = requests.post(url, files=data) print(response.json()) |
注意: ファイルサイズが大きい場合、アップロードに時間がかかることがあります。リトライロジックを実装しておくことを推奨します。
用語集連携による翻訳精度向上手法
業界固有の専門用語や企業独自の表現をカスタム辞書として登録することで、翻訳精度が格段に向上します。DBとAPIとの連携方法も解説します。
カスタム辞書の作成手順
- DeepLアカウントの「用語集」セクションを開く
**英語→日本語**のペアで専門用語を登録(例:"Term A" → "Term B")- 辞書IDを取得し、APIリクエスト時に指定
APIパラメータでの指定方法
カスタム辞書を活用するには、tag_handling="html", glossary_id="G123456"などのパラメータを追加します。以下はHTMLタグ付きの翻訳例です:
|
1 2 3 4 5 6 |
{ "text": "<strong>Term A</strong> technology is advancing rapidly.", "target_lang": "JA", "tag_handling": "html" } |
補足: 用語集は最大50,000語まで登録可能で、ビジネス文書や技術資料の翻訳に最適です。
エラー処理とステータスコード対応
APIリクエスト時に発生するエラーコードを適切にハンドリングすることで、システムの信頼性が向上します。代表的なエラーケースと対処法を紹介します。
HTTPステータスコード一覧
| ステータスコード | 原因 | 対応策 |
|---|---|---|
403 Forbidden |
APIキーが無効 or 使用枠を超えた | キーの再生成 or プランの見直し |
503 Service Unavailable |
DeepL側のサーバーエラー | 1分後にリトライ(指数関数的バックオフ) |
422 Unprocessable Entity |
不正なパラメータ値 | リクエスト内容を再確認 |
リトライロジック設計例
以下はPythonでの簡易的なリトライ処理です:
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 |
import time def translate_with_retry(text, target_lang): max_retries = 3 delay = 1 for i in range(max_retries): try: return translator.translate_text(text, target_lang) except Exception as e: if i < max_retries - 1: time.sleep(delay * (2 ** i)) else: raise e |
注意: 過剰なリトライはAPIの使用制限に影響を与えるため、上限を設定してください。
DeepL APIの料金体系と導入検討ポイント
無料版では十分な場合もありますが、企業規模に応じてProプランの導入も検討しましょう。月額定額制と課金単位別の比較表をご覧ください。
無料版の制限事項
- 翻訳上限: 2,000ワード/月(最大18ページ)
- ファイルサイズ: 10MB未満のみ対応
- API呼び出し頻度: 高負荷時に制限あり
Proプランの課金単位とスケーリング戦略
| プラン種別 | 利用可能ワード数 | 月額費用(税抜) | 対象企業規模 |
|---|---|---|---|
| Pro Unlimited | 5,000,000ワード | 8,000円 | 中小規模〜大規模法人 |
| Customプラン | 利用制限なし | 要問い合わせ | ファイナンシャル機関 etc. |
導入時のポイント: 大規模な翻訳作業は「定額制」がコスト効率に優れ、頻繁なAPI呼び出しを想定する場合はProプランが最適です。