無料のGoogleAPIで翻訳を試す
[質問]
無料のサービスで試してみたいです
[回答] Gemini
完全に無料で、かつ精度の高い翻訳(およびファイル名生成)を行いたい場合、2026年現在最もおすすめなのは Google Gemini API です。
OpenAIと違い、Gemini APIには「無料枠(Free of charge)」が明確に用意されており、クレジットカードの登録なしでも使い始めることができます。
1. Google Gemini API を選ぶ理由
- 完全無料: 1分間に数回程度の利用(短文の翻訳など)であれば、ずっと無料で使えます。
- 日本語に強い: Googleの最新モデルなので、日本語のニュアンスを汲み取った英訳が得意です。
- APIキー取得が簡単: Googleアカウントがあれば数クリックで発行できます。
2. APIキーの取得手順
- Google AI Studio にアクセスします。
- Googleアカウントでログインします。
- 左上の [Get API key] をクリックします。
- [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の知識はたぶん古いんだよ。 なので各所で情報を集めて、ちゃんと動くようにした最新版のコードを次に貼る。
↓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円ぐらい。