チュートリアル
Grok 4.7 API の使い方:5 分で最初の呼び出しを完走する
xAI がコーディングと agentic タスク向けに提供するテキストモデル:OpenAI Chat Completions プロトコル、4 段階の推論、JSON 出力とツール呼び出し。HiAPI 価格は $0.84/$2.52。そのまま実行できる curl と Python の例付き
TL;DR
- Grok 4.7 は xAI がコーディングと agentic タスク向けに提供するテキストモデルです。すでに HiAPI で公開されており、モデルページを開くとすぐに会話を始められます。新規ユーザーは登録で 200 クレジットがもらえます。
- プラットフォーム価格は入力 $0.84 / 出力 $2.52(100 万 tokens あたり、キャッシュ読み取り $0.21)で、公式価格の約 58% 引きです。2K 入力 + 1K 出力のリクエスト 1 回で約 $0.0042。合計 3K token の中規模リクエスト(約 $0.0084/回)で計算すると、$10 で約 1200 回実行できます。
- 最速の呼び出し:
POST https://api.hiapi.ai/v1/chat/completionsに対して、modelにgrok-4.7を指定します。既存の OpenAI SDK コードは base_url と model の 2 つの値だけ変更すれば動きます。
Grok 4.7 とは何か、どこが新しいのか
2026-09-21 にリリースされた Grok 4.7 は、xAI の現在のデフォルト推奨モデルで、コーディング、agentic タスク、ナレッジワークを主軸としています。公式が自己申告する Terminal-Bench 4.0 のスコアは 4.6 の 20.3% から 38.0% へとほぼ倍増しました(自己申告ベース)。呼び出す側にとって気にすべき変化は次の 4 点です:
- コーディングと agentic が主なユースケース:公式は同時に Cursor や GitHub Copilot といったコーディングツールにも組み込んでおり、長期的なタスク計画能力がこのバージョンの重点です。
- 4 段階の推論:
reasoning_effortは low / medium / high / xhigh をサポートし、デフォルトは high です。思考プロセスはreasoning_contentフィールドで別途返されるため、表示するかどうかを自分で決められます。 - JSON オブジェクト + ツール呼び出し:
response_format: {"type": "json_object"}で有効な JSON 出力を強制でき、関数呼び出しは標準の OpenAI tools 形式に準拠しているため、構造化抽出や agent ループに追加のラッパーは不要です。 - 500K コンテキスト:1 回のリクエストにコードベース全体や長いドキュメントをまとめて詰め込めます。
実際の成果物:pandas データ分析コード
以下の出力は、HiAPI 上で Grok 4.7 を使って実際に実行して得られたものです(完全なプロンプトは下のリンクを参照)。タスクは EC 注文データの分析で、月次 GMV、ユーザー累計消費 Top 20、新規ユーザーの初回注文トレンドを求め、かつ created_at が文字列であるという条件です。モデルは 18.5 秒で完了し、コードは完全に実行可能で、文字列の日付変換も自発的に処理しました:
# ---------- 0. 日付処理:文字列を datetime に変換 ----------
df["created_at"] = pd.to_datetime(df["created_at"], errors="coerce")
df = df.dropna(subset=["created_at", "amount", "user_id"])
# 有効な注文のみを集計(実際の業務に合わせて status の値を調整)
df_valid = df[df["status"] == "paid"].copy()
# ---------- 1. 月ごとの GMV と注文数 ----------
df_valid["month"] = df_valid["created_at"].dt.to_period("M")
monthly = (
df_valid.groupby("month", as_index=False)
.agg(GMV=("amount", "sum"), order_count=("order_id", "count"))
.sort_values("month")
)
今回の実行では入力 3440 tokens、出力 1427 tokens で、プラットフォーム価格で約 $0.007 でした。同じ結果を得たい場合は、このプロンプトでモデルページ上で実行してみる →
2 つの導入ルート
ルート 1:ブラウザで 3 ステップ、コード不要
- Grok 4.7 モデルページを開き、ログインまたは登録します(新規ユーザーは 200 クレジットがもらえます)。
- チャットボックスにプロンプトを貼り付けます。たとえばこのリンクをクリックすると、プロンプトが自動入力されています。
- そのまま送信します。クレジットは実際の token 使用量に応じて差し引かれます。
ルート 2:API で 3 ステップ、自分のアプリに組み込む
- HiAPI コンソールで API Key を作成します。
- 下の curl にある
YOUR_HIAPI_API_KEYを自分の Key に置き換えて実行します。 modelをgrok-4.7に固定し、messagesを自分の業務入力に置き換えれば完了です。
curl:最初の呼び出し
curl https://api.hiapi.ai/v1/chat/completions \
-H "Content-Type: application/json" \
-H "Authorization: Bearer YOUR_HIAPI_API_KEY" \
-d '{
"model": "grok-4.7",
"messages": [
{"role": "system", "content": "You are a senior backend engineer."},
{"role": "user", "content": "Explain what a database connection pool is in two sentences."}
],
"reasoning_effort": "high",
"max_tokens": 2000
}'
レスポンスでは choices[0].message.content が本文、reasoning_content が思考プロセスです。usage.completion_tokens_details.reasoning_tokens は今回の推論で消費した token 数を個別に示します。ストリーミングにするには "stream": true を追加し、SSE として解析します。
Python:非ストリーミング + ストリーミング
非ストリーミングなら requests で十分です:
import requests
resp = requests.post(
"https://api.hiapi.ai/v1/chat/completions",
headers={"Authorization": "Bearer YOUR_HIAPI_API_KEY"},
json={
"model": "grok-4.7",
"messages": [
{"role": "user", "content": "Write a Python function that merges two sorted lists into one sorted list."}
],
"reasoning_effort": "medium",
"max_tokens": 4000,
},
timeout=120,
)
resp.raise_for_status()
data = resp.json()
print(data["choices"][0]["message"]["content"])
ストリーミングでは 2 点に注意します:最初に来る delta.reasoning_content は思考プロセスで、後から来る delta.content が本文です。usage は最後の chunk にのみ含まれ(choices は空)、data: [DONE] で終了します:
import json
import requests
with requests.post(
"https://api.hiapi.ai/v1/chat/completions",
headers={"Authorization": "Bearer YOUR_HIAPI_API_KEY"},
json={
"model": "grok-4.7",
"messages": [{"role": "user", "content": "Plan a Redis-based online presence system."}],
"reasoning_effort": "high",
"stream": True,
},
stream=True,
timeout=300,
) as resp:
resp.raise_for_status()
for line in resp.iter_lines(decode_unicode=True):
if not line or not line.startswith("data:"):
continue
payload = line[len("data:"):].strip()
if payload == "[DONE]":
break
chunk = json.loads(payload)
if not chunk["choices"]:
print("\nusage:", chunk["usage"]) # 最後の chunk にのみ usage がある
continue
delta = chunk["choices"][0]["delta"]
if delta.get("reasoning_content"):
print(delta["reasoning_content"], end="", flush=True)
elif delta.get("content"):
print(delta["content"], end="", flush=True)
パラメータ表
| フィールド | 必須 | 値 | 説明 |
|---|---|---|---|
| model | はい | grok-4.7 |
この ID を固定で指定 |
| messages | はい | OpenAI 形式のメッセージ配列 | system / user / assistant / tool の各ロールをサポート |
| reasoning_effort | いいえ | low / medium / high / xhigh、デフォルトは high |
推論の強度。思考プロセスは reasoning_content で返される |
| max_tokens | いいえ | 正の整数 | 出力の上限で、reasoning tokens を含む。小さく設定すると思考が先に打ち切られる |
| response_format | いいえ | {"type": "json_object"} |
有効な JSON 出力を強制。構造化抽出に適する |
| tools | いいえ | OpenAI function calling の配列 | ツール呼び出し。複数ラウンドの tool 結果の返却をサポート |
| stream | いいえ | true / false、デフォルトは false |
SSE ストリーミング。usage は最後の chunk に含まれる |
遭遇するエラー
他のモデルからコードを移行する際に最もつまずきやすい点:grok-4.7 は frequency_penalty、presence_penalty、stop の 3 つのパラメータをサポートしておらず、付けると直接 400 になります。reasoning_effort は low / medium / high / xhigh の 4 段階のみを受け付け、誤った値を書くと API はそのまま reasoning_effort: is outside allowed values を返します。プロトコル外のフィールドも渡せず、こちらで未登録のフィールドを追加して試したところ、API は request.zz: unregistered public parameter を返しました。
対処は簡単です:この 3 つのパラメータを削除し、段階を正しく書いて再送するだけです。その他の 4xx はまず error.code を確認してからコードを変更し、推測しないでください。
本番稼働前の注意点
- reasoning tokens は出力として課金されます。
high段階では 1 回の回答に 1 万 token 以上の思考プロセスが含まれることがあり、それらは $2.52/M で請求に計上されます。簡単なタスクではreasoning_effortをlowまたはmediumに下げるのが最も直接的なコスト削減スイッチです。usage.completion_tokens_details.reasoning_tokensでこの数値を個別に確認できます。 - 200K のリクエスト全体で段階が切り替わります。prompt が 200K tokens(契約上の閾値は 199,999)に達すると、リクエスト全体が長文価格で計算されます:入力 $1.68 / 出力 $5.04 / キャッシュ読み取り $0.42 で、通常段階の 2 倍です。通常のトラフィックは 200K 未満に保ち、コードベース全体を無思考に詰め込まないでください。
- キャッシュ読み取りは正価の 4 分の 1 です。繰り返される長い system prompt やマルチターン会話のプレフィックスは自動的にキャッシュにヒットし、キャッシュ読み取りは $0.21/M(正価 $0.84/M の 4 分の 1)です。agent ループを組むときはプレフィックスを安定させると、請求額が明らかに良くなります。
よくある質問
Grok 4.7 と Grok 4.6 はどう選ぶ? プラットフォーム価格は完全に同じです($0.84/$2.52)。複雑なコーディングや agentic タスクには 4.7(公式のデフォルト推奨)を選び、簡単なタスクで token を節約したいなら 4.6 のままでよいでしょう。詳細な比較は Grok 4.7 vs Grok 4.6 を参照してください。
ストリーミング出力はサポートしていますか?
サポートしています。標準 SSE です。usage は最後の chunk でのみ返され、それ以前の chunk の usage はすべて空である点に注意してください。
reasoning_content は別途料金がかかりますか? 個別のスイッチを有効にする必要はありませんが、そこで生成される reasoning tokens は出力使用量に計上され、出力価格で課金されるため、段階が高いほど請求額が大きくなります。
コンテキスト 500K は入力の上限ですか? 500K は入力と出力を合計したウィンドウです。入力が 200K に近づくと長文価格が適用されます。詳しくは上記の「本番稼働前の注意点」を参照してください。
さらに深く知りたい方へ:価格の計算は Grok 4.7 API の料金、そのままコピーできる 5 つのシーンプロンプトは Grok 4.7 プロンプト大全、前世代の使い方は Grok 4.6 モデルページ を参照してください。上の pandas プロンプトをコピーして、モデルページ で最初の呼び出しを実行してみましょう。
関連記事
すべての記事を見る →-
チュートリアル
Recraft Creative Upscale 事例:風景と水彩のアップスケール
山小屋、湖、水彩の町のテクスチャ変化を確認し、完全な結果とプレビューを区別して、描き直された細部をチェックします。
-
チュートリアル
OpenAI API キーが無効:401、環境変数とプロジェクト設定の調査
OpenAI の 401、403、429 を区別し、環境変数、組織とプロジェクトの設定を確認し、読み取り専用リクエストで認証情報を検証します。
-
チュートリアル
Kling 4.0 プロンプト大全:6つのシーンをそのままコピーして動画を生成
EC商品、グルメ、旅行風景、日常のワンシーン、音声付きの空撮カット、イメージ・トゥ・ビデオ。各シーンに実写動画、完全なプロンプト、ワンクリックで自動入力されるリンクをご用意。