AIエージェント開発

Gemini API完全ガイド|PythonとFunction Calling

Gemini API完全ガイド|Python実装とFunction Calling

この記事の結論

Google Gemini APIの使い方を徹底解説。Python google-genaiでのテキスト生成・画像分析・Function Calling・ストリーミングまで、実装コード付きで紹介します。

Google Gemini APIは、テキスト・画像・動画・音声を統一的に処理できるマルチモーダルAI APIです。2026年3月時点でGemini 2.5 Proが最高性能モデルとして提供され、100万トークンの超ロングコンテキストとFunction Callingによるエージェント構築が可能です。本記事では、Python SDKを使った実装方法をコード付きで解説します。

Gemini APIとは?主要モデルのラインナップ

Gemini APIはGoogle DeepMindが提供する生成AI APIです。Google AI Studioから無料で試せるほか、Vertex AI経由でエンタープライズ利用も可能です。

モデル一覧(2026年3月時点)

モデル 特徴 コンテキスト 入力単価/100万トークン
Gemini 2.5 Pro 最高性能、思考モデル 100万 $1.25〜
Gemini 2.5 Flash 高速・低コスト、思考ON/OFF 100万 $0.15〜
Gemini 2.0 Flash マルチモーダル出力、低遅延 100万 無料枠あり
Gemini 2.0 Flash Lite 最軽量・最安 100万 $0.075

ポイント: Gemini 2.5 Proは「思考」機能(内部推論)を備え、コーディングや数学的推論で特に高い精度を発揮します。コスト重視ならGemini 2.5 Flashが最適で、思考をOFFにすればさらに安くなります。

環境構築 — Python SDKのセットアップ

# pip install google-genai

from google import genai

# API Key は Google AI Studio (aistudio.google.com) で取得
client = genai.Client(api_key="YOUR_API_KEY")

Google AI StudioでAPIキーを発行し、環境変数 GEMINI_API_KEY に設定するのが推奨です。無料枠(1分あたり15リクエスト)があるため、プロトタイピングにはコスト不要で始められます。

基本的なテキスト生成

シンプルなチャット

response = client.models.generate_content(
    model="gemini-2.5-flash",
    contents="AIエージェントのメリットを3つ教えてください"
)
print(response.text)

システム指示付きチャット

from google.genai import types

response = client.models.generate_content(
    model="gemini-2.5-flash",
    config=types.GenerateContentConfig(
        system_instruction="あなたはAI導入コンサルタントです。中小企業の経営者に分かりやすく回答してください。",
        temperature=0.7,
        max_output_tokens=2048,
    ),
    contents="うちの会社(従業員30名の製造業)にAIを導入したいのですが、何から始めるべきですか?"
)
print(response.text)

ストリーミング出力

# リアルタイムに文字が流れるように出力
for chunk in client.models.generate_content_stream(
    model="gemini-2.5-flash",
    contents="Pythonで簡単なWebスクレイパーを書いてください"
):
    print(chunk.text, end="", flush=True)

マルチモーダル — 画像・動画の分析

Gemini最大の強みはマルチモーダル対応です。テキストと画像を同時に入力でき、グラフの読み取り、UI分析、書類OCRなどに活用できます。

画像分析

from google.genai import types
from pathlib import Path

image_bytes = Path("dashboard.png").read_bytes()

response = client.models.generate_content(
    model="gemini-2.5-flash",
    contents=[
        types.Part.from_bytes(data=image_bytes, mime_type="image/png"),
        "このダッシュボードの重要なKPIを要約してください。改善提案もお願いします。"
    ]
)
print(response.text)

URL画像の分析

response = client.models.generate_content(
    model="gemini-2.5-flash",
    contents=[
        types.Part.from_uri(
            file_uri="https://example.com/chart.png",
            mime_type="image/png"
        ),
        "このグラフのトレンドを分析してください"
    ]
)

ポイント: 動画ファイルも同様に入力可能です。Geminiは最大1時間の動画を処理でき、議事録の自動生成やコンテンツモデレーションに活用できます。

Function Calling — AIエージェントの構築

Function Callingを使うと、Geminiが外部ツールを呼び出すAIエージェントを構築できます。天気予報API、データベース検索、社内システム連携などが実現可能です。

ツールの定義と実行

from google.genai import types

# ツール定義
def get_weather(city: str) -> dict:
    """指定した都市の天気情報を取得する"""
    # 実際にはAPI呼び出し
    return {"city": city, "temp": 22, "condition": "晴れ"}

def search_inventory(product_name: str) -> dict:
    """在庫数を検索する"""
    return {"product": product_name, "stock": 150, "warehouse": "東京倉庫"}

# Geminiにツールを渡して実行
response = client.models.generate_content(
    model="gemini-2.5-flash",
    contents="東京の天気と、商品Aの在庫を教えてください",
    config=types.GenerateContentConfig(
        tools=[get_weather, search_inventory],
    ),
)
print(response.text)
# → 「東京は晴れで気温22℃です。商品Aの在庫は東京倉庫に150個あります。」

