图片识别 API 怎么选:OCR 与视觉模型对比

发票识别、截图问答、文档解析看起来都是"看图",实际该用 OCR 专用模型还是通用视觉大模型?这篇按任务类型拆开对比,附站内实际挂单价、图片 token 的成本估算方法和接入代码。

"能不能识别这张图"是最模糊的需求描述。同一个问题,答案可能是每百万 tokens 三毛钱的 OCR 专用模型,也可能是贵二十倍的通用视觉大模型——差别不在精度,而在你要的到底是把字抄下来还是看懂图在说什么。

选错方向的代价很直接:用通用视觉模型做批量发票录入,账单会难看得让你想重写;反过来用 OCR 模型做截图问答,它只会把界面文字吐给你,答不出"这个报错该怎么办"。

先说结论

  • 只提取文字、版面固定(发票、身份证、运单、表格):用 OCR 专用模型,单价通常比通用视觉模型低一个数量级
  • 需要理解语义、做判断(截图问答、图表解读、UI 走查、质检):用通用视觉大模型
  • 混合任务分两段走:OCR 先抽文本,再喂给便宜的文本模型做理解,总成本往往最低
  • 分辨率是成本开关:先缩放到业务够用的尺寸,再送模型

三类任务先分清

任务类型典型场景需要的能力推荐方向
纯文本提取发票、证件、票据、扫描件字符准确率、表格结构还原OCR 专用模型
文档理解合同比对、研报摘要、长 PDF版面分析加语义归纳OCR 加文本模型两段式
视觉问答截图排障、图表解读、商品图审核空间关系、常识推理通用视觉大模型

判断方法很简单:如果你的验收标准能写成"字段抽对了没有",那是第一类;如果验收标准是"回答得像不像人",那是第三类。

站内实际挂单价

以下价格取自平台价格页,单位为每百万 tokens(输入 / 输出),按次计费的模型单独标注:

模型定位输入输出
qwen-vl-ocrOCR 专用$0.3$0.57
qwen3.5-ocrOCR 专用$0.6$2
gemini-2.5-flash通用多模态$0.3$2.5
qwen3-vl-plus通用多模态$1$10
doubao-seed-2-0-lite通用多模态$1$5.5
gpt-5.6-terra通用多模态$3$15
gpt-5.5旗舰多模态$7.5$60

看这张表要抓住两个事实:OCR 专用模型和通用多模态模型的输入价差能到十几倍;而输出价差更夸张,因为视觉模型的输出往往是长段描述。完整清单和实时价格以 价格速查 为准。

图片是怎么变成钱的

图片不会免费进模型。图像在送入模型前会被切块并编码成 token,具体换算比例各家不同、且随分辨率变化,这里不给通用公式——用返回的 usage 反推才是准的。

from openai import OpenAI
import base64, pathlib, os

client = OpenAI(api_key=os.environ["ZAIMOD_API_KEY"],
                base_url="https://api.zaimod.com/v1")

b64 = base64.b64encode(pathlib.Path("invoice.jpg").read_bytes()).decode()
r = client.chat.completions.create(
    model="gemini-2.5-flash",
    messages=[{
        "role": "user",
        "content": [
            {"type": "text", "text": "只输出这张发票的金额和开票日期,用 JSON。"},
            {"type": "image_url",
             "image_url": {"url": f"data:image/jpeg;base64,{b64}"}},
        ],
    }],
)
print(r.usage)   # prompt_tokens 里就含图片折算的部分

拿到 prompt_tokens 后除以图片数量,就是你这条业务线单张图的真实 token 成本。用这个数去乘单价,比任何估算表都可靠。

降本的四个动作

缩图。 手机直出照片动辄四五千像素,业务上通常 1024 到 1600 的长边就够。缩放发生在客户端,省的是 token,不是带宽。

裁掉无关区域。 发票只留票面,截图只留报错弹窗。视觉模型对整屏截图的注意力会被稀释,裁图既省钱又提准。

先 OCR 再理解。 文档类任务里,OCR 输出文本通常只有几百 tokens,把它交给 gpt-4o-mini($0.156 / $0.624)做归纳,比直接让旗舰视觉模型读整页图便宜得多。

按置信度分流。 关键字段置信度高的直接入库,低置信度的才升级到贵模型复核。这一条能把平均成本压到全程用旗舰模型的零头。

接入时容易踩的坑

统一走 OpenAI 兼容协议,切换模型只改 model 字段,协议细节见 OpenAI 兼容协议详解。实践中有三处要注意:

  • base64 别塞进日志:一张图编码后几百 KB,日志会被撑爆,也容易泄露敏感票据
  • 单请求图片数量有上限:多页 PDF 要分页送,不要一次传二十张
  • 不要假设所有模型都支持图片:部分文本模型收到 image_url 会直接 400,调用前先确认模型标签

错误码含义可对照 大模型 API 错误码速查;如果是并发太高被拦,先看 429 限流排查。

选型路线

  1. 先确认验收标准:字段级准确率,还是回答质量
  2. 字段级:从 qwen-vl-ocr 起测,不够再升 qwen3.5-ocr
  3. 回答级:先用 gemini-2.5-flash 这类低价多模态打底,效果不够再逐级上探
  4. 用 20 到 50 张真实样本做 A/B,记录准确率与单张 token 成本
  5. 准确率差距小于 3% 时,选便宜的那个

常见问题

Q:OCR 模型能直接输出结构化 JSON 吗?

多数支持,但稳定性不如通用模型。稳妥做法是 OCR 出文本,再用文本模型按 schema 抽取,两段各司其职。

Q:手写体、模糊拍照能用 OCR 专用模型吗?

先测。手写体和低质量扫描件是 OCR 的弱项,这类场景通用视觉模型的鲁棒性往往更好,值得多花那点钱。

Q:视频和 PDF 怎么办?

PDF 按页转图后走同一套流程;视频需要抽帧,属于另一条链路,图像与视频生成、理解类模型的清单见 媒体模型文档。

Q:同一张图重复分析,能缓存吗?

能,而且必须做。对图片内容做哈希作为缓存键,同样的图只调一次模型,命中率高的话成本能降一半以上。

延伸阅读

#图片识别 api#ocr api 价格#视觉大模型选型#多模态 api 接入
免费创建 API Key

相关阅读

GPT-4o 和 GPT-4o mini 怎么选

同一个任务用 gpt-4o 还是 gpt-4o-mini,答案不是"看预算"这么笼统。这篇按四类真实任务拆开对比:摘要分类、多轮对话、结构化抽取、代码生成,给出用奖励函数分流的具体做法和一套可复现的评测脚本。

API 中转稳定性实测方法与指标

选 API 中转服务不能只看宣传页的延迟数字。这篇给一套可自己动手的实测方法:固定测试条件、跑够样本量,用首字延迟、P95 总耗时、错误率、跨时段波动四个指标评估稳定性,附可直接运行的 Python 测速脚本。

Embedding 模型怎么选:RAG 场景选型指南

做 RAG 第一步就卡在选 embedding 模型:维度、价格、上下文长度、多语言支持怎么权衡?这篇给出一条可执行的选型路线,附接入代码和评测方法,避免拍脑袋换模型。