先量请求体,不只看磁盘文件大小

向API提交PDF时,限制针对的可能是整份请求载荷,而不是磁盘上那一个PDF。base64编码会增大数据,再加messages、说明文字和其他附件,原文件看似没到阈值也可能超限。

网页聊天上传限制与API限制不能互相替代。本文不讨论聊天界面的500MB或项目文件规则,只检查当前API提交方式与请求载荷;第三方云平台另看各自规则。

先确认采用哪一种来源

当前官方文档列出URL引用、document块中的base64、Files API的file_id等方式。记录你实际使用的路径,不要在报错后只改文件名,或者把普通网页URL当成直接PDF地址。

URL路径涉及远端可访问性和鉴权;base64路径需要正确媒体类型与数据;file_id必须来自自己的已授权文件流程。三种方式的失败点不同,不能用同一条“请重新上传”覆盖。

磁盘大小不是API请求大小;原文件:24MiB = 25,165,824字节;编码主体:base64约32MiB,尚无JSON开销;完整请求:还要计其他附件与说明;定位后再选修复:拆分材料或核对文件引用路径
本站原创示意图:磁盘大小不是API请求大小。给定字节算例;未上传PDF或实测服务器上限。查看大图 ↗

手算一次编码膨胀

一个虚构的24MiB二进制文件有25,165,824字节,base64主体长度为4×ceil(字节数÷3),此例是33,554,432个ASCII字符,尚未计JSON、模型名与任务说明。MiB与文档中的MB口径也不能随意等同。

文末离线程序只计算字节与编码主体长度,不生成真实PDF、不上传文件。运行后可看清24MiB转为约32MiB编码文本;这不代表某个服务一定接受或拒绝该样例,实际按完整序列化字节与服务限制判断。

从错误到修复的顺序

先保存实际HTTP状态与脱敏错误,确认是请求体大小、页数、加密文件、格式还是权限问题。官方当前文档将32MB请求上限及按上下文条件区分的页数限制列为要求,均需在执行日复核;不把它推广到所有平台。

如果是载荷过大,先移除确实无关的附件与重复输入,必要时按相关章节拆分,或评估官方文件引用路径。不要为了压缩体积把关键单位、页码和图表弄得不可辨认。

计算真实序列化大小

实际应用可对准备发送的请求对象使用Buffer.byteLength(JSON.stringify(payload),'utf8')测量字节;要包含全部字段。不要对base64再做一次编码,也不要只看JavaScript字符串length就断言网络字节等长。

敏感PDF不应为绕过URL鉴权而公开上传到第三方。改用file_id同样需要核对授权、文件归属和当前功能条件,不能在错误后任意改动生产访问策略。

怎样验收结果

用一份获准使用的小型测试PDF先验证路径,再逐步测量真实载荷;处理页数与视觉质量还需查看文档并核对响应。本文只验算编码长度,不验证真实PDF解析、服务端阈值、费用或图表识别效果。

参考资料与核验范围

资料核对日期:2026年10月19日。以下为官方原始资料;产品入口和可用范围仍以当前账户为准。

1. [官方资料1](https://platform.claude.com/docs/en/build-with-claude/pdf-support)