OpenAI SDKでGeminiを呼び出す:base_url、API Key、モデル名だけを変更する接続チュートリアル
2026年6月14日 · 11分で読めます · GPT / Gemini / Claude

Google は非常に率直に説明しています。Gemini models は OpenAI の Python および TypeScript/JavaScript SDK からアクセスでき、要点はコードを 3 行変えるだけです。公式の互換性ドキュメントで示されているエンドポイントは https://generativelanguage.googleapis.com/v1beta/openai/、サンプルモデルは gemini-3.5-flash です(Google OpenAI 互換性)。これは既存の OpenAI SDK プロジェクトにとって非常に扱いやすい方法です。先に provider 抽象を分解する必要も、呼び出しスタック全体を入れ替える必要もなく、まず動かしてみることができます。

まず呼び出したいモデルを確認する
2026-06-14 時点で、Google のモデルページでは Gemini 3.5 Flash が Stable として掲載され、モデルコードは gemini-3.5-flash と説明されています。このモデルの入力上限は 1,048,576 tokens、出力上限は 65,536 tokens で、テキスト、画像、動画、音声、PDF の入力に対応し、出力はテキストです(Gemini 3.5 Flash)。モデルページの最終更新日は 2026-05-19 UTC です。
料金も当日のドキュメントを確認する必要があります。Google の料金ページは 2026-06-09 UTC に最終更新されており、gemini-3.5-flash の Standard paid tier は、入力が $1.50 / 1M tokens、出力が $9.00 / 1M tokens とされています。出力料金には thinking tokens が含まれます。Batch は入力が $0.75、出力が $4.50 です(Gemini API 料金)。
| モデル | 状態 | 入力上限 | Standard 入力 | Standard 出力 |
|---|---|---|---|---|
gemini-3.5-flash |
Stable | 1,048,576 | $1.50 / 1M tokens | $9.00 / 1M tokens |
gemini-3-flash-preview |
Preview | モデルページを参照 | $0.50 / 1M tokens | $3.00 / 1M tokens |
gemini-3.1-flash-lite |
Stable | モデルページを参照 | $0.25 / 1M tokens | $1.50 / 1M tokens |
gemini-3-flash-preview と gemini-3.1-flash-lite は、Google の現在のモデルページおよび料金ページに基づいています(Models、Pricing)。Preview モデルをそのまま本番のデフォルト値にしないでください。バージョンや制限が変わる可能性があります。
Python:OpenAI client を Gemini に向ける
まず SDK をインストールします。
pip install openai
export GEMINI_API_KEY="你的 Gemini API Key"
そのうえで、OpenAI SDK の呼び出し方をそのまま維持します。
import os
from openai import OpenAI
client = OpenAI(
api_key=os.environ["GEMINI_API_KEY"],
base_url="https://generativelanguage.googleapis.com/v1beta/openai/",
)
resp = client.chat.completions.create(
model="gemini-3.5-flash",
messages=[
{"role": "system", "content": "你是一个简洁的工程助手。"},
{"role": "user", "content": "用三句话解释什么是 API 兼容层。"},
],
)
print(resp.choices[0].message.content)
実際の変更点は 3 つだけです。api_key を Gemini key に変更し、base_url を Google の OpenAI-compatible endpoint に変更し、model を Gemini のモデル名に変更します。公式サンプルの URL 末尾には / が付いている点に注意してください。うっかり削ってから 404 を調査する羽目にならないようにしましょう。

