Gemini 3.8 Flash APIの使い方:Apidogを使ったAPI初回呼び出し、インタラクションAPIと思考レベル

ステップバイステップ Gemini 3.8 Flash API ガイド:AI Studio キーを取得し、Interactions API および レガシー generateContent を呼び出し、思考レベルを設定し、Apidog でテストする。

Medy Evrard

3 9月 2026

Gemini 3.8 Flash APIの使い方:Apidogを使ったAPI初回呼び出し、インタラクションAPIと思考レベル

Apidog エンタープライズ

オンプレミスデプロイ

SSO & RBAC

SOC 2 準拠

Apidog Enterpriseを見る

Googleは2026年9月2日にGemini 3.8 Flashをリリースしました。APIモデルIDは、プレビューサフィックスなしのプレーンな文字列gemini-3.8-flashです。これは2026年12月31日まで、3.7 Flashの導入価格である入力トークン100万あたり$0.75、出力トークン100万あたり$3.75を維持します。Googleはこれを「より熱心に働く」モデルと表現しており、複雑なタスクにおいてより多くの推論ステップを踏み、より頻繁にツールを呼び出すため、これがトークン請求に反映されます。

このガイドは、動作する統合への完全な道のりをカバーしています。AI Studioでのキーの取得、Interactions API(現在、Gemini 3.x向けのGoogleの主要API)を介した最初のリクエスト送信、既存のほとんどのコードが依然として使用しているレガシーなgenerateContentの同等機能、thinking_levelがそれぞれどこに配置されるか、ストリーミング、そして思考コストに驚かされることがないようthoughtsTokenCountを読み取る方法について説明します。すべての呼び出しはJSON形式のプレーンなHTTPであるため、アプリケーションコードに組み込む前に、Apidogでそれぞれを構築および確認できます。

ボタン

モデルの概要、ベンチマーク、および変更点については、Gemini 3.8 Flashとは何かから始めてください。Googleの発表ブログ記事には公式見解が記載されています。

Gemini 3.8 Flash APIの概要

項目
モデルID gemini-3.8-flash
主要エンドポイント POST /v1beta/interactions
レガシーエンドポイント POST /v1beta/models/gemini-3.8-flash:generateContent
認証ヘッダー x-goog-api-key
コンテキスト / 出力 1,048,576入力トークン / 65,536出力トークン
入力 テキスト、画像、動画、音声、PDF (テキスト出力のみ)
思考レベル lowmedium (デフォルト)、highminimalはエラーを返します
価格 (2026年12月31日までの導入価格) トークン100万あたり$0.75 / $3.75;2027年1月1日からは$1.50 / $7.50

コードを書き始める前に、2つの点が目につきます。デフォルトの思考レベルは、Gemini 3 Proのようにhighではなくmediumです。そして、思考トークンは公式料金ページに記載されている出力料金で課金されるため、選択するレベルは品質だけでなくコストの決定でもあります。料金の内訳では、タスクごとの数値について詳しく解説しています。

ステップ1: AI StudioでAPIキーを取得する

Google AI Studioを開き、Googleアカウントでサインインし、キーページからAPIキーを作成します。このキーは、レート制限付きで無料ティアで直ちに使用でき、Googleは無料ティアのデータが「製品の改善に使用される」と述べていることに注意してください。生産環境の制限のためにTier 1に移行するには、課金アカウントをリンクしてください。

キーをコードに貼り付ける代わりに、エクスポートしてください:

export GEMINI_API_KEY="AIza..."

公式Python SDKは環境からGEMINI_API_KEYを読み取るため、genai.Client()には引数は不要です。`pip install google-genai`でインストールしてください。

ステップ2: Interactions APIでの初回呼び出し

Googleは現在、Interactions APIをGemini 3.xモデルを呼び出す主要な方法として扱っています。リクエストは1つのJSONオブジェクトであり、モデル、input、およびthinking_levelが存在するオプションのgeneration_configで構成されます。

curl -X POST "https://generativelanguage.googleapis.com/v1beta/interactions" \
  -H "x-goog-api-key: $GEMINI_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "gemini-3.8-flash",
    "input": "Explain HTTP caching in 3 sentences.",
    "generation_config": {"thinking_level": "medium"}
  }'

レスポンスは単一のメッセージではなく、実行ステップのリストです。モデルの思考やツール呼び出しはステップとして表示され、最終ステップはテキストを保持する`model_output`です。Pythonでは、SDKがこれを平坦化してくれます:

from google import genai

client = genai.Client()

interaction = client.interactions.create(
    model="gemini-3.8-flash",
    input="Explain HTTP caching in 3 sentences.",
    generation_config={"thinking_level": "medium"},
)

print(interaction.output_text)

temperaturetop_ptop_kは除外してください。すべてのGemini 3モデルに対するGoogleのガイダンスは、`temperature`をデフォルトの1.0に保つことです。なぜなら、それを下げると「ループやパフォーマンスの低下を引き起こす可能性がある」からです。古いモデルから設定をコピーした場合、それが最初に削除すべき行です。

