Grok API
← 全部文档

如何降低 Grok API 成本

同一个任务,你可以花不到一美分,也可能花上好几倍。下面这些技巧能在不影响质量的前提下削减最多 85% 的账单:prompt 缓存、上下文控制、合理的限制与流式响应。

用量计算器

选择相近的场景,或填入你自己的数值。

grok-4.5
也把重试算进去
提示词、历史和文档
实际生成的回答
预算估算
−50%
按官方价格 / 每月
$0.775
通过 GrokAPI / 每月
$0.388
每月节省
每年节省: $4.65
$0.388
打开控制台

估算使用当前短上下文价格,未计入 prompt 缓存。它反映的是费用量级,而非精确账单。

从哪里开始

先从表格顶部的技巧入手,投入小、收益大。

技巧效果难度
prompt 缓存最多 −85%
上下文低于 200k−50%
精简上下文−30–70%
合理的 max_output_tokens−10–30%
流式响应 + 提前中断−20–40%
按需使用推理−20–50%
对话历史摘要化−30–50%

1. Prompt 缓存

如果多次请求共享一段长 system prompt、指令集或上下文文档,GrokAPI 会自动缓存它们。缓存读取每 1M 仅 $0.15,而常规输入为 $1.00,约为 −85%。适合 RAG、智能体流水线以及固定 system prompt 的应用。

JavaScript
import OpenAI from "openai";

const client = new OpenAI({
  apiKey: process.env.XAI_API_KEY,
  baseURL: "https://api.llm-gate.tech/v1",
});

// Keep the long, stable instructions at the START of every request.
// GrokAPI caches the shared prefix automatically, so repeated calls
// pay the cached rate for it instead of the full input rate.
const SYSTEM = "You are a senior code reviewer. <long, fixed instructions…>";

const response = await client.responses.create({
  model: "grok-4.5",
  instructions: SYSTEM,          // stable, cacheable prefix
  input: userQuestion,          // the only part that changes
});

2. 把上下文控制在 200k token 以内

Grok 4.5 有两档价格。低于 200k token 时按标准价(每 1M 输入 $1.00 / 输出 $3.00)。一旦超过阈值,就进入长上下文价格,翻倍($2.00 / $6.00)。如果任务能装进短上下文,就别为了省事把请求撑到长上下文档位。

3. 精简上下文

每一个多余的输入 token 都在花钱。任务只涉及一个文件,就别把整个仓库塞进去;两条消息够用,就不要带完整对话历史。加入文档前问自己:没有它,模型真的会答得更差吗?

该做
  • 只发送相关文件,而不是整个项目
  • 把长文档裁剪到需要的段落
  • system prompt 保持简短、明确
  • RAG 中返回 3–5 个最佳片段,而不是 20 个
别做
  • "以防万一" 把整份文档粘进 prompt
  • 在 system 与 user 中重复同样的指令
  • 把过期的代码片段留在对话历史里

4. 合理设置 max_output_tokens

max_output_tokens 限制回答的最大长度。设得过大不会强迫模型写更多,但模型往往会把空间填满。按实际需要设置。

JavaScript
// One sentence — 60. A paragraph — 200. A mini-essay — 800.
const response = await client.responses.create({
  model: "grok-4.5",
  input: prompt,
  max_output_tokens: 200,
});

5. 使用流式响应并及时中断

流式响应(SSE)本身不会让请求更便宜,但让你能在生成明显跑偏时中断。这在聊天界面和智能体里尤其重要:检测到不良模式即可关闭连接,不必为无用的续写付费。

JavaScript
const stream = await client.responses.stream({
  model: "grok-4.5",
  input: prompt,
});

for await (const event of stream) {
  if (shouldStop(event)) {
    stream.controller.abort(); // stop paying for a useless continuation
    break;
  }
}

6. 管理对话历史

在长会话中历史会不断累积:输入 token 线性增长,但总成本近似二次增长,因为每轮都为整段历史付费。每 10–20 条消息保存一次简短摘要并重置——让下一轮以一段话开始,而不是一整块文本。

JavaScript
// After ~10-20 turns, compress the history and start fresh.
const summary = await client.responses.create({
  model: "grok-4.5",
  instructions: "Summarize the conversation so far in 3-4 sentences.",
  input: JSON.stringify(history),
  max_output_tokens: 160,
});

history = [{ role: "system", content: summary.output_text }];

7. 推理——只在需要时开

Grok 4.5 会在回答前花 token 进行内部推理,这些也计费(按输出计价)。对只需快速回答的任务——抽取、分类、模板化生成——不需要深度推理。将其保留给规划、复杂调试和对输出质量要求高的智能体。

8. 提前估算成本

单次请求的成本容易预估:(输入 token × 输入单价 + 输出 token × 输出单价) ÷ 1,000,000。运行前先算,而不是运行后——就能判断哪段流水线值得优化。

公式
cost = (input × $1.00 + output × $3.00) / 1,000,000
示例:输入 2000 + 输出 500 token

在 GrokAPI 上每次请求约 $0.0035。$45 余额 → 约 12,857 次请求。按官方价格,同样的请求约需 $0.0070。

用量计算器

相关页面