Providers
Google (Gemini)
Google Plugin は、Google AI Studio 経由で Gemini モデルへのアクセスを提供し、 さらに画像生成、メディア理解(画像/音声/動画)、テキスト読み上げ、Gemini Grounding による Web 検索を提供します。
- プロバイダー:
google - 認証:
GEMINI_API_KEYまたはGOOGLE_API_KEY - API: Google Gemini API
- ランタイムオプション:
agents.defaults.agentRuntime.id: "google-gemini-cli"は、モデル参照を正規のgoogle/*のままにしつつ、Gemini CLI OAuth を再利用します。
はじめに
好みの認証方式を選び、セットアップ手順に従ってください。
API key
最適な用途: Google AI Studio 経由での標準的な Gemini API アクセス。
Run onboarding
openclaw onboard --auth-choice gemini-api-key
または、キーを直接渡します。
openclaw onboard --non-interactive \
--mode local \
--auth-choice gemini-api-key \
--gemini-api-key "$GEMINI_API_KEY"
Set a default model
{
agents: {
defaults: {
model: { primary: "google/gemini-3.1-pro-preview" },
},
},
}
Verify the model is available
openclaw models list --provider google
Gemini CLI (OAuth)
最適な用途: 個別の API キーではなく、PKCE OAuth による既存の Gemini CLI ログインを再利用する場合。
Install the Gemini CLI
ローカルの gemini コマンドが PATH 上で利用可能である必要があります。
# Homebrew
brew install gemini-cli
# or npm
npm install -g @google/gemini-cli
OpenClaw は、Homebrew インストールとグローバル npm インストールの両方をサポートしており、 一般的な Windows/npm レイアウトにも対応しています。
Log in via OAuth
openclaw models auth login --provider google-gemini-cli --set-default
Verify the model is available
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_IDOPENCLAW_GEMINI_OAUTH_CLIENT_SECRET
(または GEMINI_CLI_* バリアント。)
google-gemini-cli/* モデル参照は、レガシー互換性のためのエイリアスです。新しい
設定では、ローカルの Gemini CLI 実行を使いたい場合、google/* モデル参照と google-gemini-cli
ランタイムを使用してください。
機能
| 機能 | 対応 |
|---|---|
| チャット補完 | はい |
| 画像生成 | はい |
| 音楽生成 | はい |
| テキスト読み上げ | はい |
| リアルタイム音声 | はい(Google Live API) |
| 画像理解 | はい |
| 音声文字起こし | はい |
| 動画理解 | はい |
| Web 検索(Grounding) | はい |
| 思考/推論 | はい(Gemini 2.5+ / Gemini 3+) |
| Gemma 4 モデル | はい |
Web 検索
同梱の gemini Web 検索プロバイダーは、Gemini Google Search Grounding を使用します。
専用の検索キーを plugins.entries.google.config.webSearch で設定するか、
GEMINI_API_KEY の後に models.providers.google.apiKey を再利用させます。
{
plugins: {
entries: {
google: {
config: {
webSearch: {
apiKey: "AIza...", // optional if GEMINI_API_KEY or models.providers.google.apiKey is set
baseUrl: "https://generativelanguage.googleapis.com/v1beta", // falls back to models.providers.google.baseUrl
model: "gemini-2.5-flash",
},
},
},
},
},
}
認証情報の優先順位は、専用の webSearch.apiKey、次に GEMINI_API_KEY、
次に models.providers.google.apiKey です。webSearch.baseUrl は任意で、
オペレータープロキシまたは互換性のある Gemini API エンドポイント向けに存在します。省略した場合、
Gemini Web 検索は models.providers.google.baseUrl を再利用します。プロバイダー固有のツール動作については、
Gemini 検索 を参照してください。
画像生成
同梱の google 画像生成プロバイダーのデフォルトは
google/gemini-3.1-flash-image-preview です。
google/gemini-3-pro-image-previewもサポート- 生成: リクエストあたり最大 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、resolution、audioをサポート- 現在の長さの制限: 4 秒から 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 API TTS パスを
gemini-3.1-flash-tts-preview とともに使用します。
- デフォルト音声:
Kore - 認証:
messages.tts.providers.google.apiKey、models.providers.google.apiKey、GEMINI_API_KEY、またはGOOGLE_API_KEY - 出力: 通常の TTS 添付では WAV、ボイスメモ対象では Opus、Talk/電話では 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",
voiceName: "Kore",
audioProfile: "Speak professionally with a calm tone.",
},
},
},
},
}
Gemini API TTS は、スタイル制御に自然言語プロンプトを使用します。
audioProfile を設定すると、話されるテキストの前に再利用可能なスタイルプロンプトを付加できます。
プロンプトテキストが名前付き話者に言及している場合は、speakerName を設定します。
Gemini API TTS は、テキスト内の [whispers] や [laughs] のような表現豊かな角括弧の音声タグも受け付けます。
タグを表示されるチャット返信に出さずに TTS に送るには、[[tts:text]]...[[/tts:text]]
ブロック内に入れてください。
Here is the clean reply text.
[[tts:text]][whispers] Here is the spoken version.[[/tts:text]]
リアルタイム音声
同梱の google Plugin は、Voice Call や Google Meet のようなバックエンド音声ブリッジ向けに、
Gemini Live API に支えられたリアルタイム音声プロバイダーを登録します。
| 設定 | 設定パス | デフォルト |
|---|---|---|
| モデル | plugins.entries.voice-call.config.realtime.providers.google.model |
gemini-2.5-flash-native-audio-preview-12-2025 |
| 音声 | ...google.voice |
Kore |
| 温度 | ...google.temperature |
(未設定) |
| VAD 開始感度 | ...google.startSensitivity |
(未設定) |
| VAD 終了感度 | ...google.endSensitivity |
(未設定) |
| 無音時間 | ...google.silenceDurationMs |
(未設定) |
| アクティビティ処理 | ...google.activityHandling |
Google デフォルト、start-of-activity-interrupts |
| ターン対象範囲 | ...google.turnCoverage |
Google デフォルト、only-activity |
| 自動 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-2.5-flash-native-audio-preview-12-2025",
voice: "Kore",
activityHandling: "start-of-activity-interrupts",
turnCoverage: "only-activity",
},
},
},
},
},
},
},
}
メンテナー向けのライブ検証では、
OPENAI_API_KEY=... GEMINI_API_KEY=... node --import tsx scripts/dev/realtime-talk-live-smoke.ts
を実行してください。
Google 側は Control
UI Talk で使用されるものと同じ制約付き Live API トークン形状を発行し、ブラウザー WebSocket エンドポイントを開き、初期セットアップペイロードを送信して、
setupComplete を待機します。
高度な設定
直接 Gemini キャッシュ再利用
直接 Gemini API 実行 (api: "google-generative-ai") では、OpenClaw
は設定済みの cachedContent ハンドルを Gemini リクエストに渡します。
- モデルごと、またはグローバルなパラメーターを
cachedContentまたはレガシーのcached_contentのいずれかで設定します - 両方が存在する場合は、
cachedContentが優先されます - 値の例:
cachedContents/prebuilt-context - Gemini のキャッシュヒット使用量は、上流の
cachedContentTokenCountから OpenClaw のcacheReadに正規化されます
{
agents: {
defaults: {
models: {
"google/gemini-2.5-pro": {
params: {
cachedContent: "cachedContents/prebuilt-context",
},
},
},
},
},
}
Gemini CLI JSON 使用時の注意
google-gemini-cli OAuth プロバイダーを使用する場合、OpenClaw は
CLI 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 経由)。