コンテンツにスキップ

無料のGoogleAPIで翻訳を試す

[質問]

<<前の質問から続き

無料のサービスで試してみたいです

[回答] Gemini

完全に無料で、かつ精度の高い翻訳(およびファイル名生成)を行いたい場合、2026年現在最もおすすめなのは Google Gemini API です。

OpenAIと違い、Gemini APIには「無料枠(Free of charge)」が明確に用意されており、クレジットカードの登録なしでも使い始めることができます。


1. Google Gemini API を選ぶ理由

  • 完全無料: 1分間に数回程度の利用(短文の翻訳など)であれば、ずっと無料で使えます。
  • 日本語に強い: Googleの最新モデルなので、日本語のニュアンスを汲み取った英訳が得意です。
  • APIキー取得が簡単: Googleアカウントがあれば数クリックで発行できます。

2. APIキーの取得手順

  1. Google AI Studio にアクセスします。
  2. Googleアカウントでログインします。
  3. 左上の [Get API key] をクリックします。
  4. [Create API key] を押して、表示されたキーをコピーして保存します。

3. Pythonでの実装コード

まずはライブラリをインストールします。 pip install -U google-generativeai

次に、以下のコードで「日本語タイトル → ファイル名」の変換が可能です。

import google.generativeai as genai
import re

# 取得したAPIキーを設定
genai.configure(api_key="YOUR_GEMINI_API_KEY")

def generate_filename_with_gemini(ja_title):
    model = genai.GenerativeModel('gemini-1.5-flash')

    # プロンプト(AIへの指示)
    prompt = f"""
    Translate the following Japanese article title into a concise English phrase 
    suitable for a web filename (URL slug). 
    Return ONLY the English phrase in lowercase with spaces.

    Title: {ja_title}
    """

    # AIで翻訳
    response = model.generate_content(prompt)
    english_text = response.text.strip().lower()

    # ファイル名として使えない文字を除去し、ハイフンで繋ぐ整形処理
    # 英数字以外を消去
    clean_text = re.sub(r'[^a-z0-9\s-]', '', english_text)
    # 空白をハイフンに置換
    filename = re.sub(r'\s+', '-', clean_text).strip('-')

    return f"{filename}.html"

# 実行例
title = "初心者でも簡単!Pythonで自動化を始める方法"
print(generate_filename_with_gemini(title))
# 出力例: how-to-start-automation-with-python-for-beginners.html

この方法のメリット

  • お金がかからない: 1分間に15リクエスト、1日に1,500リクエストまで無料です(※2026年時点の無料枠プランに準ずる)。
  • 柔軟: 「もっと短くして」「技術用語はそのままで」といった指示もプロンプトに書き足すだけで調整できます。

もし、このPythonコードを実際のWeb画面(HTML)と連携させる方法(Flaskなどのサーバー側処理)について具体的に知りたい場合は、続けてお伝えできます。次はそちらを解説しましょうか?

[管理者注] 修正版

上のコード全然違ってたぞ!というか古い。 Geminiの知識はたぶん古いんだよ。 なので各所で情報を集めて、ちゃんと動くようにした最新版のコードを次に貼る。

pip install google.genai
import os
import re

from google import genai

client = genai.Client(api_key=os.environ.get("GEMINI_API_KEY"))

def generate_filename_with_gemini(ja_title):
    prompt = f"""
        <instruction>
            Translate the following Japanese article title into a concise English phrase 
            suitable for a web filename (URL slug). 
            Return ONLY the English phrase in lowercase with spaces.
        </instruction>
        <japanese_title>
            {ja_title}
        </japanese_title>
    """

    response = client.models.generate_content(
        model='gemini-2.5-flash',
        contents=prompt
    )

    clean_text = re.sub(r'[^a-z0-9\s-]', '', response.text.lower())
    filename = re.sub(r'\s+', '-', clean_text).strip('-')

    return filename


if __name__ == "__main__":
    try:
        ja_title = "初心者でも簡単!Pythonで自動化を始める方法"
        eng_name = generate_filename_with_gemini(ja_title)
        print(f"ja: {ja_title}")
        print(f"en: {eng_name}")

    except genai.errors.ClientError as e:
        if "429" in str(e):
            print("ERROR: 制限に達しました。1分ほど待機してください")
        else:
            print(e)

Googleの無料アカウントでGemini API キーを作って遊んでいたけど すぐに利用回数の上限になる。 もう課金しようかな……月500円ぐらい。