Google Gemini API バッチモード登場!50%コスト削減

Ashley Innocent

Ashley Innocent

7 7月 2025

Google Gemini API バッチモード登場!50%コスト削減

GoogleのGemini APIに、大規模な非同期タスク向けに設計された革新的なアップデートであるバッチモードが追加されました。これにより、コストが50%削減されます。🚀

それでは、新しいGoogle Gemini APIバッチモードを詳しく見ていきましょう!

💡
美しいAPIドキュメントを生成する優れたAPIテストツールをお探しですか?

開発チームが最大限の生産性で協力できる、統合されたオールインワンプラットフォームをお探しですか?

Apidogはあなたのすべての要求に応え、Postmanをはるかに手頃な価格で置き換えます
ボタン

Gemini APIバッチモードの料金

Gemini APIバッチモードの主な利点は、コストが大幅に削減されることです。このエンドポイントを通じて送信されるすべてのジョブは、同期(リアルタイム)呼び出しで使用される同等のモデルの標準料金より50%安く設定されています。

この50%割引は、トークンあたりの料金体系に直接適用されます。gemini-2.5-progemini-2.5-flash、またはその他のサポートされているモデルを使用しているかどうかにかかわらず、バッチジョブで処理される場合、入力トークンと出力トークンの両方のコストが半額になります。この料金モデルにより、標準APIを使用すると費用がかかりすぎる可能性のある、テラバイト単位のテキストデータの分析や製品カタログ全体のコンテンツ生成など、大規模なタスクを経済的に実行できるようになります。コストは入力と生成された出力のトークン数に基づいて計算されますが、トークンあたりの料金が割引されます。

Gemini APIバッチモードの使用方法:ステップバイステップガイド

Gemini APIバッチモードのワークフローは、ファイルの準備、ジョブの作成、結果の取得を含む、分かりやすいように設計されています。以下のセクションでは、Google GenAI Python SDKを使用した実用的なガイドを提供します。

ステップ1:Gemini APIバッチモード用の入力ファイルの準備

Gemini APIバッチモードは、JSON Lines (JSONL)ファイルからリクエストを処理します。ファイル内の各行は、単一の自己完結型リクエストを表す有効なJSONオブジェクトである必要があります。ファイルサイズは最大2GBです。

ファイル内の各JSONオブジェクトには、次の2つのフィールドが含まれている必要があります。

batch_requests.jsonlの例:

{"key": "request_1", "request": {"contents": [{"parts": [{"text": "Explain how AI works in a few words"}]}]}}
{"key": "request_2", "request": {"contents": [{"parts": [{"text": "Summarize the key benefits of context caching in LLMs."}]}]}}
{"key": "request_3", "request": {"contents": [{"parts": [{"text": "Write a python function to reverse a string."}]}]}}

ステップ2:Gemini APIバッチモードのプログラミングワークフロー

Python SDKは、バッチ処理エンドポイントとの対話プロセスをいくつかの主要な関数呼び出しに簡素化します。

入力ファイルのアップロード:まず、JSONLファイルをGoogleのファイルサービスにアップロードする必要があります。これにより、ジョブを作成する際に参照するファイルオブジェクトが返されます。

import google.generativeai as genai

# It is recommended to configure your API key as an environment variable
# genai.configure(api_key="YOUR_API_KEY")

uploaded_batch_requests = genai.upload_file(path="batch_requests.jsonl")

バッチジョブの作成:ファイルがアップロードされたら、バッチジョブを作成できます。この呼び出しでは、使用したいモデルを指定し、アップロードしたファイルをリクエストのソースとして提供する必要があります。

batch_job = genai.create_batch_job(
    model="gemini-2.5-flash",  # Or "gemini-2.5-pro", etc.
    requests=uploaded_batch_requests,
    config={
        'display_name': "MyFirstBatchJob-1",
    },
)
print(f"Created batch job: {batch_job.name}")
print(f"Initial state: {batch_job.state.name}")