TypeScript:同じく baseURL を使う
Node プロジェクトでも同じです。
npm install openai
export GEMINI_API_KEY="你的 Gemini API Key"
import OpenAI from "openai";
const openai = new OpenAI({
apiKey: process.env.GEMINI_API_KEY,
baseURL: "https://generativelanguage.googleapis.com/v1beta/openai/",
});
const response = await openai.chat.completions.create({
model: "gemini-3.5-flash",
messages: [
{ role: "user", content: "给我一个 JSON Schema 校验的最小例子。" },
],
});
console.log(response.choices[0].message.content);
プロジェクトですでに provider を環境変数として抽象化しているなら、変更はさらに小さくなります。
OPENAI_BASE_URL="https://generativelanguage.googleapis.com/v1beta/openai/"
OPENAI_API_KEY="$GEMINI_API_KEY"
OPENAI_MODEL="gemini-3.5-flash"
多くの古いプロジェクトの落とし穴はここにあります。変数名がまだ OPENAI_API_KEY のままでも問題ありません。値には Gemini key を入れられます。リクエストがどこへ行くかを本当に決めるのは base_url/baseURL です。
ストリーミング、ツール呼び出し、thinking はどうするか
Google の互換性ドキュメントには、streaming、function calling、structured outputs、image understanding などの例が掲載されています(OpenAI 互換性)。既存の OpenAI SDK プロジェクトでは、通常まず 3 つを検証します。通常の chat、stream=True、tools/function calling です。これらが通ってから、モデル固有の機能を扱うのがよいでしょう。
thinking パラメータは慎重に扱う必要があります。互換性ドキュメントには、OpenAI の reasoning_effort が Gemini の thinking 設定にマッピングされると書かれています。ただし、Gemini 3 と一部の 2.5 モデルでは thinking を完全には無効化できません。私の提案はシンプルです。最初のバージョンでは thinking を調整せず、まずデフォルト値で品質とコストのベースラインを作り、その後で長時間タスク、コードエージェント、複雑な推論経路において個別に負荷検証を行います。
複数の Key 管理を減らしたい場合
公式への直接接続は、本格的な本番環境に向いています。請求、制限、データポリシーが明確だからです。問題は、チームが Gemini だけを使うことは少なく、Claude や GPT も使い、さらにツールごとに異なる key を設定する必要があることです。手間を減らす方法として onehop があります。OpenAI SDK の base URL を https://api.onehop.ai/v1 に変更すれば、同じ OpenAI/Anthropic 互換入口から Claude/GPT/Gemini を呼び出せます。新規アカウントには $10 が付与され、カード登録不要なので、まず demo や社内ツールを動かすのに向いています。
import os
from openai import OpenAI
client = OpenAI(
api_key=os.environ["ONEHOP_API_KEY"],
base_url="https://api.onehop.ai/v1",
)
resp = client.chat.completions.create(
model=os.environ["ONEHOP_MODEL"],
messages=[{"role": "user", "content": "把这段日志总结成 5 条排障线索。"}],
)
print(resp.choices[0].message.content)
ここでは意図的に model を環境変数にしています。ゲートウェイのモデル名はコンソールを正とし、コードにハードコードしないでください。複数ベンダーの請求や互換レイヤーの運用を減らしたい場合は、そのまま試せます:onehop で Claude などのモデルを呼び出す、または先にクレジットを受け取る:登録で $10 のお試しクレジットを取得。
接続前の最終チェック
本番投入前に、テキストが返るかどうかだけを見てはいけません。少なくとも 4 つ確認してください。第一に、モデルが Google の現在のモデルページでまだ利用可能であること。第二に、料金ページで入力、出力、Batch、Search grounding の費用を照合すること。第三に、401、429、5xx のエラーログを完全に出力すること。第四に、base_url、api_key、model を実行時設定にし、モデル切り替えのためにリリースが必要にならないようにすることです。
今回の接続の要点は「別のモデルベンダーに乗り換える」ことではなく、SDK レイヤーとモデルプロバイダーを切り離すことです。まず Google 公式の OpenAI compatibility で gemini-3.5-flash を動かし、その後で直接接続にするか、ゲートウェイにするか、あるいは両方を併用するかを決めればよいでしょう。こうすれば変更は小さく、ロールバックも速くなります。
関連記事

OpenAI SDKでGroq GPT-OSS 120Bを使う:Base URL、料金、キャッシュ
OpenAI SDKのbase URLを1つ差し替えてGroq上でGPT-OSS 120Bを動かし、キャッシュ済みトークンのコストを見積もり、ツール課金の想定外を避ける。
2026年6月17日 · 21分で読めます

OpenAI SDKでGemini APIを呼び出す:base_url、API Key、モデル名だけを変更する移行チュートリアル
既存のOpenAI SDKプロジェクト向けGemini互換インターフェース移行チェックリスト。コード、パラメータ対応、料金を含む。
2026年6月14日 · 9分で読めます

OpenAI SDKでGemini APIを呼び出す:base_url・key・モデル名だけを変更する接続チュートリアル
既存のOpenAI SDKコードでGeminiに接続するには、最小限の変更として3つの設定を変えるだけで済みます。
2026年6月14日 · 9分で読めます