GeminiAPIを無料枠で使おうとしてうっかり課金された話
はじめに
GeminiAPIで何か始めてみようという方で、既にGoogleCloudに課金を有効にしたプロジェクトが存在する場合、要注意です。
私は無料枠は一定の使用量を超えたら使い切るイメージで勝手に思い込んでいた結果、gemini-2.5-flashモデルを10回もコールしていない状況で4円もかかってしまいました。
(むしろ4円の請求で気がつけて良かったと思っています)
もし初めてGeminiAPIを使う方がいて、たまたまこの記事を見ましたら
同じ失敗を決してして欲しくないという気持ちで書いております。
[Gemini Developer API の料金]
結論、まずはここを確認する
まず、結論課金されるAPI Keyなのかどうかは、ここを確認すればOKです。
プランに「Free」と表記されていれば、無料枠で使えると判断できます。

他にTier 1〜3と表記されていれば、私のように速攻課金対象になるでしょう。
では実際にどういう設定だとFreeと表記されるのかを解説します。
Google Cloudの設定確認
初めての方は、GeminiAPIを使用する目的専用のプロジェクトを作成すると良いでしょう。
ここでは仮で〇〇-gemini-labというプロジェクトを作成しました。
プロジェクトの準備が出来たら、まずはGoogle Cloudのコンソールから、「課金」のページを開きます。
サイドメニューの下部にある、「アカウント管理」を選択します。
gemini用のプロジェクトの横にある3点リーダーを選択し、「課金を無効にする」を選択します。

確認画面が出ますので、「課金を無効にする」を選択します。
※GeminiAPI専用プロジェクトの作成をおすすめしたのは、他のリソースの影響範囲を気にしないためです。

Google AI StudioでAPI Keyを作成
次に、Google AI StudioのAPI Key作成画面で、「API Keyを作成」を選択します。

先ほど課金を無効にしたプロジェクトを選択します。

作成したKeyが、冒頭で説明したように「Free」の表示であることを確認します。
試しにFreeのAPI Keyを使ってみる
AI Studioにサンプル表示されている通りにAPI Keyを使用してみます。
% GEMINI_API_KEY=XXXXXXXXXXXXXXXX
% curl "https://generativelanguage.googleapis.com/v1beta/models/gemini-2.0-flash:generateContent" \
-H 'Content-Type: application/json' \
-H "X-goog-api-key: $GEMINI_API_KEY" \
-X POST \
-d '{
"contents": [
{
"parts": [
{
"text": "Explain how AI works in a few words"
}
]
}
]
}'
{
"candidates": [
{
"content": {
"parts": [
{
"text": "AI learns patterns from data to make predictions or decisions.\n"
}
],
"role": "model"
},
"finishReason": "STOP",
"avgLogprobs": -0.053760841488838196
}
],
"usageMetadata": {
"promptTokenCount": 8,
"candidatesTokenCount": 12,
"totalTokenCount": 20,
"promptTokensDetails": [
{
"modality": "TEXT",
"tokenCount": 8
}
],
"candidatesTokensDetails": [
{
"modality": "TEXT",
"tokenCount": 12
}
]
},
"modelVersion": "gemini-2.0-flash",
"responseId": "5wuQaMTuHPayxfcPzf-iWQ"
}
はい、無事レスポンスが返ってきました。
以下は上記含む2回ほどのcurlを実行した結果です。

おわりに
Gemini API Keyで何か始めるときは、必ずGoogle AI Studioでプランの表示がFreeかどうかを確認しましょう。
ここまで読んでいただきありがとうございました。
Discussion