xAIはGrok 4.3を段階的に展開しました。2026年4月17日にベータ版、4月30日にAPIアクセス、5月6日に一般提供が開始されています。主な変更点は、1,000,000トークンのコンテキストウィンドウ、Grokシリーズ初のネイティブビデオ入力、常時稼働の推論機能、Grok 4.20比で約40%の価格引き下げです。8つのレガシーGrokモデルは5月15日に廃止されるため、grok-3またはgrok-4系を使っている場合は、早めにgrok-4.3へ移行してください。
この記事では、コードからGrok 4.3を呼び出す実装手順をまとめます。エンドポイント、認証、OpenAI互換のbase_url、reasoning_effort、ビデオ入力、関数呼び出し、そしてApidogでのテスト方法を扱います。
同じリリースの音声側については、Grok Voiceを無料で使う方法をご覧ください。OpenAIの主力音声モデルとの比較については、Grok Voice vs GPT-Realtimeをご覧ください。
要点
- Grok 4.3は2026年5月6日にGAとなりました。
- 8つのレガシーモデルは2026年5月15日に廃止されます。
- 価格は入力100万トークンあたり1.25ドル、出力100万トークンあたり2.50ドル、キャッシュ入力は100万トークンあたり0.20ドルです。
- Grok 4.20と比較して約40%の値下げです。
- コンテキストウィンドウは100万トークンです。
- Grokシリーズ初のネイティブビデオ入力をサポートします。
- 推論エフォートは
low/medium/highです。デフォルトはmediumです。 - エンドポイントは
https://api.x.ai/v1/chat/completionsです。 - OpenAI互換のChat Completions形式で呼び出せます。
- 標準ティアのスループットは約159トークン/秒です。
- Artificial Analysisのインテリジェンス指数は53で、146モデル中10位です。
- Apidogを使うと、推論設定を変数化し、GrokとOpenAI互換モードの両方で同じリクエストを再生できます。
Grok 4.3で何が変わったか
Grok 4.3で実装時に影響が大きい変更は次の5つです。
1. 価格が下がった
Grok 4.20と比較して、入力は37.5%減、出力は58.3%減です。キャッシュされた入力は100万トークンあたり0.20ドルなので、長いシステムプロンプトや固定コンテキストを繰り返し使う構成ではコストを抑えやすくなります。
2. コンテキストが100万トークンになった
Grok 4.20の256kから、Grok 4.3では100万トークンに拡張されています。中規模のコードベース、長い契約書、決算説明会の全文などを1回のプロンプトに含めやすくなります。
3. ビデオURLを直接渡せる
Grokシリーズでは初めて、ネイティブビデオ入力に対応しました。アプリ側でキーフレームを手動抽出しなくても、ビデオURLをコンテンツブロックに含めて推論できます。
4. 推論が常時有効になった
Grok 4.3はすべてのリクエストでベースラインの推論ステップを実行します。reasoning_effortで深さを調整できますが、推論なしのモードにはなりません。
5. エージェント用途が改善された
Grok 4.20と比較してGDPval-AAで300 Eloポイント向上しています。ツール選択、多段階ワークフロー、ツールエラーからの回復など、エージェント実装で重要な挙動が改善されています。
前提条件
最初のリクエストを送る前に、次を用意します。
-
console.x.aiのxAIコンソールアカウント - APIキーを発行できる有料ティア
- OpenAI SDKまたはxAI SDK
- リクエストを保存・再実行できるAPIクライアント
APIキーは環境変数に入れておきます。
export XAI_API_KEY="xai-..."
Pythonサンプルを動かす場合は、必要に応じてSDKをインストールします。
pip install openai
エンドポイントと認証
Grok 4.3はOpenAI互換のChat Completionsインターフェースで呼び出します。
POST https://api.x.ai/v1/chat/completions
認証はBearerトークンです。
Authorization: Bearer $XAI_API_KEY
Content-Type: application/json
OpenAI SDKを使う場合は、base_urlをxAIのURLに変更します。
import os
from openai import OpenAI
client = OpenAI(
api_key=os.environ["XAI_API_KEY"],
base_url="https://api.x.ai/v1",
)
response = client.chat.completions.create(
model="grok-4.3",
messages=[
{
"role": "user",
"content": "Summarize the trade-offs of GraphQL vs REST in three bullets."
}
],
reasoning_effort="medium",
)
print(response.choices[0].message.content)
既存のOpenAI SDKベースの実装では、主な変更点は次の2つです。
base_url = "https://api.x.ai/v1"
model = "grok-4.3"
リクエストパラメータ
Grok 4.3でよく使うパラメータは次の通りです。
| パラメータ | タイプ | 値 | 備考 |
|---|---|---|---|
model |
string | grok-4.3 |
必須。 |
messages |
array | OpenAIメッセージ形式 | 必須。role: system / user / assistantをサポートします。 |
reasoning_effort |
string |
low, medium, high
|
オプション。デフォルトはmediumです。 |
max_tokens |
int | 1–32768 | 出力トークン数を制限します。 |
temperature |
float | 0.0–2.0 | デフォルトは1.0です。 |
top_p |
float | 0.0–1.0 | 核サンプリング。 |
stream |
bool | true / false | trueの場合、サーバー送信イベントでストリーミングします。 |
tools |
array | OpenAIツール形式 | 関数呼び出しに使います。 |
tool_choice |
string / object |
auto, none, または特定のツール |
OpenAI互換の指定方式です。 |
response_format |
object | { type: "json_object" } |
構造化出力に使います。 |
seed |
int | 任意 |
temperature: 0と組み合わせて再現性を高めます。 |
最小のcurlリクエストは次の通りです。
curl https://api.x.ai/v1/chat/completions \
-H "Authorization: Bearer $XAI_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "grok-4.3",
"messages": [
{
"role": "system",
"content": "You are a senior backend engineer."
},
{
"role": "user",
"content": "Review this query plan and flag the bottleneck."
}
],
"reasoning_effort": "high"
}'
応答はOpenAI互換形式です。本文はchoices[].message.contentから取得します。
content = response.choices[0].message.content
利用量はusageで確認します。
usage = response.usage
print(usage.prompt_tokens)
print(usage.completion_tokens)
print(usage.total_tokens)
応答には、prompt_tokens、completion_tokens、reasoning_tokens、total_tokensの内訳が含まれます。
推論エフォートの選び方
reasoning_effortは、レイテンシ、出力トークン数、推論の深さに影響します。
low
分類、要約、ルール抽出、単純なQ&Aに使います。
{
"reasoning_effort": "low"
}
レスポンスを速く返したいが、最低限の推論は維持したい場合に向いています。
medium
デフォルトです。カスタマーサポート、関数呼び出し、データ分析、単一ステップのツール利用など、一般的な本番トラフィックに使います。
{
"reasoning_effort": "medium"
}
迷った場合はmediumから始めます。
high
多段階エージェント、長いコードレビュー、複雑な数学、計画が必要なタスクに使います。
{
"reasoning_effort": "high"
}
精度を優先する代わりに、レイテンシとトークン消費が増えます。
Grok 4.3では推論が常時有効です。lowを指定しても推論は完全には無効になりません。低コスト・低レイテンシに寄せたい場合はlowを使い、推論そのものをゼロにする前提の設計は避けてください。
関数呼び出し
Grok 4.3ではOpenAI互換の関数呼び出し形式をそのまま使えます。
次の例では、ユーザーIDからユーザー情報を取得するlookup_userツールを定義します。
tools = [
{
"type": "function",
"function": {
"name": "lookup_user",
"description": "Look up a user by ID.",
"parameters": {
"type": "object",
"properties": {
"user_id": {
"type": "string"
}
},
"required": ["user_id"],
},
},
}
]
response = client.chat.completions.create(
model="grok-4.3",
messages=[
{
"role": "user",
"content": "Find user u_42 and tell me their last login."
}
],
tools=tools,
reasoning_effort="medium",
)
tool_calls = response.choices[0].message.tool_calls
print(tool_calls)
実装フローは次の通りです。
-
toolsで呼び出し可能な関数を宣言する - モデルが
tool_callsを返す - アプリ側で実際の関数を実行する
- 結果を
toolロールのメッセージとしてモデルに返す - 最終回答を生成する
ツール実行後のメッセージ例です。
messages = [
{
"role": "user",
"content": "Find user u_42 and tell me their last login."
},
response.choices[0].message,
{
"role": "tool",
"tool_call_id": tool_calls[0].id,
"content": '{"user_id":"u_42","last_login":"2026-05-01T10:30:00Z"}'
}
]
final_response = client.chat.completions.create(
model="grok-4.3",
messages=messages,
tools=tools,
)
print(final_response.choices[0].message.content)
GDPval-AAにおける300 Eloポイントの向上は、ツール選択や多段階処理で特に効きます。ツールフローを検証する場合は、ApidogでのMCPサーバーテストも参考になります。
ビデオ入力
Grok 4.3はネイティブビデオ入力をサポートします。ビデオURLは、messages[].contentの配列にvideo_urlとして渡します。
response = client.chat.completions.create(
model="grok-4.3",
messages=[
{
"role": "user",
"content": [
{
"type": "text",
"text": "Describe what happens in this clip and flag any anomalies."
},
{
"type": "video_url",
"video_url": {
"url": "https://example.com/clip.mp4"
}
},
],
}
],
)
print(response.choices[0].message.content)
ビデオ入力で注意する点は次の通りです。
- ビデオは入力トークンとしてカウントされます。
- 長いクリップはコンテキストとコストを大きく消費します。
- コストが重要な場合は、送信前にトリミングまたはダウンサンプリングします。
- モデルがフレームをネイティブに推論するため、手動のキーフレーム抽出は必須ではありません。
100万トークンコンテキストの使いどころ
100万トークンのコンテキストは、単なるベンチマーク用ではなく、実装上も使いやすい機能です。
代表的なユースケースは次の通りです。
コードベース全体のレビュー
変更差分、関連ファイル、ログ、リント結果をまとめて渡し、レビューさせます。
以下をレビューしてください。
1. Git diff
2. 変更された全ファイル
3. テストログ
4. lint結果
観点:
- バグ
- セキュリティ
- パフォーマンス
- 後方互換性
長文ドキュメントQ&A
契約書、仕様書、議事録などをそのまま渡し、特定の質問に答えさせます。
以下の契約書を読み、解約条項、責任制限、更新条件を要約してください。
不明点がある場合は、該当箇所を引用してください。
長期会話履歴
エージェントの会話履歴を長く保持し、パーソナライズされた応答に使います。
キャッシュ入力は100万トークンあたり0.20ドルです。たとえば、安定した40万トークンのシステムプロンプトを使う場合、新規入力として毎回送るより、キャッシュされた呼び出しのほうが大幅に安くなります。
レガシーGrokモデルからの移行
8つのレガシーGrokモデルは2026年5月15日午後12時(PT)に廃止されます。該当モデルを本番環境で使っている場合は、期限までにmodelをgrok-4.3へ切り替えてください。
基本的なリクエスト形式は変わらないため、多くの呼び出しはモデル名の変更だけで動作します。
- model="grok-4.20"
+ model="grok-4.3"
移行時に確認すべき点は2つです。
1. reasoning_effort
一部のレガシーモデルではreasoning_effortを使っていなかった可能性があります。Grok 4.3は常に推論を実行するため、以前の高速な非推論パスと同じレイテンシを期待しないでください。
低レイテンシに寄せる場合は、まずlowで検証します。
response = client.chat.completions.create(
model="grok-4.3",
messages=messages,
reasoning_effort="low",
)
2. 出力形式
Grok 4.3はGrok 4.20よりも構造化された出力を返す傾向があります。正規表現で強く後処理している場合は、切り替え前に実データで再テストしてください。
OpenAIライン全体の価格比較については、GPT-5.5の価格設定を、推論モデルの比較については、GPT-5.5 APIの使用方法をご覧ください。
ApidogでGrok 4.3をテストする
Grok 4.3を自分のユースケースで検証するには、同じプロンプトを複数設定で比較できる形にしておくと便利です。
手順は次の通りです。
- Apidogで環境を作成する
-
XAI_API_KEYを環境変数として保存する -
BASE_URLにhttps://api.x.ai/v1を設定する -
reasoning_effortがlowのリクエストを作る - 同じリクエストを複製して
mediumとhighを作る - 3つを実行する
- 応答内容、レイテンシ、
usage.reasoning_tokensを比較する - OpenAI互換API向けの別バリアントを作り、同じ入力でモデル比較する
リクエストURLは次のように変数化できます。
{{BASE_URL}}/chat/completions
ヘッダーは次の通りです。
Authorization: Bearer {{XAI_API_KEY}}
Content-Type: application/json
ボディ例です。
{
"model": "grok-4.3",
"messages": [
{
"role": "system",
"content": "You are a senior backend engineer."
},
{
"role": "user",
"content": "Review this API design and identify risks."
}
],
"reasoning_effort": "{{REASONING_EFFORT}}"
}
REASONING_EFFORTを環境変数またはリクエスト変数にしておくと、low、medium、highの比較が簡単になります。
比較を実行するには、Apidogをダウンロードしてください。プロバイダーを切り替えても同じコレクションを使い回せるため、Grok 4.3と他のOpenAI互換モデルを同じ条件で比較できます。
より広いAPIテスト戦略については、QAエンジニアのためのAPIテストツールをご覧ください。
レート制限
xAIコンソールのティア制限は、ティア1の1分あたり数千リクエストから、エンタープライズティアの数十万リクエストまで変化します。具体的な数値は変動するため、実装前にコンソールダッシュボードを確認してください。
xAIが公開している159トークン/秒のスループットは、集計値ではなくストリームごとの出力速度です。同時リクエスト数は、契約ティアの制限内でスケールします。
レート制限に達した場合、APIは429を返します。retry-afterヘッダーを見て、指数バックオフで再試行します。
import time
from openai import RateLimitError
for attempt in range(5):
try:
response = client.chat.completions.create(
model="grok-4.3",
messages=messages,
)
break
except RateLimitError as e:
wait = min(2 ** attempt, 30)
time.sleep(wait)
本番環境では、次の対策を入れておくと安全です。
- リクエストキューを使う
- 同時実行数を制御する
-
429をメトリクス化する -
retry-afterを尊重する - 長い入力はキャッシュする
-
max_tokensを明示して出力上限を制御する
よくある質問
Grok 4.3はOpenAI SDKで使えますか?
はい。Chat CompletionsについてはOpenAI互換です。OpenAI SDKを使い、base_urlとmodelを変更します。
client = OpenAI(
api_key=os.environ["XAI_API_KEY"],
base_url="https://api.x.ai/v1",
)
Responses APIをサポートしていますか?
現在、xAIのインターフェースはChat Completionsです。Responses APIはOpenAI専用です。
実際のコンテキスト制限はどのくらいですか?
1,000,000トークンです。ただし、長い入力は費用が増えるため、安定したプロンプトは積極的にキャッシュしてください。
常時稼働の推論機能はレイテンシに影響しますか?
はい。非推論モデルと比較すると、最初のトークンのレイテンシはやや高くなります。一方で、Grok 4.3は約159トークン/秒でストリーミングされるため、エンドツーエンドの応答時間は競争力があります。
精度を重視するワークロードでは、このトレードオフは受け入れやすいはずです。
Grok 4.3をGrok Voiceと組み合わせて使えますか?
はい。音声エージェントであるgrok-voice-think-fast-1.0は、推論時に内部でGrok 4.3を呼び出します。TTSやSTTプリミティブ上に構築した音声ループから、Grok 4.3を直接呼び出すこともできます。
5月15日以降、古いGrok 3 / Grok 4への呼び出しはどうなりますか?
410エラー、つまりモデル廃止エラーで失敗します。期限までにgrok-4.3へ移行してください。
Grok 4.3は画像入力をサポートしていますか?
はい。新しいビデオ入力と並行して画像入力もサポートします。OpenAIと同じ形式で、コンテンツブロックに画像URLを渡します。
まとめ
Grok 4.3は、価格、コンテキスト長、推論機能、ビデオ入力の面で大きく更新されたモデルです。OpenAI互換のChat Completions形式で呼び出せるため、既存のOpenAI SDKベースの実装では、主にbase_urlとmodelを変更するだけで移行できます。
最短の検証手順は、Apidogでlow、medium、highの3つの推論バリアントを作り、実際のプロンプトでレイテンシ、出力品質、推論トークン数を比較することです。
レガシーGrokモデルを使っている場合は、5月15日までにgrok-4.3へ移行してください。


Top comments (0)