OCR API 用来把图片、扫描件、截图里的文字识别出来。传统 OCR 负责“认字”,多模态大模型还能进一步做结构化抽取、翻译和校对。
本文讲清楚 OCR API 的几种方案、调用方式和选型指标。
说明:不同厂商的 OCR 接口差异较大,本文以常见方案为例,具体以官方/站内文档为准。
一、OCR 的三种方案
| 方案 | 适合 | 特点 |
|---|---|---|
| 传统 OCR | 发票、证件、表格、票据 | 快、便宜、版式固定 |
| 多模态大模型 | 复杂版式、手写、理解型任务 | 灵活,但更贵、更慢 |
| OCR + 大模型 | 先识别再抽取/校验 | 准确率和结构化兼顾 |
二、传统 OCR API
通常输入图片 URL/Base64,返回文字和坐标。适合:
- 身份证/营业执照。
- 发票/票据。
- 表格/单据。
- 固定模板。
优点是速度快、成本低;缺点是对复杂版式、手写、低质量图片不够稳。
三、多模态大模型 OCR
把图片交给支持视觉的模型,直接输出文字或 JSON:
请识别图片中的文字,并按字段输出 JSON:
{ "name": "", "amount": "", "date": "" }
适合复杂版式、理解型任务,但要注意:
- 图片大小/分辨率限制。
- 输出可能不稳定,需要 schema/校验。
- 成本高于传统 OCR。
- 敏感数据要确认合规。
四、调用示例(OpenAI 兼容)
from openai import OpenAI
client = OpenAI(
api_key="sk-你的密钥",
base_url="https://ai.zhongshangqihang.com/v1",
)
resp = client.chat.completions.create(
model="gpt-5",
messages=[
{
"role": "user",
"content": [
{"type": "text", "text": "识别图片文字并输出 JSON"},
{"type": "image_url", "image_url": {"url": "https://example.com/a.png"}},
],
}
],
)
print(resp.choices[0].message.content)
模型是否支持视觉、图片格式/大小,以 模型价格 和站内文档为准。
五、选型指标
- 识别准确率(印刷/手写/低质量)。
- 版式支持(表格/票据/多栏)。
- 语言支持。
- 输出格式(文字/坐标/JSON)。
- 延迟和并发。
- 价格(按张/按 Token)。
- 数据合规。
六、准确率怎么测
准备 50–100 张真实图片,覆盖:
- 清晰/模糊。
- 正拍/倾斜。
- 印刷/手写。
- 单栏/多栏/表格。
对比字符准确率、字段准确率、结构化输出成功率。不要只用官方 demo 图测试。
七、常见坑
- 图片压缩过度,文字糊。
- 表格/多栏顺序错乱。
- 手写/印章识别差。
- 大模型输出 JSON 不稳定。
- 敏感证件数据出境/留存。
- 只按张数比价,忽略失败重试。
常见问题
OCR API 和大模型视觉有什么区别?
OCR 专注文字识别;视觉大模型还能理解、抽取、翻译和校验。
发票/证件能用吗?
可以,但要确认版式支持、准确率和数据合规。重要场景建议人工复核。
图片太大怎么办?
先压缩/裁剪/旋转,或使用支持大图的接口。上传前确认大小限制。
下一步
需要统一入口,可以先用 中商起航 AI 网关 的视觉模型测试小批量图片。模型和价格以 模型价格 为准。
相关阅读:
