HiAPI
ブログ

チュートリアル

Grok 4.7 API の使い方:5 分で最初の呼び出しを完走する

xAI がコーディングと agentic タスク向けに提供するテキストモデル:OpenAI Chat Completions プロトコル、4 段階の推論、JSON 出力とツール呼び出し。HiAPI 価格は $0.84/$2.52。そのまま実行できる curl と Python の例付き

Oct 29, 2026
Grok 4.7 API の使い方:5 分で最初の呼び出しを完走する

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 ステップ、コード不要

  1. Grok 4.7 モデルページを開き、ログインまたは登録します(新規ユーザーは 200 クレジットがもらえます)。
  2. チャットボックスにプロンプトを貼り付けます。たとえばこのリンクをクリックすると、プロンプトが自動入力されています。
  3. そのまま送信します。クレジットは実際の token 使用量に応じて差し引かれます。

ルート 2:API で 3 ステップ、自分のアプリに組み込む

  1. HiAPI コンソールで API Key を作成します。
  2. 下の curl にある YOUR_HIAPI_API_KEY を自分の Key に置き換えて実行します。
  3. 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 プロンプトをコピーして、モデルページ で最初の呼び出しを実行してみましょう。

永続的なAIアーティファクトで開発を始める

APIキーを取得して、タスクベースの1つのAPIで画像・動画・音声モデルを呼び出せます。

APIドキュメントを読む