Providers
Google(Gemini)
Google Plugin は、Google AI Studio を介した Gemini モデルへのアクセスに加え、画像生成、メディア理解(画像/音声/動画)、テキスト読み上げ、Gemini Grounding によるウェブ検索を提供します。
- プロバイダー:
google - 認証:
GEMINI_API_KEYまたはGOOGLE_API_KEY - API: Google Gemini API
- ランタイムオプション:
agentRuntime.id: "google-gemini-cli"を指定すると、モデル参照を正規のgoogle/*に保ちながら Gemini CLI OAuth を再利用できます。
はじめに
希望する認証方法を選択し、セットアップ手順に従ってください。
API キー
最適な用途: Google AI Studio を介した標準的な Gemini API アクセス。
オンボーディングを実行する
openclaw onboard --auth-choice gemini-api-keyまたは、キーを直接渡します。
openclaw onboard --non-interactive \ --mode local \ --auth-choice gemini-api-key \ --gemini-api-key "$GEMINI_API_KEY"デフォルトモデルを設定する
{ agents: { defaults: { model: { primary: "google/gemini-3.1-pro-preview" }, }, },}モデルが利用可能であることを確認する
openclaw models list --provider googleGemini CLI (OAuth)
最適な用途: 別の API キーを使わず、PKCE OAuth を介して既存の Gemini CLI ログインを再利用する場合。
Gemini CLI をインストールする
ローカルの gemini コマンドが PATH 上で利用可能である必要があります。
# Homebrewbrew install gemini-cli # または npmnpm install -g @google/gemini-cliOpenClaw は Homebrew インストールとグローバル npm インストールの両方に対応しており、一般的な Windows/npm の配置もサポートします。
OAuth でログインする
openclaw models auth login --provider google-gemini-cli --set-defaultモデルが利用可能であることを確認する
openclaw models list --provider google- デフォルトモデル:
google/gemini-3.1-pro-preview - ランタイム:
google-gemini-cli - エイリアス:
gemini-cli
Gemini 3.1 Pro の Gemini API モデル ID は gemini-3.1-pro-preview です。OpenClaw は短縮形の google/gemini-3.1-pro を便宜上のエイリアスとして受け入れ、プロバイダーを呼び出す前に正規化します。
環境変数:
OPENCLAW_GEMINI_OAUTH_CLIENT_ID/GEMINI_CLI_OAUTH_CLIENT_IDOPENCLAW_GEMINI_OAUTH_CLIENT_SECRET/GEMINI_CLI_OAUTH_CLIENT_SECRET
google-gemini-cli/* モデル参照は、従来形式との互換性のためのエイリアスです。ローカルで Gemini CLI を実行する新しい設定では、google/* モデル参照と google-gemini-cli ランタイムを使用してください。
機能
| 機能 | 対応状況 |
|---|---|
| チャット補完 | はい |
| 画像生成 | はい |
| 音楽生成 | はい |
| テキスト読み上げ | はい |
| リアルタイム音声 | はい(Google Live API) |
| 画像理解 | はい |
| 音声文字起こし | はい |
| 動画理解 | はい |
| ウェブ検索(Grounding) | はい |
| 思考/推論 | はい(Gemini 2.5+ / Gemini 3+) |
| Gemma 4 モデル | はい |
ウェブ検索
同梱の gemini ウェブ検索プロバイダーは、Gemini Google Search Grounding を使用します。
専用の検索キーを plugins.entries.google.config.webSearch に設定するか、GEMINI_API_KEY の後に models.providers.google.apiKey を再利用させます。
{ plugins: { entries: { google: { config: { webSearch: { apiKey: "AIza...", // GEMINI_API_KEY または models.providers.google.apiKey が設定されている場合は省略可能 baseUrl: "https://generativelanguage.googleapis.com/v1beta", // models.providers.google.baseUrl にフォールバック model: "gemini-2.5-flash", }, }, }, }, },}認証情報の優先順位は、専用の webSearch.apiKey、GEMINI_API_KEY、models.providers.google.apiKey の順です。webSearch.baseUrl は省略可能で、運用者のプロキシまたは互換性のある Gemini API エンドポイント向けに用意されています。省略すると、Gemini ウェブ検索は models.providers.google.baseUrl を再利用します。プロバイダー固有のツール動作については、Gemini 検索を参照してください。
画像生成
同梱の google 画像生成プロバイダーは、デフォルトで google/gemini-3.1-flash-image-preview を使用します。
google/gemini-3-pro-image-previewにも対応- 生成: 1 リクエストあたり最大 4 枚
- 編集モード: 有効、入力画像は最大 5 枚
- ジオメトリ制御:
size、aspectRatio、resolution
Google をデフォルトの画像プロバイダーとして使用するには、次のように設定します。
{ agents: { defaults: { imageGenerationModel: { primary: "google/gemini-3.1-flash-image-preview", }, }, },}動画生成
同梱の google Plugin は、共有の video_generate ツールを介した動画生成も登録します。
- デフォルトの動画モデル:
google/veo-3.1-fast-generate-preview - モード: テキストから動画、画像から動画、単一動画参照フロー
aspectRatio(16:9、9:16)とresolution(720P、1080P)に対応。現在、Veo は音声出力に対応していません- 対応する長さ: 4、6、または 8 秒(その他の値は、最も近い許容値に調整されます)
Google をデフォルトの動画プロバイダーとして使用するには、次のように設定します。
{ agents: { defaults: { videoGenerationModel: { primary: "google/veo-3.1-fast-generate-preview", }, }, },}音楽生成
同梱の google Plugin は、共有の music_generate ツールを介した音楽生成も登録します。
- デフォルトの音楽モデル:
google/lyria-3-clip-preview google/lyria-3-pro-previewにも対応- プロンプト制御:
lyricsとinstrumental - 出力形式: デフォルトは
mp3。google/lyria-3-pro-previewではwavにも対応 - 参照入力: 最大 10 枚の画像
- セッションを使用する実行は、
action: "status"を含む共有タスク/ステータスフローを介して切り離されます
Google をデフォルトの音楽プロバイダーとして使用するには、次のように設定します。
{ agents: { defaults: { musicGenerationModel: { primary: "google/lyria-3-clip-preview", }, }, },}テキスト読み上げ
同梱の google 音声プロバイダーは、gemini-3.1-flash-tts-preview を使用する Gemini API TTS パスを利用します。
- デフォルト音声:
Kore - 認証:
messages.tts.providers.google.apiKey、models.providers.google.apiKey、GEMINI_API_KEY、またはGOOGLE_API_KEY - 出力: 通常の TTS 添付ファイルには WAV、ボイスノートの送信先には Opus、通話/電話には PCM
- ボイスノート出力: Google PCM は WAV としてラップされ、
ffmpegで 48 kHz Opus にトランスコードされます
Google のバッチ Gemini TTS パスは、完了した generateContent レスポンス内で生成済み音声を返します。最小レイテンシーの音声会話には、バッチ TTS ではなく、Gemini Live API を基盤とする Google リアルタイム音声プロバイダーを使用してください。
Google をデフォルトの TTS プロバイダーとして使用するには、次のように設定します。
{ messages: { tts: { auto: "always", provider: "google", providers: { google: { model: "gemini-3.1-flash-tts-preview", speakerVoice: "Kore", audioProfile: "落ち着いた口調でプロフェッショナルに話してください。", }, }, }, },}Gemini API TTS は、スタイル制御に自然言語のプロンプトを使用します。audioProfile を設定すると、読み上げるテキストの前に再利用可能なスタイルプロンプトが追加されます。プロンプトテキストで名前付きの話者を参照する場合は、speakerName を設定します。
Gemini API TTS では、テキスト内に [whispers] や [laughs] など、表現力を指定する角括弧付き音声タグも使用できます。タグを表示されるチャット返信には含めず、TTS に送信するには、[[tts:text]]...[[/tts:text]] ブロック内に配置します。
これは表示用の簡潔な返信テキストです。 [[tts:text]][whispers] これは読み上げ用のバージョンです。[[/tts:text]]リアルタイム音声
同梱の google Plugin は、Voice Call や Google Meet などのバックエンド音声ブリッジ向けに、Gemini Live API を基盤とするリアルタイム音声プロバイダーを登録します。
| 設定 | 設定パス | デフォルト |
|---|---|---|
| モデル | plugins.entries.voice-call.config.realtime.providers.google.model |
gemini-3.1-flash-live-preview |
| 音声 | ...google.voice |
Kore |
| Temperature | ...google.temperature |
(未設定) |
| VAD 開始感度 | ...google.startSensitivity |
(未設定) |
| VAD 終了感度 | ...google.endSensitivity |
(未設定) |
| 無音時間 | ...google.silenceDurationMs |
(未設定) |
| アクティビティ処理 | ...google.activityHandling |
Google のデフォルト、start-of-activity-interrupts |
| ターンの対象範囲 | ...google.turnCoverage |
Google のデフォルト、audio-activity-and-all-video |
| 自動 VAD を無効化 | ...google.automaticActivityDetectionDisabled |
false |
| セッション再開 | ...google.sessionResumption |
true |
| コンテキスト圧縮 | ...google.contextWindowCompression |
true |
| API キー | ...google.apiKey |
models.providers.google.apiKey、GEMINI_API_KEY、または GOOGLE_API_KEY にフォールバック |
Voice Call のリアルタイム設定例:
{ plugins: { entries: { "voice-call": { enabled: true, config: { realtime: { enabled: true, provider: "google", providers: { google: { model: "gemini-3.1-flash-live-preview", speakerVoice: "Kore", activityHandling: "start-of-activity-interrupts", turnCoverage: "audio-activity-and-all-video", }, }, }, }, }, }, },}メンテナーがライブ検証を行うには、
OPENAI_API_KEY=... GEMINI_API_KEY=... node --import tsx scripts/dev/realtime-talk-live-smoke.ts
を実行します。このスモークテストでは OpenAI のバックエンド/WebRTC パスも対象になります。Google の処理では、
Control UI Talk と同じ形式の制限付き Live API トークンを発行し、ブラウザーの
WebSocket エンドポイントを開き、最初のセットアップペイロードを送信して、
setupComplete を待機します。
高度な設定
Gemini キャッシュの直接再利用
Gemini API を直接実行する場合(api: "google-generative-ai")、OpenClaw は
設定された cachedContent ハンドルを Gemini リクエストに渡します。
- モデル単位またはグローバルのパラメーターには、
cachedContentまたは従来のcached_contentを設定します - より具体的なスコープのパラメーター(グローバルよりモデルレベル)が常に優先されます。
同じスコープ内で両方のキーが設定されている場合は、
cached_contentが優先されます。 予期しない結果を避けるため、各スコープではどちらか一方のキーのみを使用してください。 - 値の例:
cachedContents/prebuilt-context - Gemini のキャッシュヒット使用量は、上流の
cachedContentTokenCountから OpenClaw のcacheReadに正規化されます
{ agents: { defaults: { models: { "google/gemini-2.5-pro": { params: { cachedContent: "cachedContents/prebuilt-context", }, }, }, }, },}Gemini CLI の使用上の注意
google-gemini-cli OAuth プロバイダーを使用する場合、OpenClaw はデフォルトで Gemini
CLI の stream-json 出力を使用し、最後の stats ペイロードから使用量を正規化します。
従来の --output-format json オーバーライドでは、引き続き JSON パーサーが使用されます。
- ストリーミングされた応答テキストは、アシスタントの
messageイベントから取得されます。 - 従来の JSON 出力では、応答テキストは CLI JSON の
responseフィールドから取得されます。 - CLI が
usageを空のままにした場合、使用量はstatsにフォールバックします。 stats.cachedは OpenClaw のcacheReadに正規化されます。stats.inputがない場合、OpenClaw はstats.input_tokens - stats.cachedから入力トークン数を算出します。
環境とデーモンのセットアップ
Gateway をデーモン(launchd/systemd)として実行する場合は、GEMINI_API_KEY を
そのプロセスから利用できるようにしてください(たとえば ~/.openclaw/.env、または
env.shellEnv を使用します)。