跳轉到主要內容
API易 上絕大多數主流對話模型都能「看圖」:OCR 提取文字、數物體、描述場景、對比多張圖。本頁給出 2026-10-11 (UTC+8) 的實測支援清單、一張圖要花多少 tokens、四種呼叫寫法各自能走哪些模型,以及最常見的報錯。
先看這三條:
  1. 通用寫法是 OpenAI 相容的 image_url:{"type": "image_url", "image_url": {"url": "data:image/png;base64,..."}},實測 22 個視覺模型全部可用。Responses、Anthropic 兩種寫法只有部分模型能走,見「四種寫法支援哪些模型」。
  2. deepseek-v4-pro、glm-5.3 等純文本模型不吃圖:請求照樣返回 200,但圖片被丟掉,模型只會回答「看不到」。判斷圖片有沒有進模型,看響應裡的 usage.prompt_tokens。
  3. 優先用 Base64:公網直鏈要由上游去下載,圖床慢、有防盜鏈、或響應頭缺 Content-Length(Qwen 會直接 400)都會失敗。

識別圖片 · API易 線上工具

不想寫程式碼?網頁端直接上傳圖片(支援多圖聯合分析),內建萬物識別、商品標題、五點描述、屬性分析、OCR 提取等模板,可切換模型對比效果,填入 API易 令牌即可使用。

影片理解 API

需要分析影片?看影片理解的支援清單與寫法。

讓 AI Agent 幫你接入

複製這段提示詞,貼上給 Codex / Claude Code / Cursor

它會先抓本頁的純文本版(任意文件頁地址後加 .md),再按你專案的技術棧寫程式碼——通用 image_url 寫法、大圖先縮放、用 prompt_tokens 確認圖片真的進了模型這幾個高頻問題已經寫死在要求裡。

幫我在當前專案裡接入 / 排查影像理解:把圖片交給多模態模型,做 OCR 文字提取、計數、場景描述或多圖對比。

先讀文件再動手:抓 https://docs.apiyi.com/api-capabilities/vision-understanding.md 拿到本頁純文本版。

  1. 端點與寫法:預設走 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 專用模型,只輸出表格、表格外的文字不輸出,多圖也只認第一張,只適合純表格 / 證件類場景。
模型價格與官網對齊,且可能隨官網調整;上表僅供參考,具體以頂部導航「模型價格」欄目為準:模型價格。

不支援圖片的模型

判斷其他模型吃不吃圖,以模型詳情頁的「輸入模態」為準,詳見 文本+出圖能不能一個介面。

四種寫法支援哪些模型

新專案一律用 OpenAI 相容 chat 寫法,換模型只改模型名。Responses 適合已經在用 OpenAI Responses SDK 的專案;Anthropic 寫法適合 Claude 生態(如 Claude Code、Anthropic SDK);Gemini 原生適合已經在用 google-genai SDK 的專案。

快速開始:通用寫法(image_url)

本地圖片(Base64,推薦)

公網圖片 URL

多圖對比

多張圖按順序放多個 image_url 塊,在提示詞裡用「圖 1」「圖 2」指代:

curl

為什麼推薦 Base64:圖片 URL 方式需要上游即時下載該圖片,圖床響應慢、有防盜鏈或訪問限制都會失敗;Qwen 系還要求圖床響應頭帶 Content-Length(部分 CDN 用分塊傳輸不帶這個頭,實測會報 Missing Content-Length of multimodal url)。Base64 把圖片直接放進請求體,不依賴任何外部下載。Base64 體積約為原圖的 1.33 倍,大圖先縮放再編碼,見「大圖先縮放」。

其他寫法

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 即可:
REST 寫法: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:
上傳前把長邊縮到 2048px 左右:實測把上面那張圖縮到 2048×1365 後,表中 8 個模型全部通過、OCR 全對,一張圖約 700~3700 tokens,gpt-6-sol 從 63658 降到 3320。Claude 返回 429 時先看報錯正文,如果是 image exceeds 就是圖太大,重試不會成功。

常見錯誤

圖片 URL 下載超時

使用圖片 URL 方式時,如果收到如下錯誤:
這表示上游在拉取該圖片 URL 時下載超時,與模型、金鑰、額度均無關。常見原因:圖床響應慢或對部分地區不友好、圖片過大、URL 設有防盜鏈或需要登入。 解決方法:改用 Base64(推薦,徹底繞開下載環節);或更換為響應更快、可公開訪問的直鏈;或壓縮圖片後重試。

Missing Content-Length of multimodal url(Qwen)

Qwen 系模型要求圖床的響應頭帶 Content-Length。部分 CDN(如 Cloudflare)以分塊方式返回圖片、不帶這個頭,就會報這個錯;同一張圖換成物件儲存直鏈或 Base64 即可。

