Googleは2026年8月13日、3.6 Flashの3週間後にGemini 3.7 Flashをリリースし、「当社の最もインテリジェントな主力モデル」と呼んでいます。開発者にとっての注目点:エージェントコーディングのスコアが大幅に向上し(DeepSWE v1.1は49.0%から65.3%に)、導入価格は3.6 Flashの発売時の半額となり、APIの表面的な部分は変更されていません。すでにGeminiを呼び出している場合は、モデルIDを1つ交換するだけです。そうでない場合、これはGoogleがこれほど高性能なモデルに対して提供した中で最も安価なエントリーポイントです。
このガイドは実践的なクイックスタートです。APIキーを取得し、cURLで最初の呼び出しを行い、PythonとNode.jsに移植し、応答をストリーミングし、generationConfigを調整し、全体をApidogに接続して、コードループでトークンを消費することなくプロンプトを反復できるようになります。公式発表からの仕様:1Mトークンのコンテキスト、64kの出力、マルチモーダル入力、関数呼び出し、ツールとしての検索、コンピューター利用。
以前の世代を対象に開発していた場合、リクエストの形式は当社のGemini 3 Flash Preview APIガイドから引き継がれます。この記事では、3.7ワークフローの新しいすべてをカバーしています。
ボタン
TL;DR(要するに)
- モデルIDは`gemini-3.7-flash`です。エンドポイント:`POST https://generativelanguage.googleapis.com/v1beta/models/gemini-3.7-flash:generateContent`、ヘッダーに`x-goog-api-key:`を含めます。
- 導入価格は2026年12月31日まで、入力トークン100万件あたり0.75ドル、出力トークン100万件あたり3.75ドルです。2027年1月1日からは、それぞれ1.50ドルと7.50ドルに倍増します。
- 仕様:1Mトークンの入力コンテキスト、64kトークンの出力制限。入力はテキスト、画像、動画、音声、PDFに対応。出力はテキストです。
- 3.6 Flashと比較したベンチマークの差分:DeepSWE 49.0%から65.3%、FrontierCode 34.4%から43.6%、AutomationBench 17.0%から30.4%、WebDev Arena Elo 1538から1588。
- ストリーミングには`:streamGenerateContent?alt=sse`を使用します。リクエストボディはGoogleの`contents`と`generationConfig`スキーマを維持します。
- アプリケーションコードを書く前にApidogでエンドポイントをテストしてください:スペックをインポートし、キーを環境変数として保存し、SSEチャンクがリアルタイムでレンダリングされるのを確認します。
Gemini 3.7 Flashの利点
Flashモデルは、ピーク時のインテリジェンスを少し犠牲にして速度と価格を向上させますが、3.7はこのトレードオフを以前のどのリリースよりも狭めています。3.6 Flashと比較したベンチマークの差分は、3週間という短い期間にしては異例に大きく、DeepSWE v1.1は49.0%から65.3%に、FrontierCode 1.1 Mainは34.4%から43.6%に、AutomationBenchは17.0%から30.4%に上昇しました。WebDev Arena Eloは1538から1588へと50ポイント上昇しました。