ポイント: Python関数をそのまま tools に渡すだけで、Geminiが関数の docstring とパラメータ型を自動的に解析します。OpenAI APIのようにJSON Schemaを手動で書く必要がありません。

Google Search Grounding(検索連携)

# Google検索結果を根拠にした回答
response = client.models.generate_content(
    model="gemini-2.5-flash",
    contents="2026年3月の日本のAI規制に関する最新動向を教えてください",
    config=types.GenerateContentConfig(
        tools=[types.Tool(google_search=types.GoogleSearch())],
    ),
)
print(response.text)
# → 検索結果を引用しつつ最新情報を回答

API比較 — Gemini vs OpenAI vs Claude

項目 Gemini API OpenAI API Claude API
最高性能モデル Gemini 2.5 Pro GPT-4.1 Claude Opus 4.6
コンテキスト長 100万トークン 128Kトークン 200Kトークン
マルチモーダル 画像・動画・音声入力 画像・音声入力 画像入力
Function Calling Python関数直接渡し JSON Schema定義 JSON Schema定義
検索連携 Google Search内蔵 Web Search Tool なし(外部連携)
無料枠 あり(15 RPM) なし なし
コスト最安モデル Flash Lite $0.075/M GPT-4.1 nano $0.10/M Haiku $0.80/M
強み 長文処理・マルチモーダル エコシステム・Agent SDK 日本語品質・コード生成

Gemini APIはコストパフォーマンスとマルチモーダル対応で優位です。特に100万トークンのロングコンテキストは、大量の社内文書を一括で処理する用途に最適です。一方、OpenAI APIはエージェントSDKが充実しており、Claudeは日本語の自然さとコーディング精度で強みがあります。

実践ユースケース

1. 社内文書の一括分析

100万トークン(約75万文字)のコンテキストを活かし、数百ページの契約書やマニュアルを一度に読み込んで質問応答するシステムを構築できます。RAGのようなチャンク分割が不要なため、実装がシンプルです。

2. 画像付きカスタマーサポート

ユーザーが製品の写真を送ると、Geminiが画像を分析して故障箇所を特定し、修理手順を案内するチャットボットが構築できます。

3. 動画コンテンツの自動要約

社内研修動画やウェビナーの録画をGeminiに入力し、章立て付きの要約と重要ポイントを自動抽出できます。

まとめ — Gemini APIの始め方

ステップ 内容 所要時間
1 Google AI StudioでAPIキー取得 2分
2 pip install google-genai 1分
3 テキスト生成を試す 5分
4 画像分析・Function Callingを実装 30分
5 本番アプリに組み込み 数時間〜

Gemini APIは無料枠があり、Python関数をそのまま渡せるFunction Calling、100万トークンのロングコンテキストと、開発者体験が非常に良いAPIです。まずはGoogle AI Studioでキーを取得し、テキスト生成から試してみてください。

Gemini APIの料金最適化テクニック

Gemini APIのコストを抑えながら性能を最大化する3つの実践テクニックを紹介します。

テクニック1:モデルの使い分け:全てのリクエストにGemini 3 Proを使う必要はありません。分類やフィルタリングなどの軽量タスクにはGemini 3 Flashを使い、要約や分析などの高品質が求められるタスクにのみProを使うことで、APIコストを50〜70%削減できます。ルーターパターン(最初にFlashで判定→必要な場合のみProにエスカレーション)が効果的です。

テクニック2:コンテキストキャッシュの活用:同じシステムプロンプトやドキュメントを繰り返し送信する場合、Context Caching APIを使うことで入力トークンのコストを大幅に削減できます。特にRAG(検索拡張生成)パイプラインでは、頻繁に参照されるドキュメントをキャッシュに登録しておくと効果的です。

テクニック3:バッチ処理の活用:リアルタイム性が不要な処理(大量データの分類、夜間バッチでのレポート生成等)は、Batch APIを使うことで通常料金の50%で処理できます。24時間以内の完了が保証されており、コスト効率を重視するユースケースに最適です。

AIエージェント導入・開発のご相談

株式会社Uravationでは、AIエージェントの導入支援・カスタム開発・研修を提供しています。

無料相談はこちら →

あわせて読みたい

→ Claude Agent SDK実装ガイド|Python/TypeScript対応

→ 【2026年最新】MCPサーバーの作り方|Python FastMCPで実践開発

→ 【2026年最新】AIエージェントのメモリ設計パターン|実装ガイド

→ RAGとは?ChromaDB×Pythonで精度改善する実装ガイド

Need help moving from reading to rollout?

この記事を読んで導入イメージが固まってきた方へ

Uravationでは、AIエージェントの要件整理、PoC設計、社内導入、研修まで一気通貫で支援しています。

この記事をシェア

X Facebook LINE

※ 本記事の情報は2026年3月時点のものです。サービスの料金・仕様は変更される可能性があります。最新情報は各サービスの公式サイトをご確認ください。

関連記事