Grok 4.5 API 怎麼接入:Responses API、價格、EU 可用性與 prompt cache 設定

使用 xAI API 接入 Grok 4.5:OpenAI SDK 相容配置、Responses API 請求、每百萬 tokens 價格、EU 可用性,以及 prompt_cache_key 的正確設定方式。

Grok 4.5 是 xAI 面向編碼、Agent 和知識工作的模型,模型名為 grok-4.5。如果你的專案已經使用 OpenAI SDK,可以透過把 baseURL 指向 https://api.x.ai/v1 來呼叫它;新專案則可選擇 xAI SDK、OpenAI SDK 相容方式或直接請求 REST API。

這篇文章只討論 API 接入。Grok Build、Cursor 和 Office 外掛中的模型可用性,與 API Console 的地區、賬號和計費狀態並不完全等同,排錯時不要混為一談。

接入前先確認三件事

開始前需要:

  1. 在 xAI API Console 建立 API key,並將其儲存在環境變數 XAI_API_KEY 中。
  2. 確認目標賬號可以使用 API Console;截至官方文件更新時,EU 使用者尚不能在 API Console 中使用 Grok 4.5,官方預計在當月稍後提供。
  3. 明確你要用的是 Responses API 還是 Chat Completions。新接入優先用 Responses API;已有基於 chat.completions 的專案可以先保持現有介面,再單獨加入快取路由設定。

不要把 API key 寫進前端 JavaScript、客戶端應用或 Git 倉庫。瀏覽器、移動端和桌面客戶端應先請求自己的後端,再由後端呼叫 xAI API。

Grok 4.5 的價格與能力範圍

官方文件列出的基礎文字價格如下:

專案 Grok 4.5
輸入價格 $2.00 / 1M tokens
輸出價格 $6.00 / 1M tokens
推理強度 Low、Medium、High,預設 High
支援介面 Responses API、Chat Completions
可搭配工具 Function Calling、Web Search、X Search、Code Execution

價格表不是最終賬單。實際成本還會受到輸入長度、輸出長度、推理強度、工具呼叫、快取命中、速率限制和團隊定價的影響。先用小流量記錄輸入、輸出與快取 token,再決定是否提高推理強度或擴大併發。

用 OpenAI SDK 呼叫 Responses API

如果專案已安裝官方 openai Python SDK,可以按下面方式接入。關鍵是保留 base_url="https://api.x.ai/v1",並將模型名寫成 grok-4.5

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
import os
from openai import OpenAI

client = OpenAI(
    api_key=os.environ["XAI_API_KEY"],
    base_url="https://api.x.ai/v1",
)

response = client.responses.create(
    model="grok-4.5",
    input="請審查這段 Python 函式,指出邊界條件問題並給出修正版。",
)

print(response.output_text)

等效的 HTTP 請求是:

1
2
3
4
5
6
7
curl https://api.x.ai/v1/responses \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer $XAI_API_KEY" \
  -d '{
    "model": "grok-4.5",
    "input": "請審查這段 Python 函式,指出邊界條件問題並給出修正版。"
  }'

請求返回錯誤時,先檢查 API key、base_url、模型名和賬號地區,再檢查限額或組織級策略。不要因為模型不可用就把金鑰改寫到程式碼檔案中反覆測試。

為什麼要設定 prompt_cache_key

長對話、程式碼庫分析和 Agent 迴圈經常重複傳送系統提示詞、工具說明和歷史上下文。xAI 的快取按伺服器儲存;如果同一會話請求沒有穩定地路由到同一臺伺服器,就可能落到快取冷的伺服器並按完整輸入計費。

Responses API 中,應把 prompt_cache_key 作為請求體欄位傳入。對於同一段連續會話,使用穩定、不可預測且不含敏感原文的標識,例如服務端生成的 UUID:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
import os
from openai import OpenAI

client = OpenAI(
    api_key=os.environ["XAI_API_KEY"],
    base_url="https://api.x.ai/v1",
)

response = client.responses.create(
    model="grok-4.5",
    input="繼續根據剛才的約束補全測試用例。",
    extra_body={
        "prompt_cache_key": "7f26e7a8-1f8f-4c34-9f93-4e9e1d40d7a1"
    },
)

print(response.output_text)
print(response.usage.input_tokens_details.cached_tokens)