これらの数値をワークロード適合性に関するシグナルとして読み取ってください。3.7 Flashを使用すべきケースは次のとおりです。
- エージェントループを実行する場合。AutomationBenchのスコアはほぼ2倍になり、Googleはモデルが「多段階の計画とツール呼び出しについてより注意深く考える」と述べています。多くの短く、ツールを多用するターンを持つエージェントパイプラインが対象となるユースケースです。
- コードを生成またはデバッグする場合。Googleは、3.7がデバッグ能力に優れ、初回でデプロイ可能なコードを生成する能力が高いと主張しています。DeepSWEとFrontierCodeの向上もこれを裏付けています。
- ドキュメントを処理する場合。GDP.pdfは22.0%から34.0%に上昇し、PDFはファーストクラスの入力タイプです。長いコンテキストの検索も良好で、128k-needleテストで97.0%を記録しています。
- 予算内でマルチモーダル入力が必要な場合。テキスト、画像、動画、音声、PDFはすべて同じ`contents`配列を介して入力されます。
法律分野のHarvey LAB-AAスコア90.7%や、更新されたCBRNおよびサイバーセーフガードを含む全機能の概要については、「Gemini 3.7 Flashの新機能」をご覧ください。知っておくべき背景:Gemini 3.5 Proはまだ遅延しており、Axiosの報告によると、Googleは次期主力製品よりもFlashのアップデートを意図的に先行させて出荷しています。
APIキーの取得
2つのパスがありますが、同等ではありません。
AI Studio(高速パス)。aistudio.google.com/apikeyを開き、APIキーを取得をクリックし、Google Cloudプロジェクトを選択して文字列をコピーします。このキーは`generativelanguage.googleapis.com`に対してすぐに機能し、無料枠でプロトタイプ作成に十分なクォータが提供されます。Gemini 3.7 Flashは160以上の国で利用可能です。
Vertex AI(本番パス)。インフラストラクチャがGCPにある場合は、Vertexを使用します。認証はAPIキーからOAuth(サービスアカウントまたは短期トークン)に切り替わり、呼び出しは`aiplatform.googleapis.com`を経由し、IAM、監査ログ、リージョンエンドポイントを利用できます。モデルIDとリクエストボディは同じままで、URLと認証メカニズムのみが変更されます。
AI Studioでプロトタイプを作成し、本番トラフィックの前にVertexに移行します。いずれにしても、キーを一度エクスポートします。
export GEMINI_API_KEY="AIza..."
本番環境では、キーをハードコードしたり、`?key=`クエリパラメータとして渡したりしないでください。クエリ文字列はサーバーログに残ります。
エンドポイントと認証
同期呼び出しのベースエンドポイント:
POST https://generativelanguage.googleapis.com/v1beta/models/gemini-3.7-flash:generateContent
ストリーミングはメソッドサフィックスを交換し、SSEフラグを追加します。
POST https://generativelanguage.googleapis.com/v1beta/models/gemini-3.7-flash:streamGenerateContent?alt=sse
認証はヘッダー1つです:`x-goog-api-key: $GEMINI_API_KEY`。これですべてのハンドシェイクが完了します。ベアラートークン、署名スキーム、セッション設定は不要です。
cURLでの最初の呼び出し
完全な動作する呼び出しは次のとおりです。
curl "https://generativelanguage.googleapis.com/v1beta/models/gemini-3.7-flash:generateContent" \
-H "x-goog-api-key: $GEMINI_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"contents": [{
"role": "user",
"parts": [{ "text": "Review this SQL for injection risk: SELECT * FROM orders WHERE id = ${orderId}" }]
}],
"generationConfig": {
"temperature": 0.3,
"maxOutputTokens": 1024
}
}'
応答は`candidates`配列を返します。各候補は、`parts`(テキスト、またはツールを宣言した場合は関数呼び出し)と`finishReason`を含む`content`オブジェクトを保持します。トークン数は最上位の`usageMetadata`にあります。このブロックに注意してください。なぜなら、導入価格では出力トークンは入力トークンの5倍の費用がかかるからです。
スキーマに注意してください:GoogleはOpenAIの`messages`形式ではなく、`role`と`parts`を含む`contents`を使用します。他のプロバイダーから移行する場合は、まずこのマッピングを正しく理解してください。
Pythonクイックスタート
公式SDKをインストールまたはアップグレードします。
pip install --upgrade google-generativeai
システム指示を含む基本的な呼び出し:
import os
import google.generativeai as genai
genai.configure(api_key=os.environ["GEMINI_API_KEY"])
model = genai.GenerativeModel(
model_name="gemini-3.7-flash",
system_instruction="You are a code reviewer. Flag issues as blocking or non-blocking.",
generation_config={
"temperature": 0.3,
"max_output_tokens": 2048,
},
)
response = model.generate_content(
"Review this Flask route for security issues:\n\n"
"@app.route('/user/<id>')\n"
"def get_user(id):\n"
" return db.execute(f'SELECT * FROM users WHERE id = {id}')"
)
print(response.text)
print("input tokens:", response.usage_metadata.prompt_token_count)
print("output tokens:", response.usage_metadata.candidates_token_count)
マルチモーダル入力は同じ`contents`配列に格納されます。PDFを送信するには、Files APIを介してアップロードし、それを`part`として参照します。
invoice = genai.upload_file("q3-invoice.pdf")
response = model.generate_content([
invoice,
"Extract the invoice number, total, and due date as JSON.",
])
print(response.text)
GDP.pdfのベンチマーク向上(22.0%から34.0%)は、まさにこのワークロード、つまり現実世界の整理されていないドキュメントからの構造化抽出で現れています。
Node.jsクイックスタート
Node SDKは`@google/generative-ai`であり、Pythonの形式を反映しています。
import { GoogleGenerativeAI } from "@google-generative-ai";
const genAI = new GoogleGenerativeAI(process.env.GEMINI_API_KEY);
const model = genAI.getGenerativeModel({
model: "gemini-3.7-flash",
generationConfig: {
temperature: 0.3,
maxOutputTokens: 2048,
responseMimeType: "application/json",
responseSchema: {
type: "object",
properties: {
severity: { type: "string", enum: ["blocking", "non-blocking"] },
issues: { type: "array", items: { type: "string" } },
},
required: ["severity", "issues"],
},
},
});
const result = await model.generateContent(
"Review this Express handler: app.get('/search', (req, res) => res.send(eval(req.query.q)))"
);
console.log(JSON.parse(result.response.text()));
`responseSchema`行は見た目以上に重要です。候補を解析可能なオブジェクトに強制するため、ダウンストリームコードが自由形式のテキストに触れることはありません。`responseMimeType: "application/json"`と組み合わせて使用しないと無視されます。
ストリーミング
チャットUIやユーザー向けのあらゆるものには、ストリーミングを使用します。Pythonでは、`stream=True`を追加します。
stream = model.generate_content(
"Explain the N+1 query problem with a concrete ORM example.",
stream=True,
)
for chunk in stream:
if chunk.text:
print(chunk.text, end="", flush=True)
生のHTTP経由で、`:streamGenerateContent?alt=sse`にアクセスし、サーバー送信イベントを解析します。各`data:`行は部分的な`candidates`ペイロードを運び、最後のチャンクには`usageMetadata`が含まれるため、トークンの計算はストリームが閉じられた後にのみ正確になります。
generationConfigの調整
影響の大きい順に、最も頻繁に触れるであろうパラメータは次のとおりです。
| パラメータ | タイプ | 機能 |
|---|---|---|
maxOutputTokens |
integer | 出力のハードキャップ。モデルの64k制限まで。主なコスト調整レバー。 |
temperature |
number | 0から2。コードと抽出には0.2から0.4、創造的なテキストには0.7以上を使用。 |
responseMimeType |
string | JSON出力を強制するには`application/json`に設定。 |
responseSchema |
object | JSON MIMEタイプと組み合わせると、厳密な形状を強制します。 |
topP |
number | ニュークリアスサンプリングのカットオフ。意図的に調整する場合を除き、デフォルトのままにする。 |
stopSequences |
array | 生成を早期に停止する文字列。区切り文字ベースの解析に役立つ。 |
出力トークンは導入価格で100万件あたり3.75ドル、2027年1月からは7.50ドルとなるため、64kの制限ではなく、ユースケースに必要な量で出力を制限してください。各ワークロードごとの計算例を含む完全なトークン計算は、当社のGemini 3.7 Flashの料金内訳に記載されています。
`generationConfig`の他に、リクエストボディは`tools`(関数宣言、ツールとしての検索、コンピューター利用)と、ツール呼び出しを強制するための`toolConfig`も受け入れます。ツール利用は3.7 Flashが最も改善された点であり、それ自体が詳細な解説に値します。Gemini 3.7 Flash関数呼び出しチュートリアルで宣言、並列呼び出し、応答ループパターンをご覧ください。
アプリコードを書く前にApidogでエンドポイントをテストする
Pythonスクリプト内でのプロンプトの反復は遅く、費用がかかります。編集、再実行、スクロール、繰り返し、そして各サイクルでトークンが消費されます。より速いループは、まずAPIクライアントでリクエストの形状を固定し、応答が正しく見えるようになったらコードに移植することです。
ApidogはGeminiのリクエストスキーマをネイティブで扱います。設定方法は次のとおりです。
- プロジェクトを作成し、GoogleのAPIドキュメントからGenerative Language API OpenAPI仕様をインポートします。コレクションは事前に命名されているため、`generateContent`は検索するだけです。
GEMINI_API_KEYという名前の環境変数を追加し、それを環境レベルで`x-goog-api-key`ヘッダーにバインドします。すべてのリクエストがそれを継承し、キーが保存されたリクエストボディに現れることはありません。- モデルIDを
gemini-3.7-flashに設定した変数として保存します。gemini-3.6-flashとA/Bテストを行いたい場合、何十もの保存されたリクエストのURLを編集する代わりに、1つの変数を変更するだけで済みます。 - ビジュアルJSONエディターで`contents`配列を作成します。ネストされたパーツはきれいにレンダリングされ、スキーマ検証により、400エラーでトークンを1つも消費する前に、不正なボディを捕捉します。
- ストリーミングエンドポイントにアクセスします。ApidogはSSEチャンクをライブでレンダリングするため、SDKが見るのとまったく同じ方法で、レイテンシを含めて応答が組み立てられるのを確認できます。
- 良好な応答を例として保存します。後続のテスト実行では、ライブAPIではなくフィクスチャにアクセスします。これはワークフロー全体で最大のトークン節約術です。
リクエストが保存されたら、`finishReason`、応答スキーマ、および`usageMetadata`トークン数に関するアサーションを含むテストシナリオにそれらを連結します。これにより、手動の簡易テストが、プロンプト変更ごとに実行できる回帰テストスイートに変わります。QAチームが使用するのと同じパターンは、当社のQAエンジニア向けAPIテストガイドで説明されています。
エラー処理とレート制限
Geminiのエラーは、`code`、`status`、`message`を含む最上位の`error`オブジェクトを返します。遭遇する可能性のあるものは次のとおりです。
| コード | ステータス | 意味 | 修正方法 |
|---|---|---|---|
| 400 | INVALID_ARGUMENT |
不正な形式のボディ、不正なロール、空の`contents`。 | 送信前にApidogでボディを検証してください。 |
| 401 | UNAUTHENTICATED |
キーが不足しているか、取り消されています。 | `GEMINI_API_KEY`を再エクスポートしてください。AI Studioでキーがアクティブであることを確認してください。 |
| 403 | PERMISSION_DENIED |
プロジェクトにアクセス権がないか、課金が不足しています。 | プロジェクト設定と課金ステータスを確認してください。 |
| 429 | RESOURCE_EXHAUSTED |
レート制限または日次クォータに達しました。 | ジッター付きでバックオフするか、リクエストをバッチ処理するか、ティアをアップグレードしてください。 |
| 500 | INTERNAL |
一時的なサーバー障害。 | 指数関数的バックオフで再試行してください。 |
| 503 | UNAVAILABLE |
サービス過負荷。 | 数秒後に再試行してください。Vertexでは、別のリージョンを試してください。 |
3つの習慣が本番環境の安定を保ちます。
- すべての呼び出しを、ジッター付き指数関数的バックオフで429および5xxを処理するリトライヘルパーでラップします。SDKは何度か自動で再試行しますが、薄いラッパーを使用することで、ロギングと制御可能なサーキットブレーカーを提供します。
- レート制限の数値を勝手に設定しないでください。制限はティアによって異なり、時間とともに変化します。Gemini APIの料金と制限ページで現在の値を確認し、クォータの80%でアラートを出すように設定してください。
- モデルIDを環境変数の背後に固定します。3.7の動作変更によってプロンプトが機能しなくなった場合、`gemini-3.6-flash`へのロールバックはデプロイではなく設定変更で済みます。
よくある質問
Gemini 3.7 Flashは無料で利用できますか?
AI Studioはプロトタイプ作成に十分な日次クォータ付きの無料ティアを提供しており、有料の導入価格は2026年12月31日まで入力トークン100万件あたり0.75ドルです。コストをかけずにさらに利用したい場合は、当社の「無料のGemini APIアクセス」に関するガイドで各ティアとその制限について説明しています。
AI StudioとVertex AIを介して呼び出すことの違いは何ですか?
同じモデル、同じリクエストボディですが、仕組みが異なります。AI Studioは`generativelanguage.googleapis.com`に対してAPIキーを使用します。Vertexは`aiplatform.googleapis.com`に対してOAuthを使用し、IAM、監査ロギング、リージョンエンドポイントを追加します。AI Studioで開始し、トラフィックが本格的になったらVertexに移行してください。
Gemini 3.7 Flashに画像、音声、PDFを送信できますか?
はい、可能です。入力はマルチモーダルであり、テキスト、画像、動画、音声、PDFのすべてが`contents`配列のパーツとして、Base64でインラインに、またはFiles APIを介して参照として渡されます。出力はテキストのみです。
コンテキストウィンドウと出力制限のサイズはどのくらいですか?
入力1Mトークン、出力64kトークンです。128k-needle検索スコアが97.0%であることから、ほとんどのアプリが必要とするよりも長いコンテキストのリコールは信頼できることが示唆されますが、すべての入力トークンが課金されるため、長い入力をチャンクに分割するとコストを節約できます。
Gemini 3.6 Flashからアップグレードすべきですか?
エージェントおよびコーディングのワークロードの場合、ベンチマークの差が十分に大きいため、通常はアップグレードすべきであり、モデルIDの交換は1行で済みます。本番トラフィックを切り替える前に回帰テストする価値のある動作の違いは、3.6から3.7 Flashへの移行ガイドで説明されています。
あなたのスタックにおける3.7 Flashの立ち位置
Gemini 3.7 Flashは、価格が下がりながら機能が向上した稀なリリースです。2026年末まで、DeepSWEで16ポイント高く、AutomationBenchでほぼ2倍のスコアを出すモデルに対して、3.6 Flashのリリース時の半額の料金で利用できます。賢明なデフォルト設定:エージェントループ、コードタスク、ドキュメント抽出をすぐに3.7 Flashにルーティングし、予算計画のために導入価格期間を念頭に置き、環境変数の背後に3.6へのロールバックパスを保持します。
まず上記のcURL呼び出しから始め、応答の形状を確認してから、アプリケーションコードを書く前にリクエストをAPIクライアントに移動してください。ApidogをダウンロードしてGeminiの仕様をインポートし、キーを一度バインドすれば、同期、ストリーミング、ツール呼び出しのリクエストを単一のワークスペースからテストできます。プロンプトが適切であれば、ワイヤートラフィックがどのようなものか既に知っているため、PythonまたはNodeへの移植は数分で完了します。
