用量

每一次调用花了多少 token、缓存有没有命中、余额还剩多少。

响应里报告了什么

每个响应都带一个 usage 块:

"usage": {
  "input_tokens": 24,
  "output_tokens": 4,
  "cache_creation_input_tokens": 0,
  "cache_read_input_tokens": 0
}

计费按 input_tokens 与 output_tokens, 缓存 token 单独计价,见下。

流式请求怎么读

流式响应把用量分两处上报:message_start 事件里带输入侧的数字, message_delta 事件里带最终的 output_tokens。 两个都要读,只读其一会漏。

区分缓存命中和缓存写入

在稳定前缀上打一个缓存断点:

"messages": [{"role": "user", "content": [
  {"type": "text", "text": "<你的长而稳定的前缀>",
   "cache_control": {"type": "ephemeral"}},
  {"type": "text", "text": "<变化的部分>"}
]}]

然后读回这两个数:

各模型的计量差异

claude-opus-5 使用与其他六个模型不同的容量,因此计量方式也不同。

它对输入 token 的计数更宽松。英文散文实测约为你预期的 1.67 倍,另外每个请求还有大约 530 token 的固定开销。中文和代码我们测到的单位计数更高, 但还没有定出确切比例,请按至少 1.67 倍估算,并用你自己的真实流量去测。

查询余额

余额、冻结金额以及每一笔费用(文本与视频,按 Key 区分)都可以在 国内预览说明 中查看。金额以美元计,保留六位小数,不涉及汇率。可用余额为负或不足时,新的付费调用会被拒绝,查询与充值不受影响。

GET /v1/usage 已下线,现在返回 404。要查看 Key 可以调用哪些模型,请使用 GET /v1/models。

curl https://api.nightferry.io/v1/models \
  -H "x-api-key: $NIGHTFERRY_KEY"

列表中的模型仍可能返回容量不足错误,价格页只列出我们最近确认可用的模型。

我们不提供什么

/v1/messages/count_tokens 在 Anthropic API 里存在, 但这里不提供。我们不服务该接口,而且我们能返回的数字会忽略你的 tools 和 system 块 —— 在真实的 agent 负载上,误差超过三十倍。 一个看起来对、实际错的数字比没有数字更糟,所以它返回 404。

要在发送前估算 prompt 大小,就把它发出去,然后读回 usage。 失败的请求不计费 —— 见错误。