- 通用寫法是 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。支援哪些圖片格式?
支援哪些圖片格式?