无需登录:匿名限流如何让免费工具继续免费
目录工具与匿名 /api/v1/ 调用都不需要账号。托管响应带 X-RateLimit 三个头,HTTP 429 还会带 Retry-After。

PDF123 保留着一条不需要账号的上传下载路径。同一批操作也挂在 /api/v1/ 下,脚本可以在没人点“处理”按钮的情况下调用。匿名使用不需要 API Key;限流的作用,是让这块面不至于变成一台无上限的免费主机。
匿名是默认路径
在压缩或合并这类工具页上丢进文件、点运行即可。对目录工具来说,/api/v1/ 下的匿名 REST 走的是同一套流程。/api/v1/general/、/api/v1/misc/、/api/v1/security/、/api/v1/convert/、/api/v1/filter/ 是匿名工具前缀,门户里每个目录工具都落在这些路径内。
登录的意义是让你为自动化创建个人 API Key,而不是把“处理”变成一道付费墙。浏览器表单与 HTTP 契约始终对齐:每个工具页上的 “Call this from code” 区块,用表单发出的同一批字段拼出一条 curl。
管理、用户资料以及其他非工具路由不在这几个前缀里。匿名调用者撞上带门闸的路径,得到的是一次认证失败,而不是整张 API 面的免费通行证。
响应头说了什么
每条托管 API 响应都会标示预算(在 pdfx-server 上实现):
X-RateLimit-Limit:本条响应所标示的周期上限X-RateLimit-Remaining:当前周期剩余的预算X-RateLimit-Reset:窗口的重置标记(读实际值,不要假定它是自然日)
返回 HTTP 429 时,Retry-After 会告诉守规矩的客户端什么时候再试。配额失败用的是开发者错误里结构化的 rate_limited problem 码,形状与其他 API 失败的 application/problem+json 相同。脚本可以按码分支,不必去刮 HTML 错误页。
数字上限只会随部署设置变化。某一条响应上的头才是事实源,不是某篇博客的快照。把本文里的“每日数字”写死的客户端,下次运维人员调整周期时就会算错。更稳的做法是每次调用后读一次 X-RateLimit-Remaining,接近零就开始退避。
免费工具为什么仍然限流
没有上限,匿名端点就会变成别人的批处理农场。限流让一次性作业继续可用,同时把更重或更私有的负载推向 Key 或自托管。
上限保护的还有共享 CPU 上那些真正昂贵的 op:大型合并、从扫描件返回 Markdown 的 OCR(text/markdown,不是重新分层出文本的 PDF),以及多步的 POST /api/v1/pipeline。产品选择是“匿名但有上限”,不是“匿名且无限”。
匿名访问依然是临时处理:上传只为这一次作业服务,结果就绪后即清理。限流管的是容量公平,不是在免费登录墙后面偷偷建一个长期文档库。
Key 改的是身份,不是目录
当你需要稳定的调用方身份、需要不会重复执行作业的 Idempotency-Key 重试,或者需要一台用固定全局 Key 的自托管服务器(本机设 SECURITY_CUSTOMGLOBALAPIKEY)时,去开发者创建 Key。OpenAPI 仍然在你访问的那个 base URL 的 /v1/openapi.json 上。
/mcp 上的 MCP 面向自动化客户端,跟随同一份目录、同一套 Key 规则。不管调用方是匿名还是带 Key,操作都不变,变的只是认证与配额。
同一个 op 的四种句柄(浏览器、curl、MCP、CLI)见同一操作,四种客户端。当上限或留存不够、需要把整块面搬进自己的网络时,见自托管实际买到什么。