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 网关 的视觉模型测试小批量图片。模型和价格以 模型价格 为准。

相关阅读: