费用
每个响应都会告诉你花了多少。直接从响应读取费用,事后也能查询任意请求,并查看完整的历史记录。
每个响应都会写明这次的确切花费,所以按请求、按用户、按功能统计开销都不必再拿 token 数去估算。费用以 Credits 计:1 美元 = 250,000 Credits。
非流式请求的费用
响应头 X-Cost-Credits 是本次费用,X-Request-ID 是请求 ID:
curl -si https://api.ohmygpt.com/v1/chat/completions \
-H "Authorization: Bearer $OHMYGPT_API_KEY" \
-H "Content-Type: application/json" \
-d '{"model": "zhipu/glm-5.3-flash", "messages": [{"role": "user", "content": "Hi"}]}' \
| grep -iE '^x-(cost-credits|request-id)'X-Cost-Credits: 28
X-Request-Id: 01a19b5d-aa2f-71df-a0c2-a97e1d14040bSDK 默认不暴露响应头,需要取原始响应:
raw = client.chat.completions.with_raw_response.create(
model="zhipu/glm-5.3-flash",
messages=[{"role": "user", "content": "Hi"}],
)
print(raw.headers["x-cost-credits"], raw.headers["x-request-id"])
completion = raw.parse()流式请求的费用
流式响应的响应头在模型生成完之前就已发出,所以费用以 SSE 注释的形式放在最后一个事件之前:
data: {"id":"...","object":"chat.completion.chunk","choices":[],"usage":{"prompt_tokens":36,"completion_tokens":16,"total_tokens":52}}
: x-cost-credits: 2
data: [DONE]Chat Completions 放在 data: [DONE] 之前,Responses 放在 response.completed 之前,Anthropic Messages 放在 message_stop 之前。SDK 会跳过注释行,所以只有自己解析流时才能读到它。用 SDK 时,或者是 Gemini 的流式响应,请按下文的方法用请求 ID 查询。
查询单个请求
GET /v1/generation?id=<X-Request-ID> 返回你任意一个请求的明细,流式和非流式都可以查:
curl "https://api.ohmygpt.com/v1/generation?id=01a1a024-b4db-7110-a49f-76360d332aa9" \
-H "Authorization: Bearer $OHMYGPT_API_KEY"{
"data": {
"object": "request_receipt",
"id": "01a1a024-b4db-7110-a49f-76360d332aa9",
"status": "succeeded",
"created_at": "2026-11-03T06:42:04.462Z",
"model": { "id": "deepseek/deepseek-v4.1-flash-1017", "provider": "tencent" },
"usage": {
"input_tokens": 31,
"output_tokens": 1,
"reasoning_tokens": 1,
"cache_read_tokens": 0,
"cache_creation_tokens": 0
},
"cost": {
"credits": 3,
"list_credits": 4,
"lines": [
{ "kind": "text.input", "quantity": 31, "price_credits": 32850, "list_price_credits": 73000, "credits": 2 },
{ "kind": "text.output", "quantity": 1, "price_credits": 131400, "list_price_credits": 292000, "credits": 1 }
]
},
"timing": { "duration_ms": 4412 },
"receipt": { "available": true, "warnings": [] }
}
}| 字段 | 含义 |
|---|---|
cost.credits | 实际扣费 |
cost.list_credits | 同样的用量按模型标价计算的费用。高于 credits 时,差额就是你省下的钱。 |
cost.lines | 逐项明细:每一项的用量(quantity)、你付的单价(price_credits)、标价单价(list_price_credits)和这一项的金额。单价按每 100 万单位多少 Credits 计。 |
usage | token 数,包括推理 token 和缓存 token |
model.provider | 处理这个请求的供应商 |
timing.first_token_ms | 首 token 耗时,仅流式请求有 |
每一项都单独向上取整到整数 Credit。像这样很小的请求,取整就看得出来:上面每个单价都是标价的 45%,这次请求却实付 3 Credits、按标价是 4 Credits。正常大小的请求,两个比例是一致的。
用好提示词缓存
缓存命中的输入比新输入便宜。多轮对话中,每一轮都发送同一个会话级的值,重复的提示词就能持续命中缓存:
| 端点 | 字段 |
|---|---|
| Chat Completions、Responses | prompt_cache_key 或 provider.conversation_id(不超过 256 字节) |
| Anthropic Messages | metadata.user_id |
curl https://api.ohmygpt.com/v1/responses \
-H "Authorization: Bearer $OHMYGPT_API_KEY" \
-H "Content-Type: application/json" \
-d '{"model": "openai/gpt-5.4-nano", "prompt_cache_key": "conv-8f2c", "input": "Hi"}'Claude Code 每个请求都会带上会话 ID,开箱即用。请求明细里的 usage.cache_read_tokens 就是缓存读取的输入 token 数。
批量查看请求
要一次查看大量请求,可以用 GET /v1/usage 筛选并分页,或者打开用量页面。
每个响应(包括错误响应)都带有 X-Request-ID。就某个请求联系客服时,请附上它。