Google 翻訳 API の使用チュートリアル

自動翻訳作業に API を使用する必要がある場合は、Google 翻訳 API が優れた選択肢です。DeepL と比較して翻訳品質はやや劣る可能性がありますが、特に毎月 50 万文字の無料枠があるため、コストパフォーマンスが優れています。

製品紹介

Google 翻訳は皆さんご存知だと思いますが、ここではその API サービスである Google Cloud Translation について紹介します。API を通じて、一括翻訳、カスタム翻訳モデルの作成、ドキュメント翻訳などの機能を実現できます。

製品紹介

料金

毎月 50 万文字の無料枠があり、それを超える部分は文字数に応じて課金されます。

価格表

標準版と上級版の違い

機能 標準版 上級版
無料枠 50 万文字/月 50 万文字/月
100 万文字あたり 20 ドル 80 ドル
ドキュメント翻訳 0.08 ドル/ページ 0.25 ドル/ページ
カスタム翻訳

使用開始

プロジェクトの作成または選択

  • API の有効化。課金機能が有効化されていない場合は、課金アカウントの追加を促すメッセージが表示されます。外貨対応クレジットカードが必要です

有効化

API の有効化

    $cred = gcloud auth print-access-token
    $project_id = "example"
    $headers = @{ "Authorization" = "Bearer $cred" }
    Invoke-WebRequest `
        -Method GET `
        -Headers $headers `
        -Uri "https://cloudresourcemanager.googleapis.com/v3/projects/${project_id}" | Select-Object -Expand Content
  • 試用
    $cred = gcloud auth print-access-token
    $project_id = "example"
    $body = @{
        "sourceLanguageCode" = "en"
        "targetLanguageCode" = "zh"
        "contents" = @("Hello, world!")
        "mimeType" = "text/plain"
    }
    $body = $body | ConvertTo-Json
    $headers = @{
        "Authorization" = "Bearer $cred"
        "Content-Type" = "application/json; charset=utf-8"
        "x-goog-user-project" = $project_id
    }
    Invoke-WebRequest `
        -Method POST `
        -Headers $headers `
        -Uri "https://translation.googleapis.com/v3/projects/${project_id}:translateText" `
        -Body $body | Select-Object -Expand Content

実行成功

Linux では curl コマンドを使用

    export CRED=$(gcloud auth print-access-token)
    export PROJECT_ID="example"
    export SOURCE_LANGUAGE_CODE="en"
    export TARGET_LANGUAGE_CODE="zh"
    export CONTENTS="Hello, world!"
    export MIME_TYPE="text/plain"
    curl -X POST -H "Authorization: Bearer $CRED" -H "Content-Type: application/json; charset=utf-8" -H "x-goog-user-project: $PROJECT_ID" -d "{
        \"sourceLanguageCode\": \"$SOURCE_LANGUAGE_CODE\",
        \"targetLanguageCode\": \"$TARGET_LANGUAGE_CODE\",
        \"contents\": [\"$CONTENTS\"],
        \"mimeType\": \"$MIME_TYPE\"
    }" "https://translation.googleapis.com/v3/projects/$PROJECT_ID:translateText"

以上で、Google 翻訳 API を使用して一括翻訳を行うことができるようになりました。

用途例

  • ウェブサイトやアプリの翻訳
  • カスタム翻訳モデルのトレーニング
  • 動画への多言語字幕追加
  • 動画への多言語音声追加
  • 書式付きドキュメントの翻訳
  • 顧客とのリアルタイム翻訳

参考リンク

まとめ

Google 翻訳の公式ドキュメントは長く、同じ機能を実現する方法が複数存在し、認証と呼び出し手順にも複数の方法があります。本文では一般ユーザーに最も推奨され、最もシンプルな使用方法を選びましたので、参考にしてください。

  • 認証方法はローカル認証(gcloud CLI) を選択
  • 使用方法は REST API (Curl/Invoke-WebRequest) を選択
  • 標準版と上級版は上級版を選択

これはblog.jqknono.devで発表されたオリジナル記事です。許可なく転載することはできません