◉GEMINI LABEN
●ARGON — gemini-4-argon が 10/13 に GA。複雑なコーディング・エージェント・数学・科学向けです●DEEP RES — 旧 Deep Research エージェントは 10/23 に停止済み。呼び出しが失敗する場合は deep-research-preview-04-2026 へ●NANO — gemini-nano-banana-2.1 が GA(10/06)。gemini-3.1-flash-image は非推奨で停止日は未発表です●CLI — Gemini API CLI(gemini-api)がベータで登場(10/27)。エージェントやCI向けのゼロ依存クライアントです●STORE — 新規の有料プロジェクトでは生成リクエストの保存(store)が既定でオンになります(10/26)●NEW — クラッシュ報告を毎回ゼロから読ませない — 既知バグ早見表を先に grep し…●ARGON — gemini-4-argon が 10/13 に GA。複雑なコーディング・エージェント・数学・科学向けです●DEEP RES — 旧 Deep Research エージェントは 10/23 に停止済み。呼び出しが失敗する場合は deep-research-preview-04-2026 へ●NANO — gemini-nano-banana-2.1 が GA(10/06)。gemini-3.1-flash-image は非推奨で停止日は未発表です●CLI — Gemini API CLI(gemini-api)がベータで登場(10/27)。エージェントやCI向けのゼロ依存クライアントです●STORE — 新規の有料プロジェクトでは生成リクエストの保存(store)が既定でオンになります(10/26)●NEW — クラッシュ報告を毎回ゼロから読ませない — 既知バグ早見表を先に grep し…
記事一覧/開発ツール
⟐ 開発ツール/2026-10-29中級

gemini-api を入れる前に — Gemini CLI とは別物だと分かってから決めた、置き場所と最初の一手

10/27 に出た Gemini API CLI(gemini-api・ベータ)は、Gemini CLI の後継ではありません。README を読んで分けた置き場所と、課金の前に dry-run で確かめる手順、CI での版固定を整理しました。

Gemini API CLIgemini-api293Interactions API7Gemini CLI12CI9

release notes を上から読んでいて、10/27 の行で手が止まりました。「Gemini API CLI(gemini-api)がベータで登場」。名前のなかに Gemini も CLI も入っているので、一瞬、既存の Gemini CLI の新しい姿だと受け取ってしまったのです。

念のため GitHub の README を開いて、読み違いに気づきました。別の道具でした。入れてから気づくより、入れる前に気づけてよかったと思っています。ここからは、README と install スクリプトの冒頭を読んで私が付けた線引きを、書き残してまいります。

なお、先にお断りしておきます。私はこの記事を書いた時点で、gemini-api を実際に走らせて課金の出る呼び出しをしたわけではありません。ここに書くのは「読んで確かめられたこと」と「入れる前に私が決めたこと」です。動作の実測値は載せていません。

最初にお伝えしたいのは、コーディングエージェントではないということ

README の説明を要約すると、gemini-api は Gemini Interactions API をシェルから呼ぶための単機能コマンド群です。Go 製の単一バイナリで、ローカルに会話の状態を持ちません。

一方、Gemini CLI は対話しながらファイルを読み書きし、コマンドを実行するコーディングエージェントでした。個人向けの提供が 6/18 で止まったことは、先に個人向け提供停止の移行計画にまとめています。つまり gemini-api を「Gemini CLI の置き換え」として入れても、期待した動きにはなりません。

道具役割状態の持ち方向いている場面
Antigravity CLI など(旧 Gemini CLI の後継の流れ)対話してコードを書き換えるエージェントセッション単位人が横にいる開発作業
gemini-api(ベータ)Interactions API を呼ぶ 1 回きりのコマンドCLI 側は持たないスクリプト・CI・他のエージェントからの呼び出し
google-genai SDKアプリのコードから API を呼ぶコード側で管理製品に組み込む処理

README が挙げているコマンドは、生成系(generate・image・tts・music・video)、理解系(analyze・transcribe)、管理系(agent・files・models・configure・whoami)、それに environments・credentials・webhooks・triggers です。眺めてみて、これは「人が使う道具」というより、シェルを扱えるエージェントや CI が持ち歩く道具箱なのかもしれません。

入れる前に確かめられること — dry-run と whoami

多言語のストア文面や画像の下ごしらえを、個人開発のなかでスクリプトから回す場面を考えると、この道具が効きそうな場所は思い浮かびます。ただ、ベータで課金が絡む道具に、最初から本番のキーを渡したくはありません。

そこで私が最初に試すと決めたのは、ネットワークに出ない --dry-run です。README によれば、入力を検証し、認証情報を伏せた HTTP リクエストを表示するだけで、通信もキーチェーンの読み取りも行いません。

# 解決したいこと: 課金の前に「何が送られるか」を目で確かめる
# 試すキーはまだ設定しない。--dry-run は通信しない
gemini-api generate "Hello from my agent" --dry-run
 
# 送るリクエストの型を知りたいときは JSON Schema を書き出す
gemini-api image --schema > image-schema.json
 
# コマンド全体の地図(フラグ・既定値・環境変数)を機械可読な形で出す
gemini-api --usage > gemini-api-usage.kdl

なぜこの順にするのか。--schema と --usage で「何を渡せるか」を先に把握し、--dry-run で「実際に何が組み立てられるか」を確かめれば、課金の出る呼び出しをする前に、引数の取り違えをほとんど潰せるからです。出力の細部は私の環境ではまだ見ていないので、お手元で確かめていただければ幸いです。

