




















画像理解APIをプロダクトに入れるとき、「画像対応モデルです」という説明だけでは足りません。
モデルページには vision input 対応と書かれていても、実運用では次のような点を確認する必要があります。
image_url payload が本当にモデルまで届いているか今回は、同じOpenAI互換API形式で6つのvision-capableモデルを比較しました。
gemini-2.5-flashgemini-2.5-flash-litegpt-4.1-minigpt-4.1-nanoqwen3-vl-flashqwen3-vl-plus目的は「絶対的な最強モデル」を決めることではありません。
より実用的な問いは、どのユーザーworkflowにどのモデルをroutingすべきかです。
すべてのリクエストは Crazyrouter の OpenAI互換 Base URL を使いました。
API形式は chat/completions で、画像は messages[].content[] の中に image_url として渡しています。
テスト画像は2つです。
各モデルで各画像を3回ずつ処理しました。つまり、1モデルあたり合計6リクエストです。
テスト時刻:2026-06-21T13:36:32Z
これは Vision API smoke test です。image_url 経路が正常に動くか、モデルが簡単な画像認識をできるかを見るためのテストです。OCR、図表理解、文書抽出、手書き文字、医療画像などの完全な評価ではありません。
今回の結果から見ると、実用上のおすすめは次の通りです。
gpt-4.1-miniqwen3-vl-flashgemini-2.5-flash-litegpt-4.1-nanoqwen3-vl-plusgemini-2.5-flash一番重要な発見はこれです。
HTTP 200 は、画像理解が成功した証明ではありません。
今回 gemini-2.5-flash は6回すべてHTTP上は成功しましたが、画像認識は 0/6 でした。「画像が提供されていない」という応答や、GitHub logoを別のロゴとして認識する出力もありました。
これはproductionでかなり危険な失敗パターンです。API呼び出しは成功しているように見えるのに、モデルは画像を正しく処理していないからです。
| モデル | HTTP成功 | 正しく認識 | no-image応答 | 平均レイテンシ | 最遅リクエスト | 10k回相当の概算コスト | 向いている用途 |
|---|---|---|---|---|---|---|---|
qwen3-vl-flash | 6/6 | 6/6 | 0 | 3.819s | 5.975s | $0.0915 | 低コストな大量認識 |
gpt-4.1-mini | 6/6 | 6/6 | 0 | 1.491s | 2.189s | $0.5226 | ユーザー向けリアルタイム機能 |
gpt-4.1-nano | 6/6 | 6/6 | 0 | 2.863s | 4.213s | $0.1666 | 低コストなOpenAI系fallback |
qwen3-vl-plus | 6/6 | 6/6 | 0 | 3.859s | 4.821s | $0.3848 | Qwen系の品質重視ルート |
gemini-2.5-flash | 6/6 | 0/6 | 1 | 4.965s | 9.507s | $0.6168 | 今回のimage_url経路では失敗 |
gemini-2.5-flash-lite | 6/6 | 6/6 | 0 | 2.618s | 4.195s | $0.5466 | 低コストなGeminiルート |
10k回相当の概算コストは、今回のlogo認識テストで観測されたusageに基づくものです。大きな画像、OCR、長い説明、multi-image promptでは実際のコストは変わります。
重要なのは、モデルの単価だけではなく cost per successful image task を見ることです。
安いモデルでも、retryやfallbackが頻発するならproductionでは安くありません。
今回のsmoke testでの正答率は以下です。
qwen3-vl-flash: 6/6gpt-4.1-mini: 6/6gpt-4.1-nano: 6/6qwen3-vl-plus: 6/6gemini-2.5-flash-lite: 6/6gemini-2.5-flash: 0/6簡単なlogo / icon recognitionでは、6つ中5つのルートが正しく動きました。つまり、基本的な画像分類であれば、軽量モデルでも十分なケースがあります。
ただし gemini-2.5-flash の結果は重要です。HTTP success は image path が正常であることを意味しません。
平均レイテンシの低い順です。
gpt-4.1-mini: avg 1.491s, median 1.292s, slowest 2.189sgemini-2.5-flash-lite: avg 2.618s, median 2.627s, slowest 4.195sgpt-4.1-nano: avg 2.863s, median 2.562s, slowest 4.213sqwen3-vl-flash: avg 3.819s, median 3.493s, slowest 5.975sqwen3-vl-plus: avg 3.859s, median 3.729s, slowest 4.821sgemini-2.5-flash: avg 4.965s, median 4.333s, slowest 9.507sユーザーが画面上で待つ機能では、レイテンシはプロダクト品質の一部です。画像をアップロードして返答を待つ場合、1〜2秒の差は体感に影響します。
そのようなworkflowでは、今回 gpt-4.1-mini が最も強いdefault routeでした。
10,000回のtest-style callsでの概算コストは以下です。
qwen3-vl-flash: 約 $0.0915gpt-4.1-nano: 約 $0.1666qwen3-vl-plus: 約 $0.3848gpt-4.1-mini: 約 $0.5226gemini-2.5-flash-lite: 約 $0.5466gemini-2.5-flash: 約 $0.6168大量のlogo detection、icon classification、screenshot pre-filtering、dataset taggingでは、qwen3-vl-flash が有力です。
安いだけではなく、visual smoke testも6/6で通っている点が重要です。
リアルタイム用途向きです。
平均レイテンシが最も低く、認識も6/6で成功しました。
ユーザーが結果を待つ画像アップロード、サポート用スクリーンショット分析、画像入力つきチャット、低レイテンシが必要なagent workflowに向いています。
大量・低コストの画像認識に向いています。
6/6で認識に成功し、概算コストも最も低い結果でした。
logo recognition、icon detection、simple image classification、screenshot pre-classificationなどに向いています。
低コストなOpenAI系fallbackとして使いやすい候補です。
今回の簡単な認識テストは6/6で成功しました。ただし、複雑なOCRやdocument understandingまで任せる前提にはしない方が安全です。
Qwen系のquality-oriented upgrade routeです。
flashより高価で、最速でもありませんが、qwen3-vl-flash で足りない場合の昇格先として使えます。
低コストなGemini系ルートとしては使えます。
今回6/6で認識に成功しました。ただしusage metadataはQwenほど分かりやすくないため、productionではvisual smoke testを残すべきです。
今回の構成ではdefaultにしない方がよいルートです。
HTTPは成功しましたが、画像認識smoke testは失敗しました。
これはモデル能力そのものではなく、adapter、media-fetch、payload-conversion、upstream routingなどの問題かもしれません。
ただしproduction routingでは結論は同じです。自分の環境で画像経路が正常と確認できるまで、default routeにはしない方が安全です。
| シナリオ | Default route | Fallback | 理由 |
|---|---|---|---|
| リアルタイムの画像アップロード | gpt-4.1-mini | qwen3-vl-flash / gemini-2.5-flash-lite | レイテンシと信頼性を優先 |
| 大量のlogo / icon認識 | qwen3-vl-flash | gpt-4.1-nano | 成功したルートの中で低コスト |
| 簡単なスクリーンショット分類 | qwen3-vl-flash / gpt-4.1-nano | gpt-4.1-mini | まず安く、難しいケースだけ昇格 |
| サポート用スクリーンショット分析 | gpt-4.1-mini | qwen3-vl-plus | ユーザーが待つため低レイテンシが重要 |
| OCR / 文書前処理 | 別途benchmarkが必要 | OCR/Document向けモデル | logo testではOCR品質は分からない |
| Agentの視覚入力 | gpt-4.1-mini / qwen3-vl-flash | smoke test + fallback | Agentは誤った視覚入力を後続処理に伝播させる |
| Gemini backup route | gemini-2.5-flash-lite | gpt-4.1-nano | Flash Liteは成功、Flashは今回失敗 |
重要なのは、1つの万能モデルを探すことではありません。
タスクごとにrouteを分けることです。
Vision APIでは、テキストだけのhealth checkでは不十分です。
実用的な監視では、以下を確認します。
簡単な例です。
実際のシステムでは、モデルごとの表現揺れ、usageの違い、retry、fallback policyを考慮する必要があります。
しかし原則は同じです。
HTTP 200を画像理解成功の証拠にしない。
今回使ったOpenAI互換のリクエスト例です。
API endpointにはUTMパラメータを付けないでください。UTMは人がクリックするリンクに付けるもので、SDKの base_url には不要です。
Vision APIの選定は、モデル名ではなくworkflowで決めるべきです。
今回の実用的な順位は次の通りです。
gpt-4.1-miniqwen3-vl-flashgemini-2.5-flash-litegpt-4.1-nanoqwen3-vl-plusgemini-2.5-flash大事なのは「このモデルは画像対応か?」ではありません。
より重要なのは次の問いです。
このproduction routeは、画像を安定してモデルまで届けられるか?
本番投入前に、ここを必ず検証するべきです。
此内容由惯性聚合(RSS阅读器)自动聚合整理,仅供阅读参考。 原文来自 — 版权归原作者所有。