invalid base64 data(URL 誤放進 Base64 欄位)

如果收到如下 400 錯誤(關鍵特徵是 invalid base64 data,不同模型文案略有差異):
通常是把圖片 URL 拼進了 data URI 的 Base64 資料位:
data:image/...;base64, 字首後面必須是圖片檔案本身的 Base64 編碼字串。URL 方式和 Base64 方式是兩種互斥的傳參形式,不能混拼:
自檢建議:傳送前判斷圖片來源——字串以 http 開頭就走 URL 方式,否則才做 Base64 編碼並拼 data URI。合法的 Base64 字串不會包含 ://、? 等字元,若在 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 URI 裡宣告圖片是 PNG(data:image/png;base64,...),上游解碼後檢查檔案頭,發現實際內容是 JPEG,於是拒絕。常見誘因是按副檔名推斷格式(檔案被改過後綴)、或程式碼裡寫死了 image/png。
是否校驗取決於模型走的上游通道:2026-10-11 (UTC+8) 實測把 JPEG 宣告成 PNG,22 個視覺模型全部正常識別;但 Claude 系經 Bedrock 通道時會報上面這個錯。按「宣告必須與內容一致」來寫程式碼,在任何通道上都不會踩坑。
解決方法:按檔案頭判斷真實格式再拼 data URI,或者像「大圖先縮放」裡的函式那樣統一用 PIL 轉成 JPEG:
file xxx.png(macOS / Linux 命令列)一秒看出檔案真實格式;Python 裡 Image.open(path).format 也能拿到。

進階技巧

確認圖片真的進了模型

看響應裡的 usage.prompt_tokens:一張 1200×760 的圖在各家約 900~1300 tokens(DeepSeek Vision 約 570);如果只比純文本多幾個甚至沒變,說明圖片被丟掉了。這種情況出現在純文本模型(deepseek-v4-pro、glm-5.3),以及 Grok 走 Anthropic 端點、Gemini 走 Anthropic url source 時。
沒收到圖的模型可能編答案。實測在不帶圖的情況下要求「逐字提取圖片文字」,gemini-3.8-flash 6 次中有 1 次編出了一整張並不存在的表格,其餘模型都如實說看不到。所以批次流程裡不要只看回答,先用 prompt_tokens 確認圖片已送達。

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,逐項說出不同之處」
  • 圖表解讀:「讀出圖表的座標軸、資料趨勢和最大最小值」
醫療影像、證件、人身安全相關的識別結果僅供參考,重要決策需人工複核;不要上傳含敏感個人資訊的圖片。

常見問題

本頁實測的 22 個視覺模型都能用:Gemini、GPT、Claude、Grok、Seed、Qwen、Kimi、MiniMax、DeepSeek Vision。deepseek-v4-pro、glm-5.3 等純文本模型不能。其他模型以模型詳情頁的「輸入模態」為準。
先看響應裡的 usage.prompt_tokens:只有幾十說明圖片沒進模型。常見原因:① 選了純文本模型;② 用 Anthropic 端點調 Grok,或用 Anthropic url source 調 Gemini(都會靜默丟圖);③ 公網直鏈上游拉不到。換成 chat image_url + Base64 基本都能解決。
多半是用了 Responses 或 Anthropic 寫法——它們只支援部分模型(見「四種寫法支援哪些模型」)。改成 OpenAI 相容 chat 的 image_url 寫法即可在各家通用。
先看報錯正文。如果是 image exceeds 10 MB maximum,是圖片太大(按 Base64 後的體積算),重試不會成功,縮放到長邊 2048px 左右再傳即可。
多半是單張圖片畫素過大(幾千萬畫素的原圖),原廠會在高峰期排隊幾分鐘後拒絕,或直接返回 patches ... exceeding the limit。重試無效,縮到長邊 2048px 再傳即可。實測與判斷方法見 識圖請求一直超時,是圖片太大了嗎?。
GPT 系按圖塊計費,原圖越大 tokens 越多:實測一張 9000×6000 的圖在 gpt-6-sol 上記了 63658 個輸入 tokens。上傳前縮放到長邊 2048px 左右,實測同一張圖在 gpt-6-sol 上降到 3320 tokens,各家約 700~3700 tokens。
JPEG、PNG、GIF、WebP 等主流格式都可以;手機相機拍出的 MPO(副檔名仍是 .jpg)實測也能識別。最穩的做法是統一用 PIL 轉成 JPEG 再傳。

相關資源

模型價格

檢視全部模型與最新定價

影片理解 API

影片內容識別、場景描述與時間戳定位

Gemini 原生格式

原生格式的流式、推理預算等用法

文本+出圖能不能一個介面

如何判斷模型支援哪些輸入模態