Gemini CLI 設定
Gemini CLI は Google の AI コーディングアシスタントで、大きなコンテキストを扱うコード作業に便利です。
先に「環境設定」の章を完了し、Node.js と npm がインストールされていることを確認してください。
Linux / macOS
ステップ 1: Gemini CLI をインストール
npm i -g @google/gemini-cli
ステップ 2: 環境変数を設定
~/.bashrc または ~/.zshrc に追加します:
# API base URL: domain only, do not append /v1beta
export GOOGLE_GEMINI_BASE_URL="https://api.icodeeasy.cc"
# Use your I Code Easy API Key
export GEMINI_API_KEY="your API Key"
# Recommended fast model. You can also use stronger models such as gemini-3.1-pro-preview
export GEMINI_MODEL="gemini-3.7-flash"
# Explicitly use Gemini API v1beta
export GOOGLE_GENAI_API_VERSION="v1beta"
ファイルを保存し、source ~/.bashrc または source ~/.zshrc を実行します。
注意:
GOOGLE_GEMINI_BASE_URLをhttps://api.icodeeasy.cc/v1betaにしないでください。Gemini CLI が/v1beta/v1beta/models/...のようなパスを作ってしまいます。 利用中のネットワークでapi.icodeeasy.ccが遅い場合は、GOOGLE_GEMINI_BASE_URLをhttps://jp.icodeeasy.ccまたはhttps://sg.icodeeasy.ccに変更してください。この場合も/v1betaは付けません。
ステップ 3: Gemini を起動
cd your-project-folder
gemini
Windows
ステップ 1: Gemini CLI をインストール
npm i -g @google/gemini-cli
ステップ 2: 環境変数を設定 in PowerShell
# API base URL: domain only, do not append /v1beta
[Environment]::SetEnvironmentVariable("GOOGLE_GEMINI_BASE_URL", "https://api.icodeeasy.cc", "User")
# Use your I Code Easy API Key
[Environment]::SetEnvironmentVariable("GEMINI_API_KEY", "your API Key", "User")
# Recommended fast model. You can also use stronger models such as gemini-3.1-pro-preview
[Environment]::SetEnvironmentVariable("GEMINI_MODEL", "gemini-3.7-flash", "User")
# Explicitly use Gemini API v1beta
[Environment]::SetEnvironmentVariable("GOOGLE_GENAI_API_VERSION", "v1beta", "User")
環境変数を設定した後、新しい PowerShell ウィンドウを開いてください。
利用中のネットワークで api.icodeeasy.cc が遅い場合は、GOOGLE_GEMINI_BASE_URL を https://jp.icodeeasy.cc または https://sg.icodeeasy.cc に変更してください。この場合も /v1beta は付けません。
ステップ 3: Gemini を起動
新しい PowerShell ウィンドウを開き、プロジェクトディレクトリに移動して起動します:
cd your-project-folder
gemini
モデル選択
よく使うモデル:
| 用途 | モデル |
|---|---|
| 新しい高速モデル | gemini-3.7-flash |
| 前世代の高速モデル | gemini-3.6-flash |
| 高速レスポンス | gemini-3-flash-preview |
| 低コスト高速 | gemini-2.5-flash |
| より強い推論 | gemini-3.1-pro-preview |
| 安定版 2.5 Pro | gemini-2.5-pro |
Gemini CLI 内蔵の flash オプションは、古い gemini-3-flash-preview に解決される場合があります。クライアントやプラグインが gemini-3-flash を送信した場合、このサービスは自動的に gemini-3-flash-preview にマッピングします。テキストモデル gemini-2.5-flash も引き続き利用できます。2026-08-03 以降は名前どおり直接提供され(gemini-3.6-flash への透過的アップグレードは廃止)、2.5 Flash の料金で課金されます。
Raw API テスト例
CLI を使わずにネイティブ Gemini API を直接テストする場合:
curl "https://api.icodeeasy.cc/v1beta/models/gemini-3.7-flash:streamGenerateContent?alt=sse" \
-H "x-goog-api-key: your API Key" \
-H "Content-Type: application/json" \
-d '{
"contents": [
{
"role": "user",
"parts": [{"text": "Hello, briefly introduce yourself"}]
}
]
}'
非ストリーミングのエンドポイントパス:
/v1beta/models/{model}:generateContent
ストリーミングのエンドポイントパス:
/v1beta/models/{model}:streamGenerateContent?alt=sse
動画分析デモ
Gemini モデルは動画理解入力をサポートしています。動画を inlineData(base64)としてリクエストと一緒に送信すると、モデルが動画を視聴し、指定した形式で分析結果を返します。動画に対応する主なモデル: gemini-3.7-flash、gemini-3.6-flash。
以下は完全に実行可能なデモです: ローカルの MP4 を読み込み → リクエストを組み立て → 非ストリーミング呼び出し → JSON 結果を抽出・検証します。
# 0) 先に I Code Easy の API Key を設定します
export ICODEEASY_API_KEY="your API Key"
# 1) ローカル動画を base64 に変換(macOS: base64 -i demo.mp4 | tr -d '\n' > demo.b64)
base64 -w0 demo.mp4 > demo.b64
# 2) jq でリクエストを組み立て、巨大な JSON の手書きを回避します
jq -n --rawfile data demo.b64 '{
contents: [
{
role: "user",
parts: [
{text: "この動画を視聴し、内容の要約・シーンごとの説明・キーワードを Schema に厳密に従った JSON で返してください。"},
{inlineData: {mimeType: "video/mp4", data: $data}}
]
}
],
generationConfig: {
temperature: 0.1,
responseMimeType: "application/json",
responseJsonSchema: {
type: "object",
properties: {
summary: {type: "string"},
scenes: {type: "array", items: {type: "string"}},
keywords: {type: "array", items: {type: "string"}}
},
required: ["summary", "scenes", "keywords"],
additionalProperties: false
}
}
}' > video-request.json
# 3) 非ストリーミング呼び出し
curl --silent --show-error \
"https://api.icodeeasy.cc/v1beta/models/gemini-3.7-flash:generateContent" \
-H "x-goog-api-key: ${ICODEEASY_API_KEY}" \
-H "Content-Type: application/json" \
--data-binary @video-request.json \
--output video-response.json
# 4) 終了状態を確認し、業務 JSON を抽出します
jq -e '.candidates[0].finishReason == "STOP"' video-response.json > /dev/null
jq -r '[.candidates[0].content.parts[]? | select(.thought != true) | (.text // "")] | join("")' \
video-response.json > video-result.json
jq -e . video-result.json
動画が認識されたことを確認できます(promptTokensDetails に VIDEO モダリティのトークン数が表示されます):
jq '.usageMetadata' video-response.json
注意事項:
- 動画は入力トークンとしてテキストと同じ料金で課金されます。
usageMetadataのVIDEOモダリティのトークン数が課金の根拠です。 - base64 は元の動画より約 1/3 大きくなります。1 本あたり 10〜15 MB 程度に抑え、長い動画は分割して送信してください。
fileDataのfileUriによる外部 URL の受け渡しはサポートされていません。モデルサービスは外部リンクを取得しません。動画は必ずローカルにダウンロードし、上記のデモのようにinlineDataで送信してください。- 動画リクエストの所要時間は動画の長さに応じて増えるため、クライアントのタイムアウトを長めに設定してください(5 分以上を推奨)。混雑時には稀に 503 / 「サービスは一時的に利用できません」が返ることがあります。数十秒おいて再試行してください。
- このエンドポイントは動画理解/分析向けであり、動画生成は含みません。
よくある質問
| 症状 | 原因 | 対処 |
|---|---|---|
リクエストパスに /v1beta/v1beta/models/... が含まれる | GOOGLE_GEMINI_BASE_URL に /v1beta が含まれている | https://api.icodeeasy.cc を使う |
api.icodeeasy.cc が遅い | プライマリドメインへのネットワーク経路が悪い | /v1beta を付けずに https://jp.icodeeasy.cc または https://sg.icodeeasy.cc を使う |
model_not_found: gemini-3-flash | 利用可能なモデル ID は preview 名を使用する | gemini-3-flash-preview を使う。このサービスも自動マッピングします |
| 401 / 認証なし | I Code Easy API Key が設定されていない | GEMINI_API_KEY="your API Key" を設定する |
/v1/responses 経由で Gemini が失敗する | Gemini CLI は OpenAI Responses API ではなく Gemini ネイティブ API を使う | /v1beta/models/{model}:generateContent を使うか、Gemini CLI に自動送信させる |