- 通用写法是 OpenAI 兼容的
image_url:{"type": "image_url", "image_url": {"url": "data:image/png;base64,..."}},实测 22 个视觉模型全部可用。Responses、Anthropic 两种写法只有部分模型能走,见「四种写法支持哪些模型」。 deepseek-v4-pro、glm-5.3等纯文本模型不吃图:请求照样返回 200,但图片被丢掉,模型只会回答「看不到」。判断图片有没有进模型,看响应里的usage.prompt_tokens。- 优先用 Base64:公网直链要由上游去下载,图床慢、有防盗链、或响应头缺
Content-Length(Qwen 会直接 400)都会失败。
识别图片 · API易 在线工具
视频理解 API
让 AI Agent 帮你接入
复制这段提示词,粘贴给 Codex / Claude Code / Cursor
它会先抓本页的纯文本版(任意文档页地址后加 .md),再按你项目的技术栈写代码——通用 image_url 写法、大图先缩放、用 prompt_tokens 确认图片真的进了模型这几个高频问题已经写死在要求里。
帮我在当前项目里接入 / 排查图像理解:把图片交给多模态模型,做 OCR 文字提取、计数、场景描述或多图对比。
先读文档再动手:抓 https://docs.apiyi.com/api-capabilities/vision-understanding.md 拿到本页纯文本版。
- 端点与写法:默认走 OpenAI 兼容的 …
共 9 条接入要求,点下方按钮复制完整版
这段提示词替你挡掉了什么
这段提示词替你挡掉了什么
支持的模型
以下结论来自 2026-10-11 (UTC+8) 的实测:同一张 1200×760 的中英混排订单图(含表格)要求逐字 OCR,另测数图形个数、两图找不同、公网直链,并用一张空白图做对照,排除「没看也能答」。gemini-3.1-flash-lite 与 gpt-5.4-mini 也能识图、OCR 全对,但数图形个数会数错(实测分别 0/3、1/3 次数对),计数类任务不建议用。qwen-vl-ocr 是 OCR 专用模型,只输出表格、表格外的文字不输出,多图也只认第一张,只适合纯表格 / 证件类场景。
不支持图片的模型
四种写法支持哪些模型
快速开始:通用写法(image_url)
本地图片(Base64,推荐)
公网图片 URL
多图对比
多张图按顺序放多个image_url 块,在提示词里用「图 1」「图 2」指代:
curl
其他写法
OpenAI Responses(input_image)
适合已经在用 OpenAI Responses SDK 的项目。只能调 GPT、Grok、Qwen3.8、Kimi、MiniMax、DeepSeek Vision,Gemini / Claude / Seed 会报 400。
Anthropic Messages(image)
适合 Claude 生态(Anthropic SDK、Claude Code 等),端点 https://api.apiyi.com。base64 方式可调 Claude、Gemini、GPT、Qwen、Kimi、MiniMax;url source 只有 Claude 能用(Gemini 会静默丢图)。
Gemini 原生格式(inline_data)
已经在用谷歌官方 google-genai SDK 的项目,把 base_url 换成 https://api.apiyi.com 即可:
POST https://api.apiyi.com/v1beta/models/gemini-3.8-flash:generateContent,请求头 x-goog-api-key: YOUR_API_KEY,图片放在 contents[].parts[] 的 {"inline_data": {"mime_type": "image/png", "data": "<BASE64>"}} 里。更多原生用法见 Gemini 原生格式调用。
大图先缩放
各家对大图的处理差别很大。实测一张 9000×6000、约 10MB 的 JPEG:常见错误
图片 URL 下载超时
使用图片 URL 方式时,如果收到如下错误:Missing Content-Length of multimodal url(Qwen)
Qwen 系模型要求图床的响应头带Content-Length。部分 CDN(如 Cloudflare)以分块方式返回图片、不带这个头,就会报这个错;同一张图换成对象存储直链或 Base64 即可。
invalid base64 data(URL 误放进 Base64 字段)
如果收到如下 400 错误(关键特征是invalid base64 data,不同模型文案略有差异):
data:image/...;base64, 前缀后面必须是图片文件本身的 Base64 编码字符串。URL 方式和 Base64 方式是两种互斥的传参形式,不能混拼:
声明的图片格式与实际格式不符(media type mismatch)
如果收到如下 400 错误(关键特征是The image was specified using the image/png media type, but the image appears to be a image/jpeg image):
data:image/png;base64,...),上游解码后检查文件头,发现实际内容是 JPEG,于是拒绝。常见诱因是按扩展名推断格式(文件被改过后缀)、或代码里写死了 image/png。
进阶技巧
确认图片真的进了模型
看响应里的usage.prompt_tokens:一张 1200×760 的图在各家约 900~1300 tokens(DeepSeek Vision 约 570);如果只比纯文本多几个甚至没变,说明图片被丢掉了。这种情况出现在纯文本模型(deepseek-v4-pro、glm-5.3),以及 Grok 走 Anthropic 端点、Gemini 走 Anthropic url source 时。
detail 参数
image_url 里的 detail: "low" 只有部分模型认:gpt-5.4-mini(1147 → 233 tokens,但小字开始读错)、Seed(1340 → 602 tokens,OCR 仍全对);GPT-6 / 5.6、Gemini、Claude、Qwen 会忽略。想省 tokens,更通用的办法是自己先缩小图片。
参数说明
chat 端点上,max_tokens、temperature 在 GPT(含 GPT-6)、Claude、Gemini 上都能正常使用(实测 temperature=0.3 全部通过)。MiniMax-M3 会把思考过程 <think>...</think> 放在正文里,需要自行剥离。
常见任务的提问思路
同一张图,换提示词就能完成不同任务,无需改代码:- OCR:「逐字提取图片里的所有文字,表格用 Markdown 表格输出」
- 计数 / 结构化:「数一数每种物体各有几个,只输出 JSON:
{"物体": 数量}」 - 商品分析:「识别商品类型和品牌,列出主要卖点与适合人群」
- 多图对比:「下面依次是图 1 和图 2,逐项说出不同之处」
- 图表解读:「读出图表的坐标轴、数据趋势和最大最小值」
常见问题
哪些模型能看图?
哪些模型能看图?
deepseek-v4-pro、glm-5.3 等纯文本模型不能。其他模型以模型详情页的「输入模态」为准。传了图片,模型却说「看不到」?
传了图片,模型却说「看不到」?
usage.prompt_tokens:只有几十说明图片没进模型。常见原因:① 选了纯文本模型;② 用 Anthropic 端点调 Grok,或用 Anthropic url source 调 Gemini(都会静默丢图);③ 公网直链上游拉不到。换成 chat image_url + Base64 基本都能解决。同一段代码,换个模型就报 400?
同一段代码,换个模型就报 400?
image_url 写法即可在各家通用。Claude 返回 429,是被限流了吗?
Claude 返回 429,是被限流了吗?
image exceeds 10 MB maximum,是图片太大(按 Base64 后的体积算),重试不会成功,缩放到长边 2048px 左右再传即可。GPT 识图一直超时,或报 429 / 400 patches 超限?
GPT 识图一直超时,或报 429 / 400 patches 超限?
patches ... exceeding the limit。重试无效,缩到长边 2048px 再传即可。实测与判断方法见 识图请求一直超时,是图片太大了吗?。为什么一张图花了几万 tokens?
为什么一张图花了几万 tokens?
gpt-6-sol 上记了 63658 个输入 tokens。上传前缩放到长边 2048px 左右,实测同一张图在 gpt-6-sol 上降到 3320 tokens,各家约 700~3700 tokens。支持哪些图片格式?
支持哪些图片格式?