OhMyGPT

费用

每个响应都会告诉你花了多少。直接从响应读取费用,事后也能查询任意请求,并查看完整的历史记录。

每个响应都会写明这次的确切花费,所以按请求、按用户、按功能统计开销都不必再拿 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-a97e1d14040b

SDK 默认不暴露响应头,需要取原始响应:

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 计。
usagetoken 数,包括推理 token 和缓存 token
model.provider处理这个请求的供应商
timing.first_token_ms首 token 耗时,仅流式请求有

每一项都单独向上取整到整数 Credit。像这样很小的请求,取整就看得出来:上面每个单价都是标价的 45%,这次请求却实付 3 Credits、按标价是 4 Credits。正常大小的请求,两个比例是一致的。

用好提示词缓存

缓存命中的输入比新输入便宜。多轮对话中,每一轮都发送同一个会话级的值,重复的提示词就能持续命中缓存:

端点字段
Chat Completions、Responsesprompt_cache_key 或 provider.conversation_id(不超过 256 字节)
Anthropic Messagesmetadata.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。就某个请求联系客服时,请附上它。

本页目录