Providers
xAI
OpenClaw には、Grok モデル向けのバンドル済み xai プロバイダー Plugin が同梱されています。
はじめに
API キーを作成する
xAI console で API キーを作成します。
API キーを設定する
XAI_API_KEY を設定するか、次を実行します。
openclaw onboard --auth-choice xai-api-key
モデルを選択する
{
agents: { defaults: { model: { primary: "xai/grok-4.3" } } },
}
組み込みカタログ
OpenClaw には、これらの xAI モデルファミリーが標準で含まれています。
| ファミリー | モデル ID |
|---|---|
| Grok 3 | grok-3, grok-3-fast, grok-3-mini, grok-3-mini-fast |
| Grok 4.3 | grok-4.3 |
| Grok 4 | grok-4, grok-4-0709 |
| Grok 4 Fast | grok-4-fast, grok-4-fast-non-reasoning |
| Grok 4.1 Fast | grok-4-1-fast, grok-4-1-fast-non-reasoning |
| Grok 4.20 Beta | grok-4.20-beta-latest-reasoning, grok-4.20-beta-latest-non-reasoning |
| Grok Code | grok-code-fast-1 |
この Plugin は、同じ API 形状に従う場合、新しい grok-4* と grok-code-fast* の ID も前方解決します。
OpenClaw 機能カバレッジ
バンドル済み Plugin は、xAI の現在の公開 API サーフェスを OpenClaw の共有プロバイダーおよびツール契約にマッピングします。共有契約に合わない機能 (たとえばストリーミング TTS やリアルタイム音声)は公開されません。下の表を参照してください。
| xAI 機能 | OpenClaw サーフェス | ステータス |
|---|---|---|
| チャット / Responses | xai/<model> モデルプロバイダー |
はい |
| サーバー側 Web 検索 | web_search プロバイダー grok |
はい |
| サーバー側 X 検索 | x_search ツール |
はい |
| サーバー側コード実行 | code_execution ツール |
はい |
| 画像 | image_generate |
はい |
| 動画 | video_generate |
はい |
| バッチテキスト読み上げ | messages.tts.provider: "xai" / tts |
はい |
| ストリーミング TTS | - | 公開されていません。OpenClaw の TTS 契約は完全な音声バッファーを返します |
| バッチ音声テキスト化 | tools.media.audio / メディア理解 |
はい |
| ストリーミング音声テキスト化 | Voice Call streaming.provider: "xai" |
はい |
| リアルタイム音声 | - | まだ公開されていません。異なるセッション/WebSocket 契約です |
| ファイル / バッチ | 汎用モデル API 互換性のみ | ファーストクラスの OpenClaw ツールではありません |
高速モードのマッピング
/fast on または agents.defaults.models["xai/<model>"].params.fastMode: true
は、ネイティブ xAI リクエストを次のように書き換えます。
| ソースモデル | 高速モードのターゲット |
|---|---|
grok-3 |
grok-3-fast |
grok-3-mini |
grok-3-mini-fast |
grok-4 |
grok-4-fast |
grok-4-0709 |
grok-4-fast |
レガシー互換エイリアス
レガシーエイリアスは、引き続き正規のバンドル済み ID に正規化されます。
| レガシーエイリアス | 正規 ID |
|---|---|
grok-4-fast-reasoning |
grok-4-fast |
grok-4-1-fast-reasoning |
grok-4-1-fast |
grok-4.20-reasoning |
grok-4.20-beta-latest-reasoning |
grok-4.20-non-reasoning |
grok-4.20-beta-latest-non-reasoning |
機能
Web 検索
バンドル済みの grok Web 検索プロバイダーも XAI_API_KEY を使用します。
openclaw config set tools.web.search.provider grok
動画生成
バンドル済みの xai Plugin は、共有 video_generate ツールを通じて動画生成を登録します。
- デフォルトの動画モデル:
xai/grok-imagine-video - モード: テキストから動画、画像から動画、参照画像生成、リモート動画編集、リモート動画延長
- アスペクト比:
1:1,16:9,9:16,4:3,3:4,3:2,2:3 - 解像度:
480P,720P - 長さ: 生成/画像から動画では 1〜15 秒、
reference_imageロールを使用する場合は 1〜10 秒、延長では 2〜10 秒 - 参照画像生成: 提供するすべての画像で
imageRolesをreference_imageに設定します。xAI はそのような画像を最大 7 枚受け付けます
xAI をデフォルトの動画プロバイダーとして使用するには:
{
agents: {
defaults: {
videoGenerationModel: {
primary: "xai/grok-imagine-video",
},
},
},
}
画像生成
バンドル済みの xai Plugin は、共有 image_generate ツールを通じて画像生成を登録します。
- デフォルトの画像モデル:
xai/grok-imagine-image - 追加モデル:
xai/grok-imagine-image-pro - モード: テキストから画像、参照画像編集
- 参照入力: 1 つの
imageまたは最大 5 つのimages - アスペクト比:
1:1,16:9,9:16,4:3,3:4,2:3,3:2 - 解像度:
1K,2K - 数量: 最大 4 画像
OpenClaw は xAI に b64_json 画像レスポンスを要求するため、生成されたメディアを通常のチャンネル添付パスを通じて保存および配信できます。ローカル参照画像は data URL に変換されます。リモート http(s) 参照はそのまま渡されます。
xAI をデフォルトの画像プロバイダーとして使用するには:
{
agents: {
defaults: {
imageGenerationModel: {
primary: "xai/grok-imagine-image",
},
},
},
}
テキスト読み上げ
バンドル済みの xai Plugin は、共有 tts プロバイダーサーフェスを通じてテキスト読み上げを登録します。
- 音声:
eve,ara,rex,sal,leo,una - デフォルト音声:
eve - 形式:
mp3,wav,pcm,mulaw,alaw - 言語: BCP-47 コードまたは
auto - 速度: プロバイダーネイティブの速度オーバーライド
- ネイティブ Opus ボイスノート形式はサポートされていません
xAI をデフォルトの TTS プロバイダーとして使用するには:
{
messages: {
tts: {
provider: "xai",
providers: {
xai: {
voiceId: "eve",
},
},
},
},
}
音声テキスト化
バンドル済みの xai Plugin は、OpenClaw のメディア理解文字起こしサーフェスを通じてバッチ音声テキスト化を登録します。
- デフォルトモデル:
grok-stt - エンドポイント: xAI REST
/v1/stt - 入力パス: multipart 音声ファイルアップロード
tools.media.audioを使用する受信音声文字起こしのすべての場所で OpenClaw によりサポートされます。これには Discord 音声チャンネルセグメントとチャンネル音声添付ファイルが含まれます
受信音声文字起こしで xAI を強制するには:
{
tools: {
media: {
audio: {
models: [
{
type: "provider",
provider: "xai",
model: "grok-stt",
},
],
},
},
},
}
言語は、共有音声メディア設定または呼び出しごとの文字起こしリクエストを通じて指定できます。プロンプトヒントは共有 OpenClaw サーフェスで受け付けられますが、xAI REST STT 統合は、現在の公開 xAI エンドポイントにきれいに対応する file、model、language のみを転送します。
ストリーミング音声テキスト化
バンドル済みの xai Plugin は、ライブ音声通話向けのリアルタイム文字起こしプロバイダーも登録します。
- エンドポイント: xAI WebSocket
wss://api.x.ai/v1/stt - デフォルトエンコーディング:
mulaw - デフォルトサンプルレート:
8000 - デフォルトエンドポイント処理:
800ms - 中間文字起こし: デフォルトで有効
Voice Call の Twilio メディアストリームは G.711 µ-law 音声フレームを送信するため、xAI プロバイダーはトランスコードせずにそれらのフレームを直接転送できます。
{
plugins: {
entries: {
"voice-call": {
config: {
streaming: {
enabled: true,
provider: "xai",
providers: {
xai: {
apiKey: "${XAI_API_KEY}",
endpointingMs: 800,
language: "en",
},
},
},
},
},
},
},
}
Provider 所有の設定は
plugins.entries.voice-call.config.streaming.providers.xai 配下にあります。サポートされる
キーは apiKey、baseUrl、sampleRate、encoding(pcm、mulaw、または
alaw)、interimResults、endpointingMs、language です。
x_search の設定
バンドルされた xAI Plugin は、Grok 経由で X(旧 Twitter)コンテンツを検索するための
OpenClaw ツールとして x_search を公開します。
設定パス: plugins.entries.xai.config.xSearch
| キー | 型 | デフォルト | 説明 |
|---|---|---|---|
enabled |
boolean | - | x_search を有効化または無効化 |
model |
string | grok-4-1-fast |
x_search リクエストに使用されるモデル |
baseUrl |
string | - | xAI Responses ベース URL のオーバーライド |
inlineCitations |
boolean | - | 結果にインライン引用を含める |
maxTurns |
number | - | 最大会話ターン数 |
timeoutSeconds |
number | - | リクエストタイムアウト(秒) |
cacheTtlMinutes |
number | - | キャッシュの有効期間(分) |
{
plugins: {
entries: {
xai: {
config: {
xSearch: {
enabled: true,
model: "grok-4-1-fast",
baseUrl: "https://api.x.ai/v1",
inlineCitations: true,
},
},
},
},
},
}
コード実行の設定
バンドルされた xAI Plugin は、xAI のサンドボックス環境でリモートコード実行を行うための
OpenClaw ツールとして code_execution を公開します。
設定パス: plugins.entries.xai.config.codeExecution
| キー | 型 | デフォルト | 説明 |
|---|---|---|---|
enabled |
boolean | true(キーが利用可能な場合) |
コード実行を有効化または無効化 |
model |
string | grok-4-1-fast |
コード実行リクエストに使用されるモデル |
maxTurns |
number | - | 最大会話ターン数 |
timeoutSeconds |
number | - | リクエストタイムアウト(秒) |
{
plugins: {
entries: {
xai: {
config: {
codeExecution: {
enabled: true,
model: "grok-4-1-fast",
},
},
},
},
},
}
既知の制限
- 現在、認証は API キーのみです。OpenClaw にはまだ xAI OAuth やデバイスコードフローはありません。
grok-4.20-multi-agent-experimental-beta-0304は、標準の OpenClaw xAI トランスポートとは異なるアップストリーム API サーフェスを必要とするため、通常の xAI provider パスではサポートされていません。- xAI Realtime 音声は、まだ OpenClaw provider として登録されていません。バッチ STT やストリーミング文字起こしとは異なる双方向音声セッション契約が必要です。
- xAI 画像の
quality、画像のmask、および追加のネイティブ専用アスペクト比は、共有image_generateツールに対応するクロスプロバイダー制御が追加されるまで公開されません。
高度な注記
- OpenClaw は、共有ランナーパスで xAI 固有のツールスキーマおよびツール呼び出し互換性修正を自動的に適用します。
- ネイティブ xAI リクエストはデフォルトで
tool_stream: trueです。無効にするには、agents.defaults.models["xai/<model>"].params.tool_streamをfalseに設定します。 - バンドルされた xAI ラッパーは、ネイティブ xAI リクエストを送信する前に、サポートされていない strict ツールスキーマフラグと reasoning ペイロードキーを取り除きます。
web_search、x_search、code_executionは OpenClaw ツールとして公開されます。OpenClaw は、すべてのチャットターンにすべてのネイティブツールを添付するのではなく、各ツールリクエスト内で必要な特定の xAI 組み込み機能を有効化します。- Grok
web_searchはplugins.entries.xai.config.webSearch.baseUrlを読み取ります。x_searchはplugins.entries.xai.config.xSearch.baseUrlを読み取り、その後 Grok web-search ベース URL にフォールバックします。 x_searchとcode_executionは、コアモデルランタイムにハードコードされているのではなく、バンドルされた xAI Plugin が所有します。code_executionはリモート xAI サンドボックス実行であり、ローカルのexecではありません。
ライブテスト
xAI メディアパスは、ユニットテストとオプトインのライブスイートでカバーされています。ライブ
コマンドは、XAI_API_KEY を調べる前に、~/.profile を含むログインシェルからシークレットを読み込みます。
pnpm test extensions/xai
OPENCLAW_LIVE_TEST=1 OPENCLAW_LIVE_TEST_QUIET=1 pnpm test:live -- extensions/xai/xai.live.test.ts
OPENCLAW_LIVE_TEST=1 OPENCLAW_LIVE_TEST_QUIET=1 OPENCLAW_LIVE_IMAGE_GENERATION_PROVIDERS=xai pnpm test:live -- test/image-generation.runtime.live.test.ts
provider 固有のライブファイルは、通常の TTS、テレフォニー向け PCM TTS を合成し、xAI バッチ STT 経由で音声を文字起こしし、同じ PCM を xAI realtime STT 経由でストリーミングし、text-to-image 出力を生成し、参照画像を編集します。共有画像ライブファイルは、OpenClaw のランタイム選択、フォールバック、正規化、メディア添付パスを通じて同じ xAI provider を検証します。