この関数はすぐに戻り、ジョブ名とその初期状態(通常はJOB_STATE_PENDING)を提供します。

ステップ3:Gemini APIバッチモードでのジョブの管理と監視

バッチジョブは非同期であるため、そのステータスを監視する必要があります。ジョブの現在の状態は、その名前を使用していつでも取得できます。ジョブは24時間以内に完了することが保証されています。

可能なジョブの状態は次のとおりです。

ジョブステータスの確認例:

# Check the status after some time has passed
retrieved_job = genai.get_batch_job(name=batch_job.name)
print(f"Current job state: {retrieved_job.state.name}")

ステップ4:Gemini APIバッチモードからの結果の処理

ジョブの状態がJOB_STATE_SUCCEEDEDになると、結果はJSONLファイルとしてダウンロード可能になります。出力ファイルの各行は、入力ファイルからのリクエストに対応しています。

出力JSONオブジェクトには、元のリクエストからのkeyと、モデルの出力を含むresponseオブジェクトが含まれます。

  1. 結果ファイルのダウンロード
if retrieved_job.state.name == 'JOB_STATE_SUCCEEDED':
    result_file_metadata = retrieved_job.result_file
    result_file_content_bytes = genai.download_file(name=result_file_metadata.name).read()
    
    # Decode and process the results
    file_content = result_file_content_bytes.decode('utf-8')
    for line in file_content.splitlines():
        print(line)
elif retrieved_job.state.name == 'JOB_STATE_FAILED':
    print(f"Job failed with error: {retrieved_job.error}")

出力ファイル行の例:

{"key": "request_1", "response": {"candidates": [{"content": {"parts": [{"text": "Artificial intelligence enables machines to learn and reason."}]}}]}}

このファイルを解析し、keyを使用して各レスポンスを元のプロンプトと照合できます。

Gemini APIバッチモードの高度な機能

Gemini APIバッチモードは、大規模なワークフローを最適化するためのより高度な機能もサポートしています。

Gemini APIバッチモードでのコンテキストキャッシュ

大規模で共有されたコンテキスト(例:複数の質問をしたい長いドキュメント)を伴うタスクの場合、コンテキストキャッシュを使用できます。この機能により、共有コンテキストをキャッシュできるため、バッチ内の個々のリクエストごとに再処理されることがありません。これにより、処理されるトークンの総数が削減され、さらなる大幅なコスト削減と処理時間の短縮につながります。

Gemini APIバッチモードでの組み込みツールの使用

バッチジョブは、組み込みのGoogle検索機能を含むツール使用をサポートしています。これにより、モデルがウェブからリアルタイム情報にアクセスして処理する必要がある大規模なタスクを実行できます。たとえば、バッチジョブは数千のURLを分析し、そのコンテンツを要約するように設定できます。

Googleは、すでにこの機能を使用しているいくつかの組織を強調しています。

結論:Gemini APIバッチモードの技術的価値

Gemini APIバッチモードは、大規模な非同期AI処理のための技術的に堅牢で経済的に有利なソリューションを提供します。50%のコスト削減、簡素化されたファイルベースのワークフロー、コンテキストキャッシュやツール使用などの高度な機能のサポートにより、高スループットAIタスクに関連するエンジニアリングおよび財務上の障壁を取り除きます。これは、膨大なデータセットでGeminiモデルの全能力を活用しようとしている開発者や組織にとって不可欠なツールです。

💡
美しいAPIドキュメントを生成する優れたAPIテストツールをお探しですか?

開発チームが最大限の生産性で協力できる、統合されたオールインワンプラットフォームをお探しですか?

Apidogはあなたのすべての要求に応え、Postmanをはるかに手頃な価格で置き換えます
ボタン

ApidogでAPIデザイン中心のアプローチを取る

APIの開発と利用をよりシンプルなことにする方法を発見できる