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 アクセス。

  • オンボーディングを実行する

    bash
    openclaw onboard --auth-choice gemini-api-key

    または、キーを直接渡します。

    bash
    openclaw onboard --non-interactive \  --mode local \  --auth-choice gemini-api-key \  --gemini-api-key "$GEMINI_API_KEY"
  • デフォルトモデルを設定する

    json5
    {  agents: {    defaults: {      model: { primary: "google/gemini-3.1-pro-preview" },    },  },}
  • モデルが利用可能であることを確認する

    bash
    openclaw models list --provider google
  • Gemini CLI (OAuth)

    最適な用途: 別の API キーを使わず、PKCE OAuth を介して既存の Gemini CLI ログインを再利用する場合。

  • Gemini CLI をインストールする

    ローカルの gemini コマンドが PATH 上で利用可能である必要があります。

    bash
    # Homebrewbrew install gemini-cli # または npmnpm install -g @google/gemini-cli

    OpenClaw は Homebrew インストールとグローバル npm インストールの両方に対応しており、一般的な Windows/npm の配置もサポートします。

  • OAuth でログインする

    bash
    openclaw models auth login --provider google-gemini-cli --set-default
  • モデルが利用可能であることを確認する

    bash
    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_ID
    • OPENCLAW_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 を再利用させます。

    json5
    {  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.apiKeyGEMINI_API_KEYmodels.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 枚
    • ジオメトリ制御: sizeaspectRatioresolution

    Google をデフォルトの画像プロバイダーとして使用するには、次のように設定します。

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

    動画生成

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

    • デフォルトの動画モデル: google/veo-3.1-fast-generate-preview
    • モード: テキストから動画、画像から動画、単一動画参照フロー
    • aspectRatio16:99:16)と resolution720P1080P)に対応。現在、Veo は音声出力に対応していません
    • 対応する長さ: 4、6、または 8 秒(その他の値は、最も近い許容値に調整されます)

    Google をデフォルトの動画プロバイダーとして使用するには、次のように設定します。

    json5
    {  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 をデフォルトの音楽プロバイダーとして使用するには、次のように設定します。

    json5
    {  agents: {    defaults: {      musicGenerationModel: {        primary: "google/lyria-3-clip-preview",      },    },  },}

    テキスト読み上げ

    同梱の google 音声プロバイダーは、gemini-3.1-flash-tts-preview を使用する Gemini API TTS パスを利用します。

    • デフォルト音声: Kore
    • 認証: messages.tts.providers.google.apiKeymodels.providers.google.apiKeyGEMINI_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 プロバイダーとして使用するには、次のように設定します。

    json5
    {  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]] ブロック内に配置します。

    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.apiKeyGEMINI_API_KEY、または GOOGLE_API_KEY にフォールバック

    Voice Call のリアルタイム設定例:

    json5
    {  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 に正規化されます
    json5
    {  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 を使用します)。

    関連項目

    Was this useful?
    On this page

    On this page