Gemini API入門:Google AIモデルをプログラムから活用する方法

テキスト・画像・音声・動画を一つのAPIで扱えるマルチモーダルの本命がGemini APIです。Google AIモデルをプログラムから活用する方法を解説します。

Gemini API入門:Google AIモデルをプログラムから活用する方法

AI初心者

AIを知りたい

Gemini APIはどうやって使い始めればいいですか?

AIエンジニア

AIエンジニア

Google AI StudioでAPIキーを取得し、HTTPリクエストまたは公式SDKで呼び出します。Python SDKなら「import google.generativeai as genai; genai.configure(api_key=”…”); model = genai.GenerativeModel(“gemini-2.5-pro”); response = model.generate_content(“Hello”)」で始められます。

AI初心者

AIを知りたい

無料で使えるんですか?

AIエンジニア

AIエンジニア

はい。Gemini APIには無料枠があり、個人開発レベルなら十分な量を無料で利用できます。Gemini 2.5 Flashは特に無料枠が広く設定されています。有料プランはGoogle Cloud経由のVertex AI APIで、エンタープライズ向けのSLAやセキュリティが付きます。

Gemini APIとは、Google DeepMindのGeminiモデルをプログラムから利用するためのAPIで、テキスト生成、マルチモーダル処理、関数呼び出しなどの機能を提供します。

Google AI Studio経由の無料APIと、Google Cloud Vertex AI経由のエンタープライズAPIの2つのアクセス方法があります。Python、JavaScript、Go、Dart等のSDKが提供されています。

主要機能

AI初心者

AIを知りたい

Gemini APIではどんなことができますか?

AIエンジニア

AIエンジニア

テキスト生成はもちろん、画像・動画・音声の入力(マルチモーダル)、Function Calling(外部API連携)、Code Execution(Python実行)、Grounding(Google検索との連携)、Context Caching(長文のキャッシュでコスト削減)など多彩な機能があります。

AI初心者

AIを知りたい

100万トークンのコンテキストって本当に使えますか?

AIエンジニア

AIエンジニア

はい。Gemini 2.5 Proは100万トークンのコンテキストウィンドウを持ち、数百ページのドキュメントや大規模なコードベースを一度に入力できます。書籍1冊丸ごとの要約や、リポジトリ全体の分析が1リクエストで可能です。これはClaude(20万)やGPT-4o(12.8万)を大幅に上回ります。

モデル コンテキスト 特徴 料金(入力/1M)
Gemini 2.5 Pro 100万 最高性能 $1.25
Gemini 2.5 Flash 100万 高速・低コスト $0.15
Gemini 2.0 Flash 100万 マルチモーダル特化 $0.10

Google AI StudioとVertex AI

AI初心者

AIを知りたい

Google AI StudioとVertex AIはどう違いますか?

AIエンジニア

AIエンジニア

Google AI Studioは個人・プロトタイプ向けで、無料枠があり気軽に始められます。Vertex AIはGoogle Cloud上のエンタープライズ向けで、SLA保証、VPC対応、データの地理的制御などが付きます。開発段階ではAI Studio、本番環境ではVertex AIという使い分けが一般的です。

まとめ

Gemini APIは100万トークンコンテキスト、無料枠、マルチモーダル対応の3つが大きな魅力です。Google AI Studioで無料で始められ、本番ではVertex AIに移行できます。Claude API、OpenAI APIと合わせて、用途に応じたAI APIの使い分けを検討しましょう。

関連記事

Google Gemini APIの基本操作:GenerativeModelによるテキスト生成とマルチモーダル入力

Google Gemini APIのPython SDKを使い、テキスト生成の基本操作からマルチモーダル(画像+テキスト)入力、ストリーミング応答までを実装します。


import google.generativeai as genai
import PIL.Image

# APIキーの設定
genai.configure(api_key="YOUR_API_KEY")

# ---- 基本的なテキスト生成 ----
model = genai.GenerativeModel("gemini-1.5-pro")

response = model.generate_content(
    "Pythonのデコレータの仕組みを3つの具体例で説明してください",
    generation_config=genai.GenerationConfig(
        temperature=0.7,
        max_output_tokens=2048,
        top_p=0.9,
    )
)
print("=== テキスト生成 ===")
print(response.text)

# ---- マルチモーダル入力(画像 + テキスト) ----
vision_model = genai.GenerativeModel("gemini-1.5-pro")

image = PIL.Image.open("architecture_diagram.png")
response_vision = vision_model.generate_content(
    [
        "この画像のシステム構成図を分析し、以下の観点で説明してください:n"
        "1. アーキテクチャパターンn"
        "2. コンポーネント間の通信方式n"
        "3. 改善提案",
        image
    ]
)
print("n=== マルチモーダル分析 ===")
print(response_vision.text)

# ---- ストリーミング応答 ----
print("n=== ストリーミング ===")
response_stream = model.generate_content(
    "機械学習のバイアス-バリアンストレードオフを説明してください",
    stream=True
)
for chunk in response_stream:
    print(chunk.text, end="", flush=True)
print()

# ---- チャット(マルチターン会話) ----
chat = model.start_chat(history=[])

r1 = chat.send_message("PythonとRustの違いを3つ挙げてください")
print(f"n=== チャット1 ===n{r1.text}")

r2 = chat.send_message("その中で最も重要な違いはどれですか?理由も教えてください")
print(f"n=== チャット2 ===n{r2.text}")

# トークン使用量の確認
print(f"n使用トークン: {response.usage_metadata}")

# 利用可能なモデル一覧
print("n=== 利用可能モデル ===")
for m in genai.list_models():
    if "generateContent" in m.supported_generation_methods:
        print(f"  {m.name}")

Gemini APIの特徴は3つあります。第一に、テキストと画像を同一のgenerate_contentメソッドでシームレスに扱えるマルチモーダル対応が標準で組み込まれている点です。第二に、start_chatで会話履歴を自動管理するチャットモードが用意されており、マルチターン会話の実装が簡潔になります。第三に、Gemini 1.5 Proは100万トークン超のコンテキストウィンドウを持ち、長大なドキュメントや動画の解析に対応できます。料金面ではGPT-4oやClaude Sonnetと比較して入力トークンが安価であるため、大量コンテキストを投入するユースケースでコスト優位性があります。