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_ID
    • OPENCLAW_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 枚
    • ジオメトリ制御: sizeaspectRatioresolution

    Google をデフォルトの画像プロバイダーとして使用するには:

    {
      agents: {
        defaults: {
          imageGenerationModel: {
            primary: "google/gemini-3.1-flash-image-preview",
          },
        },
      },
    }
    

    動画生成

    同梱の google Plugin は、共有の video_generate ツールを通じて動画生成も登録します。

    • デフォルト動画モデル: google/veo-3.1-fast-generate-preview
    • モード: テキストから動画、画像から動画、単一動画参照フロー
    • aspectRatioresolutionaudio をサポート
    • 現在の長さの制限: 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 もサポート
    • プロンプト制御: lyricsinstrumental
    • 出力形式: デフォルトは mp3google/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.apiKeymodels.providers.google.apiKeyGEMINI_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.apiKeyGEMINI_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 経由)。

    関連