SciFig

API 参考文档

速率限制与并发

请求限制、任务限制及 429 的处理方式。

限制#

限制数值适用范围
创建请求每分钟 20 次每个 API 密钥,或每个 OAuth 客户端与账号,跨所有 POST 端点计算
创建请求每分钟 40 次每个账号,跨其所有凭据计算
读取请求每分钟 120 次每个 API 密钥,或每个 OAuth 客户端与账号
运行中任务按档位(参阅 GET /credits)每个账号,与网站共享
每小时任务数每个滚动小时 200 个每个账号,与网站共享
位图转换每天 200 次每个账号
文字识别每 15 分钟 20 次每个账号,与网站共享
有限等待30 秒每个请求

处理 429#

  • 通过鉴权和权限检查的请求,其响应携带最严格请求窗口对应的 X-RateLimit-Limit、X-RateLimit-Remaining 和 X-RateLimit-Reset。401 和 403 SCOPE_DENIED 不包含这些请求头。429 携带以秒计的 Retry-After。
  • 429 CONCURRENCY_LIMITED 表示账号已有过多任务运行;已完成任务不再计入。429 RATE_LIMITED 的原因见下方。
  • 至少等待 Retry-After 指示的时长,以带随机抖动的指数退避方式重试,并使用相同的 Idempotency-Key。
  • 任务限制属于账号,增加密钥不会增加容量。

429 的原因#

  • 请求过多:每个凭据每分钟 20 次创建请求、每个账号每分钟 40 次创建请求、每个凭据每分钟 120 次读取请求。Retry-After 指示窗口重置前的等待时间;不包含 details.reason。
  • 最近一小时启动的任务过多:每个账号最多 200 个,与网站共享。Retry-After: 30。
  • 运行中任务过多:429 CONCURRENCY_LIMITED,按档位限制并与网站共享(参阅 GET /credits)。Retry-After: 30。
  • 每日 200 次免费 PNG、PDF、TIFF 和 PPTX 转换额度已用完:details.reason = DAILY_CONVERSION_LIMIT,Retry-After 指示每日窗口重置前的等待时间。
  • 上传过快:details.reason = UPLOAD_RATE_LIMITED(POST /files 的图像和蒙版、流程图附件、图表数据),对应网站每分钟上传限制。
  • 每日上传过多:details.reason = UPLOAD_DAILY_LIMIT_REACHED(流程图附件和图表数据),对应网站每日上传限制。
  • 文字识别:每个账号每 15 分钟 20 次,与网站共享。