這個鍵的作用是讓同一會話更穩定地路由到同一伺服器,從而提高快取複用機會;它不是把所有請求強行合併成一個對話,也不能代替你儲存自己的會話狀態。需要隔離的使用者、專案、租戶或任務,應使用不同的鍵。

Chat Completions 不是同一個欄位

已有專案如果繼續使用 Chat Completions,不要把 prompt_cache_key 直接照搬過去。該介面使用 HTTP 請求頭 x-grok-conv-id

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
from openai import OpenAI

client = OpenAI(
    api_key="YOUR_XAI_API_KEY",
    base_url="https://api.x.ai/v1",
)

response = client.chat.completions.create(
    model="grok-4.5",
    messages=[
        {"role": "system", "content": "You are a careful code reviewer."},
        {"role": "user", "content": "Review this change and list regressions."},
    ],
    extra_headers={
        "x-grok-conv-id": "conv_abc123",
    },
)

print(response.choices[0].message.content)

兩種介面的目的一樣:讓同一會話儘量命中同一伺服器快取。欄位位置不同是常見錯誤來源:Responses API 用請求體 prompt_cache_key,Chat Completions 用 x-grok-conv-id 請求頭。

快取鍵怎樣設計才不會失效

可以把快取鍵視為“同一可複用上下文”的服務端路由標籤。推薦策略:

  • 一個使用者在一個明確會話中的連續請求共用同一個鍵;
  • 更換專案、模型、系統提示詞版本或許可權範圍時生成新鍵;
  • 用資料庫 ID、隨機 UUID 或經過雜湊處理的內部會話 ID,不直接拼接郵箱、提示詞原文或客戶資料;
  • 在應用日誌中記錄鍵的短摘要和快取 token,而不是記錄完整金鑰或完整使用者輸入;
  • 觀察 cached_tokens,用真實命中情況判斷設計是否有效。

如果每一輪都生成新 UUID,或把同一使用者所有不相關任務都塞進一個鍵,都會削弱快取策略的價值。前者很難複用,後者則會讓除錯、隔離和成本歸因變得混亂。

EU 與多地區部署怎麼處理

官方文件說明,Grok 4.5 在 API Console 對 EU 使用者仍未開放,預計在當月稍後推出。因此,面向多地區使用者的產品應把地區可用性作為啟動檢查的一部分:

  1. 在後端建立呼叫前確認賬號和部署地區是否具備訪問資格。
  2. 對不具備資格的地區返回清晰的功能不可用提示,而不是無限重試。
  3. 不要透過代理、共享賬號或偽造地區資訊繞過服務限制。
  4. 為關鍵流程準備已獲授權的替代模型或人工處理路徑,並在上線前測試降級行為。

EU 是否已經開放、具體價格和限額都可能變化。釋出到生產環境前,應以 API Console、模型詳情頁和最新定價頁為準,而不是隻依據本文的釋出時間。

常見接入問題

返回 401 或 403

優先檢查 XAI_API_KEY 是否真正注入執行環境、請求是否發往 https://api.x.ai/v1,以及賬號是否具備 API Console 和地區訪問資格。不要在錯誤日誌裡列印 Authorization 頭。

快取 token 一直是 0

確認連續請求使用相同的 prompt_cache_key,並且欄位放在 Responses API 請求體中;若使用 Chat Completions,則檢查 x-grok-conv-id 頭。快取命中也受上下文與服務端路由影響,不能只透過一次短請求判斷策略失敗。

成本比預期高

先拆分輸入、輸出和快取 token,檢查是否預設使用了 High 推理強度、是否重複傳送長上下文、是否工具呼叫過多,再調整提示詞、會話切分和快取鍵。不要僅憑總賬單猜測是模型單價問題。

總結

接入 Grok 4.5 的最短路徑是:在後端儲存 XAI_API_KEY,將 OpenAI SDK 的 base_url 指向 https://api.x.ai/v1,用 grok-4.5 呼叫 Responses API,併為同一連續會話設定穩定的 prompt_cache_key。對已有 Chat Completions 專案,則使用 x-grok-conv-id。上線前再核對 EU 可用性、實時價格、限額與快取 token,才能把示例呼叫變成可控的生產工作流。

官方資料:

记录并分享
使用 Hugo 建立
主題 StackJimmy 設計