ここまではGeminiを使う話でした。ここからは、自分のプログラムやサービスへ組み込む話です。
コードが出てきますが、雰囲気だけつかんで読み飛ばして構いません。他の章の理解には影響しません。ただしアプリとAPIでデータの扱いが違う。ここだけは、開発をしない人にも知っておいてほしい。
シリーズ目次 / 前章: 11. Gemini Google製品への広がり / 次章: 13. Geminiの限界とリスク
Table of contents
Open Table of contents
この章のねらい
- 開発者向けの入口が複数あることを把握し、使い分けられるようになる
- Gemini APIの最小構成を読めるようになる
- アプリ利用とAPI利用の違い(特にデータの扱いと課金)を理解する
- 長く動かすシステムで気をつけるべき点を知る
4つの入口
開発者から見ると、Geminiには次の入口があります。
| 入口 | 位置づけ | 向く場面 |
|---|---|---|
| Google AI Studio | ブラウザ上で試す場所。APIキーもここで発行 | 動作確認、プロンプトの試作 |
| Gemini API | 自分のプログラムから呼び出す | サービスへの組み込み全般 |
| Gemini Enterprise Agent Platform | 企業向けの運用基盤(旧Vertex AI) | 権限管理、監査、大規模運用 |
| Antigravity | エージェント型の開発環境とCLI | コードを書く作業そのものを任せる |
公式ドキュメントは、特別な企業要件がなければまずGemini APIを使うよう勧めています。企業向けプラットフォームは、必要になってから移ればいい。
かつてのVertex AIは、2026年時点で Gemini Enterprise Agent Platform という名称に整理されました。開発者向けCLIの Gemini CLI も Antigravity CLI への移行が案内されています(一部の法人向けライセンスでは従来どおり使えます)。この領域は名称変更が特に多いので、記事の名前より公式ドキュメントを見てください。
最小構成を見てみる
APIキーをGoogle AI Studioで発行して、環境変数に入れます。キーをソースコードに直接書かないでください。
export GEMINI_API_KEY="<YOUR_API_KEY>"
Pythonの例です。
from google import genai
client = genai.Client()
interaction = client.interactions.create(
model="gemini-3.6-flash",
input="AIの仕組みを短く説明して",
)
print(interaction.output_text)
JavaScriptでも同じ構造です。
import { GoogleGenAI } from "@google/genai";
const ai = new GoogleGenAI({});
const interaction = await ai.interactions.create({
model: "gemini-3.6-flash",
input: "AIの仕組みを短く説明して",
});
console.log(interaction.output_text);
Geminiの現行APIは Interactions API と呼ばれ、interactions.create が基本の呼び出しです。以前のバージョンでは generateContent という名前でした。古い記事やサンプルを読むときは、ここでつまずきます。
役割を固定する
第6章の役割にあたるものは、system_instruction で指定します。
interaction = client.interactions.create(
model="gemini-3.6-flash",
system_instruction="あなたは社内文書の校正者です。数値と固有名詞は変更しないでください。",
input="(校正したい文章)",
)
会話を続ける
複数回のやりとりでは、直前のやりとりのIDを渡します。会話の履歴はサーバー側が保持するので、自分で全履歴を送り直さずに済みます。
first = client.interactions.create(
model="gemini-3.6-flash",
input="犬を2匹飼っています",
)
second = client.interactions.create(
model="gemini-3.6-flash",
input="家の中に足は何本ありますか",
previous_interaction_id=first.id,
)
考える量を指定する
第4章で扱った思考レベルも指定できます。
interaction = client.interactions.create(
model="gemini-3.6-flash",
input="(複雑な設計上の判断)",
generation_config={"thinking_level": "high"},
)
minimal / low / medium / high の4段階です。指定しなければ、モデルごとの既定値のもとで自動調整されます。
アプリ利用とAPI利用の決定的な違い
ここが、開発をしない人にも知っておいてほしい部分です。
| 観点 | Geminiアプリ | Gemini API |
|---|---|---|
| 料金 | プランごとの定額 | 使ったトークン量に応じた従量課金 |
| 前提の下ごしらえ | アプリが自動で行う | 自分で組み立てる |
| 検索との連携 | 自動的に行われる場面がある | 明示的に組み込む必要がある |
| データの扱い | プランと設定に従う | 有料利用では入力・出力が学習に使われない扱いが基本 |
| 安全機能 | アプリ側の対策込み | 自分で設定・検証する必要がある |
5つの観点をそろえて並べると、判断が変わる行が浮かび上がります。
4行目を見てください。個人向けアプリでは会話が保存され、一部が改善のために使われることがあります(第14章)。一方、有料のAPI利用では、送ったデータをモデルの学習に使わない扱いが基本です。無料枠の扱いは条件が違うことがあるので、必ず利用規約で確認してください。
業務データをAIに渡してよいか。この判断は、同じGeminiでも入口によって答えが変わります。
課金の考え方
課金はトークン単位です。入力トークンと出力トークンで単価が違い、出力のほうが高いのが一般的。
見落とすのは次の2点です。
- 思考トークンも課金対象。短い回答でも、裏で長く考えていれば費用がかかります
- 長い文脈は毎回課金される。同じ資料を毎回送ると、そのぶん毎回請求されます
2つめの対策がコンテキストキャッシュです。繰り返し使う長い資料をキャッシュしておくと、キャッシュされた入力トークンの単価が下がります。ただしトークン課金がなくなるわけではありません。出力トークンやキャッシュされていない入力は別途課金されますし、キャッシュ方式によっては保存時間に応じた料金も出ます。
見落としと、費用を下げる順序を1枚にまとめます。
費用を下げる基本の順序はこうなります。
- まずFlash-Lite系やFlash系で足りないか試す(第2章)
- 思考レベルを下げられないか試す
- 繰り返す長い文脈をキャッシュする
- 不要な履歴を送っていないか見直す
長く動かすシステムでの注意
| 注意点 | 対処 |
|---|---|
| モデルが提供終了する | モデルIDを設定として外に出し、差し替え可能にする |
| プレビュー版は挙動が変わる | 本番は安定版を使う |
| 出力形式が揺れる | 構造化出力の指定と、受け取り側での検証を入れる |
| 応答時間が読めない | タイムアウトと再試行を設計する |
| 入力に外部データが混ざる | プロンプトインジェクション対策を入れる(第13章) |
起きることと対処を、対にして並べます。
実務で効くのは1行目です。モデルの提供終了は必ず起きます。1か所直せば切り替わる構造にしておけば、移行が数分で済みます。
要点
- 入口はAI Studio(試す)、Gemini API(組み込む)、企業向けプラットフォーム(運用要件)、Antigravity(開発作業)の4つ
- 現行APIはInteractions APIで、
interactions.createが基本。古い記事のgenerateContentとは別物 - 会話の継続は直前のやりとりのIDを渡すだけでよく、履歴はサーバー側で保持される
- アプリ利用とAPI利用ではデータの扱いが異なり、有料API利用では学習に使わない扱いが基本
- 課金はトークン単位で思考トークンも対象。モデルIDは差し替えられる形にしておく
参考資料
- Gemini API ドキュメント「Quickstart」 https://ai.google.dev/gemini-api/docs/quickstart — APIキーの発行と最小コード(基準日: 2026-08-04)
- Gemini API ドキュメント「Text generation」 https://ai.google.dev/gemini-api/docs/text-generation — Interactions API、システム指示、会話の継続
- Gemini API ドキュメント「Thinking」 https://ai.google.dev/gemini-api/docs/thinking — 思考レベルの指定と課金
- Gemini API ドキュメント「Gemini Developer API vs. Gemini Enterprise Agent Platform」 https://ai.google.dev/gemini-api/docs/migrate-to-cloud — 入口の使い分け
- Google Developers Blog「An important update: Transitioning Gemini CLI to Antigravity CLI」 https://developers.googleblog.com/an-important-update-transitioning-gemini-cli-to-antigravity-cli/ — CLIの移行
シリーズ目次 / 前章: 11. Gemini Google製品への広がり / 次章: 13. Geminiの限界とリスク