キーを設定するときは、環境変数か configure を使います。どのキーが効いているかは whoami で確かめられます。

# 作業用の端末にだけキーを置く場合
export GEMINI_API_KEY="YOUR_API_KEY"
gemini-api whoami   # 有効な設定と、認証情報の出どころを確認する

README では、キーを OS のキーチェーンか ~/.config/gemini-api/config.yaml に保存することもできると案内されています。共有の CI 端末に configure で永続化するのは避け、そこでは環境変数だけで渡すのが私の好みです。

CI に入れるなら、版を固定する

README は、ベータなので版の間で破壊的な変更がありうると注意しています。そのうえで CI や自動化では特定のリリースを固定するよう勧めています。

install スクリプトの冒頭を読むと、GEMINI_VERSION で版を、GEMINI_INSTALL_DIR で入れる先を指定できると書かれていました。既定は /usr/local/bin、書けないときは ~/.local/bin に入れる作りのようです。

# 解決したいこと: 「最新」ではなく、確かめた版だけを CI に入れる
# 1) スクリプトを一度ファイルに落として、中身を読んでから実行する
curl -fsSL https://raw.githubusercontent.com/google-gemini/gemini-api-cli/main/scripts/install.sh -o install.sh
less install.sh
 
# 2) 版と入れ先を明示する(VERSION は GitHub Releases で確認した値に置き換える)
GEMINI_VERSION="vX.Y.Z" GEMINI_INSTALL_DIR="$HOME/.local/bin" bash install.sh

README にある curl ... | bash の一行は手軽ですが、私は一度ファイルに落として読んでから実行するようにしています。外から取ってきたスクリプトに、読まずに権限を渡すことは避けています。ベータの道具ならなおさらです。

読み飛ばしかけた点 — 「CLI が状態を持たない」は「何も残らない」ではない

最初のうち、私は「ステートレス」という言葉を、そのまま「どこにも履歴が残らない」と受け取りかけていました。結果から言うと、それは読み違いです。

README が述べているのは、CLI がローカルに会話の状態を持たない、という点だけです。サーバー側の interaction や、アップロードしたファイルには、それぞれの保持の仕組みがあります。さらに 10/26 の release notes では、新しい有料プロジェクトで Generate Content API の store が既定でオンになりました。個人情報を含む入力をスクリプトに流すなら、CLI の性質ではなく、呼び出し先の保存設定を見る必要があります。

この点は、状態をサーバー側に置くか手元で刈り込むかを比べたInteractions API の状態管理の記事とも地続きです。

読み違えに気づいたあとで、私は次のように線引きを改めました。CLI が忘れることと、サーバーが覚えていることは、別々に確かめます。 個人開発の手元スクリプトでも、この二つを混ぜないようにしています。

どこから始めるか

私の現時点の判断は、次のとおりです。

  • 人が横にいる開発作業は、これまでどおり対話型のエージェントに任せ、gemini-api には置き換えません
  • シェルや CI から 1 回きりで呼びたい処理だけを、gemini-api の候補にします
  • 候補にした処理は、まず --dry-run と --schema で形を確かめ、課金の出る呼び出しはその後にします
  • CI へ入れる前に、版を固定し、スクリプトの中身を読みます

似た整理は、Gemini CLI と Claude Code の比較でも、役割で道具を分ける形で書いています。

まずは手元の端末で gemini-api generate "Hello from my agent" --dry-run を一本だけ打ち、何が組み立てられるかを眺めるところから始めていただければと思います。ベータの道具とは、そのくらいの距離から付き合い始めるのがちょうどよい——と、いまは感じています。

シェア

お読みいただきありがとうございます

Gemini Lab は広告なしで運営しており、サーバー費用などの運営コストはメンバーシップのご支援で賄っています。実装コード・ベンチマーク・本番設計パターンなど、実務でお役立ていただける記事を毎日更新しています。もし読んでよかったと感じていただけましたら、ぜひご覧ください。

  • ✦コピー&ペーストで使える実装コード付き
  • ✦毎日新しい上級ガイドを追加
  • ✦¥580/月 または ¥1,480 の永久アクセス
メンバーシップを見る →

もしこの記事がお役に立ちましたら、チップ(¥150)で応援いただけると大変励みになります。広告なしでの運営を続けるため、皆さまのご支援が大きな力になっています。

関連記事

⟐ 開発ツール2026-10-29
夜間バッチが朝まで止まっていた — gemini-api の終了コードで「再試行してよい失敗」を分ける
10/27 にベータで出た gemini-api CLI は、終了コードが 0・1・2・3 の四つ。どれを再試行し、どれで夜間バッチ全体を止めるか。bash のラッパーと、再実行で二重に課金される落とし穴をまとめました。
⟐ 開発ツール2026-10-24
MCP を足すほど 400 エラーに近づく — Gemini CLI のツール数を、タスクごとの持ち物に絞る
MCP サーバーを足していったら Gemini CLI が 400 で止まる、という報告が出ています。上限の数字は確定していませんが、includeTools でタスクごとに持ち物を決めておけば、原因の切り分けも予防もできます。
⟐ 開発ツール2026-10-19
MCP のタイムアウトを 10 分にしたのに 1 分で切れる — 値を決めている層を順に辿る
Gemini CLI で MCP サーバーの timeout を長くしたのに、想定より早く切れる。設定ファイルの層ごとに値を並べ、単位の取り違えや拡張側の上書きを見つける小さなスクリプトと、切り分けの順番を書き残します。