ナビゲーションにスキップ

Gemini CLI で BeatAPI を使う

Gemini CLI で BeatAPI を使う

Gemini CLI は Gemini モデル向けのターミナルクライアントです。BeatAPI が直接提供するネイティブ Gemini プロトコル POST /v1beta/models/{model}:generateContent を使うため、変換層は不要で、ベース URL の変更だけで接続できます。

ベース URL はネイティブの Gemini プロトコルに対応している必要があります。CLI は /chat/completions ではなく {base}/v1beta/models/{model}:{action} を呼ぶため、OpenAI 互換エンドポイントだけでは利用できません。ネイティブの接続先 https://api.beatapi.io を、パスを付けずにそのまま指定してください。

前提条件

  1. Node.js と npm。 v16 以降が必要です。
  2. BeatAPI API キー。 ダッシュボード → API キーで作成します。

ステップ 1:Gemini CLI をインストールする

npm install -g @google/gemini-cli

インストールを確認します。

gemini --version

コマンドが見つからない場合は、ターミナルを再起動するか、npm のグローバル PATH を確認します。

ステップ 2:BeatAPI を指定する

必要な設定は 2 つの変数だけです。

永続的な設定(推奨)

echo 'export GEMINI_API_KEY="<BEATAPI_API_KEY>"' >> ~/.zshrc
echo 'export GEMINI_BASE_URL="https://api.beatapi.io"' >> ~/.zshrc
source ~/.zshrc

現在のターミナルだけに設定する

export GEMINI_API_KEY="<BEATAPI_API_KEY>"
export GEMINI_BASE_URL="https://api.beatapi.io"
gemini

.env ファイルで設定する

# .env
GEMINI_API_KEY=<BEATAPI_API_KEY>
GEMINI_BASE_URL=https://api.beatapi.io

キーをコミットしないよう、.env を .gitignore に追加します。

設定値を確認する

echo $GEMINI_API_KEY
echo $GEMINI_BASE_URL

ステップ 3:利用する

対話セッションを開始します。

gemini

単発のプロンプトを送信します。

gemini "Summarise the architecture of this repository"

モデルを明示的に選びます。

gemini --model gemini-3.1-pro-preview

CLI の初期モデルに任せず、モデル名を明示してください。アカウントにないモデルが初期値だと not_found になります。モデルを固定すると、CLI の更新で気付かないうちに別の料金へ切り替わることも防げます。

モデル

モデル ID用途
gemini-3.1-pro-preview最も高性能。難しい推論と長い分析
gemini-3.7-flash現在の高速モデル。日常作業と大量処理
gemini-3.6-flash固定した連携向けに維持される前世代の高速モデル

料金は料金ページ、リクエスト形式は Gemini API を参照してください。

同じモデルをコードから呼び出す

Gemini 互換エンドポイントは BeatAPI が提供する 4 つの形式の 1 つです。CLI 以外ではネイティブ形式に限定されません。

from openai import OpenAI
client = OpenAI(
api_key="<BEATAPI_API_KEY>",
base_url="https://api.beatapi.io/v1",
)
response = client.chat.completions.create(
model="gemini-3.7-flash",
messages=[{"role": "user", "content": "Explain this stack trace"}],
)
print(response.choices[0].message.content)
curl https://api.beatapi.io/v1/chat/completions \
-H "Authorization: Bearer <BEATAPI_API_KEY>" \
-H "Content-Type: application/json" \
-d '{
"model": "gemini-3.7-flash",
"messages": [{"role": "user", "content": "Explain this stack trace"}]
}'

よくある質問

認証エラー

  1. gemini を起動したターミナルで、両方の変数が設定されているか確認します。

    echo $GEMINI_API_KEY
    echo $GEMINI_BASE_URL
  2. ダッシュボード → API キーでキーが有効か確認します。

毎回 404 になります

GEMINI_BASE_URL は https://api.beatapi.io とし、/v1、/v1beta、末尾スラッシュは付けません。残りのパスは CLI が付加します。自分で追加すると、存在しない /v1/v1beta/models/... になります。

モデル一覧が空です

一覧ではなく --model で指定してください。アカウントのモデルは GET /v1/models や料金ページでも確認できます。

402 insufficient_credits

残高が 0、またはリクエストの料金に不足しています。ダッシュボードからチャージしてください。

429 rate_limit_exceeded

キーのリクエスト数が上限を超えました。Retry-After に従ってください。毎分の上限はチャージ累計額に応じて増え、ダッシュボードに表示されます。

接続に失敗します

ネットワーク接続を確認し、GEMINI_BASE_URL の誤字を確認します。社内プロキシでは api.beatapi.io への通信を許可してください。

サポート

ダッシュボードからチケットを作成し、失敗したレスポンスの request_id を添えてください。