GET /v1/limits 通过一次调用报告所有情况。
您自己的密钥没有金额上限
我们不设置请求限额,也没有月度上限。您无需持有余额来扣除。请参阅定价和计费。 一个上限适用。您的组织同时运行固定数量的 flex 竞速。超过该数量的请求将在标准层级运行。您会失去折扣,但仍能获得结果。报告将该数量称为own_keys.flex_race_slots。
托管密钥可能耗尽的资源
除了这四项之外,风险审查也可能暂停托管请求。它会返回
account_under_review。您自己的密钥路由仍可正常工作。
还有四项限制适用于所有组织。其中三项分别计算来自一个组织、一个密钥和一个 IP 地址的每分钟请求数。第四项计算来自一个 IP 地址的失败认证尝试次数。我们还会拒绝超过 50,000,000 字节的请求体,并返回 request_too_large。
报告会用其时间窗口和范围来命名每个每分钟限制。它省略了具体数字,因为 Cloudflare 在其运行的每个位置都会计算这些限制,一个数字不足以作为您规划预算的依据。请根据 Retry-After 中的秒数进行退避。
两个响应标头报告您的支出
自有密钥响应在路由解析后会携带它们,托管响应则从余额冻结时开始携带它们。 有三种响应不包含任何标头:我们提前拒绝的请求、模型目录,以及我们无法读取余额的托管请求。我们宁愿不提供这些标头,也不愿猜测。
我们在接受此请求时读取了这两个值。该数字涵盖了此请求结算其自身成本之前您剩余的额度。
负数意味着我们拒绝所有托管请求。充值可以修复负余额。每日负余额将在下一个 UTC 午夜或提高上限后恢复,充值无法恢复。
请在您已发送的流量上读取这些标头。在每次请求前轮询端点会增加一次往返开销,并且不会比标头提供更多信息。
限制端点
GET /v1/limits 需要您的 FlexInference 密钥。它报告您的组织所受的上限。它读取允许您的请求的记录,因此绝不会声称有我们实际会拒绝的空间。我们从不缓存答案。
最后三个字段说明了您的并发数和每日上限为何显示为当前值。豁免组织没有上限需要解释,因此这三个字段都显示
null。
暂停的余额会报告暂停状态而不是数字。任何正数都不能被解读为发送权限。
这些数字在 as_of 时刻有效,不保证您的下一个请求。另一个请求、结算、充值或退款都会改变它们。
缺少或错误的密钥将返回 401 错误,并附带 invalid_api_key。当我们无法读取这些记录之一时,端点将返回 503 错误,并附带 limits_unavailable。它会拒绝请求,而不是向您提供缓存数据,因为缓存数据可能会声称有空间,而您的下一个请求实际上无法获得。无论哪种情况,请求都将继续工作。
流中的成本
未流式传输的响应会通过x-flexinference-cost 标头和 usage.cost 块两次报告其成本。流式传输的响应无法使用标头,因为我们在答案生成之前发送标头,那时我们不知道成本。
发送 include_cost: true 以将成本信息包含在流中。
usage.routing 块位于其旁边,并命名了运行该请求的路由。
/v1/chat/completions 使 OpenAI 的 usage 帧本身成为可选加入项。同时发送 "stream_options": {"include_usage": true}。没有它,成本信息将没有可放置的帧。
托管请求报告提供商向我们收取的费用。自有密钥请求报告提供商在该层级运行时的标价。我们无法定价的请求根本不报告 cost。将缺失的块解读为无信息可报告,而非零。
无论哪种情况,每个响应都会带有两个路由标头。它们是 x-flexinference-served-provider 和 x-flexinference-routing-reason。跳过 include_cost 的流式调用者仍然可以看到哪个路由运行了请求以及原因。请参阅读取结果。
include_cost 永远不会到达提供商。我们在转发请求之前会将其从请求体中移除。