ステップ3: previous_interaction_idを使用した複数ターン

Interactions APIは、デフォルトで会話の状態をサーバーに保持します。会話を継続するには、新しいユーザー入力のみと共に、前のレスポンスの`id`を`previous_interaction_id`として送信します。履歴を再送信する必要はありません。

follow_up = client.interactions.create(
    model="gemini-3.8-flash",
    input="Now give one example of a Cache-Control header.",
    previous_interaction_id=interaction.id,
)
print(follow_up.output_text)

コンプライアンスルールによりサーバーサイドストレージが禁止されている場合は、`store: false`を設定してください。そのトレードオフとして、モデルの思考ブロックと思考シグネチャを、受け取ったとおりに各ターンで正確に送り返すなど、状態管理を自分で行う必要があります。これは、ツール使用で問題となる同じルールであり、3.8 Flashの関数呼び出しガイドで説明されています。

ステップ4: レガシーなgenerateContentパス

本番環境のほとんどのGeminiコードは、いまだに`generateContent`を呼び出しています。Googleはこれをレガシーと呼んでいますが、廃止日はなく「完全にサポートされ続けている」ため、今日中に何かを書き直す必要はありません。私たちのGemini 3.7 Flash APIガイドではこのパスのみを扱っていましたが、3.8 Flashでも形式は同じであり、思考設定はInteractionsとは異なる場所にあります。

`generateContent`では、レベルは`generationConfig.thinkingConfig.thinkingLevel`の下にcamelCaseで配置されます:

curl -X POST "https://generativelanguage.googleapis.com/v1beta/models/gemini-3.8-flash:generateContent" \
  -H "x-goog-api-key: $GEMINI_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "contents": [{"parts": [{"text": "Explain HTTP caching in 3 sentences."}]}],
    "generationConfig": {"thinkingConfig": {"thinkingLevel": "low"}}
  }'

Pythonの同等機能では、型付き設定オブジェクトを使用します:

from google import genai
from google.genai import types

client = genai.Client()

response = client.models.generate_content(
    model="gemini-3.8-flash",
    contents="Explain HTTP caching in 3 sentences.",
    config=types.GenerateContentConfig(
        thinking_config=types.ThinkingConfig(thinking_level="low")
    ),
)
print(response.text)

`thinking_budget`を整数として使用していた設定から移行する場合は、それを文字列の列挙型に置き換えてください。`candidate_count`もGemini 3以降では削除されています。変更前後のJSONを含む完全なチェックリストは、3.7から3.8 Flashへの移行ガイドにあります。

ここに同じ懸念事項が並べて示されているため、両方のドキュメントを読み直すことなく、2つのAPI間で変換できます:

懸念事項 Interactions API レガシーなgenerateContent
思考レベル generation_config.thinking_level generationConfig.thinkingConfig.thinkingLevel
会話状態 previous_interaction_id (サーバーサイド) contents配列全体を再送信
ツール結果 call_id + nameを含むfunction_result id + nameを含むfunctionResponse (同じ値だがフィールド名が異なる)
最終テキスト model_outputステップ (SDKではoutput_text) candidates[0].content.parts[].text
思考シグネチャ store: falseでない限り自動で処理されます 受け取った各パーツをそのまま返送

ステップ5: ストリーミングと思考コストの読み取り

チャットインターフェースの場合、メソッド名を`streamGenerateContent`に置き換え、`?alt=sse`を追加してサーバー送信イベント(各イベントごとに部分的な`candidates`チャンクが1つ)を取得します:

curl -N "https://generativelanguage.googleapis.com/v1beta/models/gemini-3.8-flash:streamGenerateContent?alt=sse" \
  -H "x-goog-api-key: $GEMINI_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"contents":[{"parts":[{"text":"List three HTTP caching headers."}]}]}'

ストリーミングの有無にかかわらず、すべての`generateContent`レスポンスは`usageMetadata`オブジェクトで終了します。各呼び出しでこれを読み取ってください:

"usageMetadata": {
  "promptTokenCount": 12,
  "candidatesTokenCount": 84,
  "thoughtsTokenCount": 310,
  "totalTokenCount": 406
}

`thoughtsTokenCount`は3.8 Flashで注目すべき数値です。思考トークンは、導入期間中、100万トークンあたり$3.75で出力トークンとして課金され、Googleは「モデルはパフォーマンスを最大化するために、特に高い努力レベルではより多くのトークンを使用する可能性がある」と述べています。Artificial Analysisは、`high`でのインデックス実行において、タスクあたり約48kの出力トークンを測定しました。これは3.7 Flashより30%多く、トークンあたりの価格が変化しないまま、タスクあたりのコストを$0.40から$0.58に押し上げました。彼らの`medium`と`low`での実行は、タスクあたり$0.41と$0.24でした。思考レベルガイドは、これらの数値をルートごとの戦略に変換します。

