






















Выбор vision-модели для production — это не просто вопрос «поддерживает ли модель изображения». Разработчику нужен маршрут, который работает в реальных пользовательских сценариях: загрузка изображений, скриншоты, debugging UI, распознавание логотипов, превью документов, support tickets и agent workflows с визуальным контекстом через OpenAI-compatible API.
В этой статье сравниваются gemini-2.5-flash и gpt-4.1-nano через Crazyrouter OpenAI-compatible Base URL:
Формат запроса — chat/completions, где messages[].content[] содержит текст и image_url. Каждая модель тестировалась на двух стабильных публичных изображениях — Python logo и GitHub logo — по 3 запуска на изображение.
Время теста:
2026-06-21T13:36:32Z. Это реальные API-измерения, а не пересказ model card.

gpt-4.1-nano как маршрут по умолчанию для этого image_url workflow.gemini-2.5-flash маршрутом по умолчанию для vision API, пока не исправлен путь передачи изображения.| Критерий выбора | gemini-2.5-flash | gpt-4.1-nano | Почему это важно |
|---|---|---|---|
| HTTP success | 6/6 | 6/6 | Показывает только транспортный успех; не доказывает, что модель увидела изображение. |
| Корректное визуальное распознавание | 0/6 | 6/6 | Главная метрика smoke test для image_url routing. |
| No-image failure claims | 1 | 0 | Помогает найти маршруты, которые приняли запрос, но не передали изображение. |
| Average latency | 4.965s | 2.863s | Влияет на ожидание пользователя в обычном запросе. |
| Median latency | 4.333s | 2.562s | Лучше отражает типичный опыт, чем среднее. |
| Slowest request | 9.507s | 4.213s | Tail latency — то, что пользователь ощущает как «зависание». |
| Input price / 1M tokens | $0.17 | $0.065 | Важно для image tagging, OCR pre-filtering и batch classification. |
| Output price / 1M tokens | $0.68 | $0.26 | Важно, если нужны длинные описания изображений. |
| Estimated cost / 10k test-style calls | $0.6168 | $0.1666 | Практичнее, чем raw token price: учитывает наблюдаемый usage. |
| Usage / image signal | поля image tokens равны нулю или отсутствуют; нужен визуальный smoke test, а не только HTTP status | поля image tokens равны нулю или отсутствуют; нужен визуальный smoke test, а не только HTTP status | Usage metadata может показать сломанный vision path даже при HTTP 200. |

Это намеренно vision API smoke test. Он помогает понять:
image_url через OpenAI-compatible API;Это не полный benchmark для OCR, chart reasoning, handwriting, medical images, dense document extraction или multi-image reasoning. Для таких задач используйте этот тест как первый routing check и добавляйте отдельные domain-specific evaluation.
| Метрика | gemini-2.5-flash | gpt-4.1-nano |
|---|---|---|
| HTTP success | 6/6 | 6/6 |
| Correct recognition | 0/6 | 6/6 |
| No-image replies | 1 | 0 |
| Average latency | 4.965s | 2.863s |
| Median latency | 4.333s | 2.562s |
| Fastest request | 1.467s | 2.256s |
| Slowest request | 9.507s | 4.213s |
| Avg prompt tokens observed | 68.8 | 227.0 |
| Avg completion tokens observed | 73.5 | 7.3 |
| Задача | Модель | Пример ответа | Задержка | Prompt tokens |
|---|---|---|---|---|
logo_python | gemini-2.5-flash | Please upload an image for analysis. No image provided. | 4.402s | 27 |
logo_python | gpt-4.1-nano | Python programming language logo. | 4.213s | 227 |
logo_github | gemini-2.5-flash | A logo of the Canadian Broadcasting Corporation (CBC). | 9.507s | 27 |
logo_github | gpt-4.1-nano | GitHub Octocat logo silhouette. | 2.512s | 227 |
Для chat apps, customer support tools и пользовательской загрузки изображений важнее всего latency и reliability. Дешёвая модель не является дешёвой, если пользователи повторяют запросы, уходят из продукта или постоянно запускают fallback.
Для массовой классификации важна стоимость успешного изображения. Используйте более дешёвый маршрут, если задача простая и формат ответа можно валидировать. Fallback нужен для empty answers, no-image claims и low-confidence классификаций.
Этот benchmark не доказывает OCR quality. Для invoices, tables, forms, receipts и dense screenshots нужен отдельный тест на реальных документах. Модель, которая распознаёт логотип, не обязательно хорошо извлекает layout.
Agents требуют предсказуемых входных данных. Если маршрут иногда теряет image content при HTTP 200, агент может уверенно принимать неверные решения. Для agent use cases проверяйте answer correctness, usage signals и fail closed при подозрительном image path.
image_url support может означать разные вещи: API принимает URL от клиента, gateway скачивает и конвертирует media, либо upstream provider получает исходный URL. Это влияет на bandwidth, privacy, SSRF controls, latency и billing. Media behavior должен быть частью model routing.
Валидный HTTP response доказывает только то, что API что-то вернул. Он не доказывает, что изображение дошло до модели. В monitoring для Vision API нужно отправлять маленькое deterministic test image, задавать вопрос с известным ответом и проверять как текст ответа, так и usage metadata.
Особенно это важно для маршрутов, где usage показывает отсутствие image tokens или модель отвечает, что изображение не было предоставлено. Это может быть не failure самой модели, а проблема adapter, media-fetch, payload conversion или routing.
В кодовых API endpoints UTM-параметры не добавляются. Для ссылок, которые видит человек, можно использовать UTM, например Crazyrouter Pricing.
Лучший Vision API route зависит от workflow. Для real-time interactions важны корректное распознавание и низкая latency. Для bulk classification — cost per successful image. Для agents и document workflows — reliability, usage signals и fallback design.
Иными словами: не выбирайте vision-модель только по названию. Выбирайте по задаче, failure mode, media path, latency и стоимости полезного результата.
此内容由惯性聚合(RSS阅读器)自动聚合整理,仅供阅读参考。 原文来自 — 版权归原作者所有。