问题
通过 API 给 LLM 发 PDF 的智能体开发者,正被上游 API 的 PDF 处理缺陷反复打断:包含 JPEG 2000 (JPX) 图像的 PDF 触发 HTTP 400;带嵌入式 C2PA 清单的 PDF 被拒收——连 ChatGPT 自己生成并签名的 PDF 都会被自己的 API 拒绝;带 /Rotate 标志的横向扫描页会被裁成 595×595 的方块,“页面顶部约 29%、往往是重要数据所在的区域”直接丢失。开发者目前的解法是手工拼装 MuPDF、PDFium、Pillow/OpenJPEG 写预处理脚本,每个缺陷都要单独排查,失败模式在 API 端不透明,只能靠反复试错。痛点评分均为 4。
目标用户
正在通过 Responses API 等 LLM 接口发送 PDF 的智能体/文档 AI 开发者,从独立开发者到小团队。市场为全球开发者群体,但痛点集中出现在深度使用 PDF 输入的那部分;信号全部来自 OpenAI 开发者社区单一来源,规模存疑,应视为利基市场。
解决方案
- 三类已知缺陷自动修复:JPX/JP2 图像重编码为 API 可接受的格式、剥离嵌入式 C2PA 清单、把 /Rotate 归一化为正向内容流(针对“旋转放入内容流无效”的问题做正确处理)
- 送检前体检:上传后先扫描 PDF 结构,列出会在目标 API 上失败的特征并给出修复建议
- 静默代理模式:作为管线中的中间件,自动清洗后透传给 Responses API,返回修改日志
- AI 角色:这是“为 AI 修文档”的工具——AI 本身是消费者而非执行者;可选地用模型对修复前后页面做视觉比对,确认被裁切/丢失的内容已恢复
为什么是现在
信号显示这是近期集中出现的新问题(同日三帖、均针对 gpt-5.4 经 Responses API 发 PDF):Responses API 的 PDF 解析对 JPX、C2PA、/Rotate 三类合法 PDF 特征处理有缺陷,且 ChatGPT 开始给自己生成的 PDF 加 C2PA 签名,让“正常”文件反而被拒——内容溯源签名普及与 API 解析能力脱节,是这个工具当下成立的窗口。
MVP 范围
第一版只做三件事:检测并重编码 JPX/JP2 图像、剥离 C2PA 嵌入清单、把 /Rotate 归一化到页面内容流,输出一个保证能通过主流 LLM API 校验的 PDF,并报告每处修改。以 CLI 或轻量 API 形式交付。不做 OCR、不做全文抽取或理解、不做“PDF 万能修复”、不做可视化界面。
风险
平台依赖是最大风险:三个痛点本质上是 OpenAI Responses API 的解析 bug,一旦官方修复(信号中已出现 gpt-5.6-sol 被提及,暗示模型在迭代),核心卖点会迅速缩水,必须把产品定位扩展为面向多家 LLM API 的通用 PDF 规范化层。PDF 规范复杂、畸形文件长尾极长,工程量可能远超三类已知缺陷。DIY 替代真实存在:MuPDF/PDFium/Pillow 都是免费开源库,说服开发者为此付费比说服他们省时间更难——而信号中没有任何付费意愿证据。市场天花板受限于“给 API 发 PDF 的开发者”这一群体,规模有限。
已有产品
| 产品 | 定位 | 价格 |
|---|---|---|
| MuPDF | 通用 PDF 库,信号中被用作 JPX 重编码的 DIY 临时方案 | — |
| PDFium | 通用 PDF 库,信号中被用作验证/重编码的 DIY 临时方案 | — |
| Pillow/OpenJPEG | 通用图像库,信号中被用作 JP2 重编码的 DIY 临时方案 | — |
信号证据
这张卡片依据的原始讨论。摘录保持原文,点“原文”查看上下文。
OpenAI 开发者社区 · API10月1日痛点▲ 00 条评论
“Scanner PDFs (landscape MediaBox 842×595 + ): the model only sees a 595×595 square. The top ~29% of the upright page, where often important data sits, is missing.”
带有 /Rotate 标志的页面仍然被裁剪:模型只能看到横向扫描页面的左上角 595×595 的正方形区域,从而切掉了重要的数据。原文
OpenAI 开发者社区 · API10月1日痛点▲ 00 条评论
“So the API rejects a PDF that ChatGPT itself produced and signed.”
当 PDF 包含嵌入式 C2PA 清单(包括由 ChatGPT 自身生成的 PDF)时,API 会返回 HTTP 400 错误。原文
OpenAI 开发者社区 · API10月1日痛点▲ 00 条评论
“Affected PDFs contain images with . These are standard 8-bit sRGB or greyscale JP2 images and decode fine in MuPDF, PDFium and Pillow/OpenJPEG.”
HTTP 400 错误发生在包含 JPEG 2000 图像的 PDF 上,且通过 Responses API 发送。原文