モデルがどのように推論したかを確認するには、`thinkingConfig`内に`"includeThoughts": true`を追加します。思考の要約は`"thought": true`とフラグ付けされたパーツとして返されます。表示される回答を組み立てる際には、これらをスキップしてください。

最初の1時間で遭遇するであろうエラー

**`thinking_level: "minimal"`はバリデーションに失敗します。** Gemini 3.8 Flashは`low`、`medium`、`high`のみをサポートしています。`minimal`を送信すると、「Thinking level MINIMAL is not supported for this model. Please retry with other thinking level.(このモデルでは思考レベルMINIMALはサポートされていません。別の思考レベルで再試行してください。)」というメッセージと共に`400 INVALID_ARGUMENT`が返されます(2026年9月3日のライブコールで確認済み)。解決策は`low`への一語変更です。古い3.xの設定やコピーされたスニペットが一般的な原因です。

**429エラーは、バグではなくティアの制限に達したことを意味します。** レート制限ページにはティアが説明されています: 無料ティアはレート制限があり、Tier 1は課金アカウントをリンクすると解除され、Tier 2は$100の利用実績と3日間の期間が必要、Tier 3は$1,000の利用実績と30日間の期間が必要です。モデルごとの1分あたりのリクエスト数とトークン数は、AI Studioのあなたのアカウントのレート制限ページにのみ表示されるため、ブログ記事の数値を信頼するのではなく、そちらで確認してください。429エラーが発生した場合は、しばらく待ってから再試行してください。低ボリュームで繰り返し429エラーが発生する場合は、ティアをアップグレードしてください。オフラインジョブには、Batch APIがより良い解決策です。これは50%オフ(導入期間中は100万トークンあたり$0.375 / $1.875)で実行され、Tier 1で3M、Tier 2で400M、Tier 3で1Bのキューに入れられたトークン制限があります。Geminiバッチモードガイドには、リクエストの形式が示されています。

**関数結果における`call_id`の欠落。** ツールを使用する場合、3.8 Flashでは、すべての`function_result` (Interactions) が`call_id`と`name`の両方を保持する必要があり、すべてのレガシー`functionResponse`が対応する`id`と`name`を保持する必要があります。どちらかを省略すると、ターンが失敗します。

Apidogで両方のエンドポイントを出荷前にテストする

両方のリクエストがターミナルから動作することを確認したら、チーム全体が実行できる場所に移動します。Apidogをダウンロードし、プロジェクトを作成して、上記の2つのエンドポイントを保存されたリクエストとして追加します。以下の4つの習慣が効果を発揮します:

Apidogはモデルを実行したり、SDKを置き換えたりするものではありません。それは、ほとんどのチームが何かが壊れるまでスキップする部分であるHTTP呼び出しの、保存可能で共有可能でアサート可能なバージョンを提供します。

よくある質問 (FAQ)

**新しいプロジェクトではどのエンドポイントを使用すべきですか?** Interactions APIです。Googleは`generateContent`をレガシーと呼んでおり、引き続き完全にサポートされていますが、新機能はまずInteractionsに実装され、サーバーサイドの状態管理により複数ターンのコードが短くなります。移行する理由ができるまでは、既存のサービスには`generateContent`を使用し続けてください。

**Gemini 3.8 Flashを呼び出すには有料アカウントが必要ですか?** いいえ。無料のAI Studioキーで動作し、レート制限とGoogleのデータ使用規約が適用されます。無料利用ガイドでは、無料ティアで何が可能で何が不可能か、Geminiアプリが3.8 FlashにAI ProまたはUltraプランを必要とすることを含め、詳細が記載されています。

**3.8 Flashは3.7 Flashよりも遅いですか?** トークンあたりでは、いいえ。GoogleのLogan Kilpatrick氏によると、ほぼ同じ速度であり、Artificial Analysisは1秒あたり約300の出力トークンを測定しました。タスクあたりでは、`high`の方が時間がかかります(彼らの実行では2.2分に対し2.5分)。これはより多くのトークンを生成するためです。

**Gemini 3.7 Flashを引き続き呼び出すことはできますか?** はい。Googleは3.7 Flashが「完全にサポートされ続けている」と述べており、廃止日は発表されていません。3.8 Flashでの追加トークン費用があなたのワークロードにおいて何のメリットももたらさない場合、現状維持は有効な選択肢です。

**3.8 FlashはLive APIや画像生成をサポートしていますか?** いいえ。テキスト出力のみです。このモデルでは、音声生成、画像生成、Live APIはサポートされていません。

次に進むべき場所

これで、2つの動作する呼び出しパス、複数ターンのパターン、およびトークン使用量チェックが手に入りました。ここからは、関数呼び出しガイドでツールを連携させ、思考レベルの投稿でルートごとのレベルを決定し、そもそも移行すべきかまだ悩んでいる場合は、3.8と3.7 Flashの比較でそのトレードオフが示されています。コストの変動がテストの失敗として現れるように、Apidogシナリオを実行し続けてください。

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

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