Перейти к основному содержанию
Большинство основных чат-моделей на APIYI могут «видеть» изображения: извлекать текст (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: при использовании публичного URL провайдер должен загрузить изображение, что может завершиться ошибкой, если хостинг работает медленно, использует защиту от хотлинкинга или не передает заголовок Content-Length (Qwen в таком случае возвращает 400).

Распознавание изображений · Онлайн-инструмент APIYI

Не хотите писать код? Загружайте изображения прямо в браузере (поддерживается анализ нескольких изображений), используйте встроенные шаблоны для общего распознавания, названий товаров, описаний из пяти пунктов, анализа характеристик и OCR, а также переключайте модели для сравнения результатов — достаточно вставить ваш ключ APIYI.

API анализа видео

Нужно проанализировать видео? Ознакомьтесь со списком поддерживаемых моделей для видео и форматами.

Доверьте интеграцию ИИ-агенту

Скопируйте этот prompt и вставьте его в Codex / Claude Code / Cursor

Сначала он загрузит текстовую версию этой страницы (добавьте .md к любому URL документации), а затем напишет код под стек вашего проекта — универсальный формат image_url, предварительное уменьшение разрешения больших изображений и проверка prompt_tokens для подтверждения того, что изображение действительно дошло до модели, уже включены в требования.

Выполните интеграцию / устранение неполадок распознавания изображений в этом проекте: отправка изображений в мультимодальную модель для OCR, подсчета объектов, описания сцен или сравнения нескольких изображений.

Прочитайте документацию перед написанием кода: загрузите https://docs.apiyi.com/en/api-capabilities/vision-understanding.md для получения текстовой версии этой страницы.

  1. Эндпоинт и формат: по умолчанию используйте совместимый с OpenAI POST https://api.apiyi.com/v1/chat/completions и передавайте каждое изображение как …

Всего 9 требований. Используйте кнопку ниже, чтобы скопировать prompt целиком.

Поддерживаемые модели

Эти результаты получены в ходе тестов от 2026-10-11 (UTC+8): каждой модели требовалось дословно расшифровать одно и то же изображение заказа 1200×760 со смешанным китайско-английским текстом (включая таблицу), подсчитать фигуры, найти отличия между двумя изображениями и считать общедоступные URL изображений. Пустое изображение использовалось в качестве контроля, чтобы исключить ответы «вслепую». gemini-3.1-flash-lite и gpt-5.4-mini также умеют читать изображения и безошибочно выполнили OCR, но они ошибаются в подсчёте объектов (правильно в 0 из 3 и 1 из 3 запусков соответственно), поэтому избегайте их для задач подсчёта. qwen-vl-ocr — это специализированная модель OCR, которая выводит только таблицы и пропускает весь текст вне их, а в запросах с несколькими изображениями считывает только первое — используйте её только для чисто табличных сценариев или документов, удостоверяющих личность.
Цены на модели синхронизированы с официальными сайтами и могут изменяться вместе с ними; таблица выше приведена только для справки — авторитетной является вкладка Тарифы на модели в верхней навигации: Тарифы на модели.

Модели, не принимающие изображения

Для других моделей проверьте строку «Модальности ввода» на странице с описанием модели; см. Текст + изображение в одном API.

Какие модели поддерживает каждый формат

Для новых проектов используйте OpenAI-совместимый формат чата — переключение моделей сводится к простой смене имени модели. Responses подходит для проектов, которые уже используют OpenAI Responses SDK; формат Anthropic подходит для экосистемы Claude (Claude Code, Anthropic SDK); нативный Gemini подходит для проектов, уже работающих на google-genai SDK.

Быстрый старт: универсальный формат (image_url)

Локальное изображение (Base64, рекомендуется)

Публичный URL изображения

Сравнение нескольких изображений

Добавьте по одному блоку image_url на каждое изображение по порядку и ссылайтесь на них как «изображение 1» и «изображение 2» в prompt:

curl

Почему рекомендуется Base64: при использовании URL изображения провайдер скачивает его в режиме реального времени, что может завершиться ошибкой, если хост работает медленно, использует защиту от хотлинкинга или ограничивает доступ; модели Qwen также требуют, чтобы хост отправлял заголовок Content-Length (некоторые CDN используют chunked transfer без него, что в наших тестах приводило к Missing Content-Length of multimodal url). Base64 помещает изображение непосредственно в тело запроса без внешней загрузки. Base64 увеличивает размер примерно в 1,33 раза, поэтому уменьшайте масштаб больших изображений перед кодированием — см. «Сначала уменьшите масштаб больших изображений».

Другие форматы

OpenAI Responses (input_image)

Для проектов, уже использующих SDK OpenAI Responses. Он поддерживает только GPT, Grok, Qwen3.8, Kimi, MiniMax и DeepSeek Vision — Gemini / Claude / Seed возвращают 400.

Anthropic Messages (image)

Для экосистемы Claude (SDK Anthropic, Claude Code и т. д.), эндпоинт https://api.apiyi.com. Источник base64 поддерживает Claude, Gemini, GPT, Qwen, Kimi и MiniMax; источник url работает только с Claude (Gemini молча отбрасывает изображение).

Нативный формат Gemini (inline_data)

Если в вашем проекте уже используется официальный SDK Google google-genai, просто направьте 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.

Сначала уменьшайте масштаб больших изображений

Провайдеры обрабатывают большие изображения совершенно по-разному. Результаты для одного JPEG размером 9000×6000 (около 10 МБ):
Уменьшите длинную сторону примерно до 2048 px перед загрузкой: после уменьшения того же изображения до 2048×1365 все 8 моделей из таблицы успешно прошли обработку с полностью корректным OCR при расходе примерно 700–3 700 tokens на изображение, а gpt-6-sol снизилось с 63 658 до 3 320. Если Claude возвращает 429, сначала прочитайте тело ошибки — image exceeds означает, что изображение слишком велико, и повторные попытки не помогут.

Распространенные ошибки

Истекло время ожидания загрузки URL изображения

Если при передаче URL изображения возникает следующая ошибка:
это означает, что у провайдера истекло время ожидания при загрузке изображения по указанному URL — это никак не связано с моделью, ключом или балансом. Типичные причины: медленный хостинг или хостинг с региональными ограничениями, слишком большой размер изображения либо URL, защищенный от хотлинкинга или требующий авторизации. Решение: переключитесь на base64 (рекомендуется — это полностью исключает этап скачивания); либо используйте более быстрый, общедоступный URL; либо сожмите изображение и повторите попытку.

Отсутствует Content-Length для мультимодального URL (Qwen)

Модели Qwen требуют, чтобы хост с изображением возвращал заголовок ответа Content-Length. Некоторые CDN (например, Cloudflare) отдают изображения с потоковой передачей чанками (chunked transfer) без этого заголовка, что и вызывает ошибку. Разместите то же изображение в объектном хранилище или передайте его в формате base64.

Некорректные данные base64 (URL помещен в поле base64)

Если вы получаете ошибку 400 следующего вида (ключевая фраза — invalid base64 data; формулировка может незначительно отличаться в зависимости от модели):
обычно это означает, что URL изображения был вставлен в часть данных base64 внутри data URI:
Все, что следует за префиксом data:image/...;base64,, должно быть самим файлом изображения, закодированным в base64. Передача через URL и передача через base64 взаимоисключающи, их нельзя смешивать:
Самопроверка: перед отправкой проверьте источник изображения — если строка начинается с http, используйте формат URL; в противном случае закодируйте его в base64 и сформируйте data URI. Корректный base64 никогда не содержит таких символов, как :// или ?, поэтому их наличие после base64, практически гарантированно указывает на вставленную ссылку.

Объявленный тип изображения не соответствует реальному формату (несоответствие media type)

Если вы получаете ошибку 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 vision-моделях, однако модели Claude, работающие через канал Bedrock, возвращают приведенную выше ошибку. Пишите код, соблюдая правило «объявленный тип должен совпадать с содержимым», и запросы будут успешно проходить по любому каналу.
Решение: определяйте реальный формат по сигнатуре файла перед формированием data URI либо конвертируйте всё в JPEG с помощью PIL, как показано в функции в разделе «Предварительно уменьшайте большие изображения»:
Утилита file xxx.png (командная строка macOS / Linux) мгновенно покажет реальный формат файла; в Python аналогичный результат дает Image.open(path).format.

Продвинутые советы

Проверка того, что изображение действительно дошло до модели

Проверьте usage.prompt_tokens в ответе: изображение размером 1200×760 обходится примерно в 900–1 300 tokens у большинства провайдеров (около 570 в DeepSeek Vision); если их количество почти не увеличивается по сравнению с чисто текстовым запросом или не растет вовсе — изображение было отброшено. Это происходит на текстовых моделях (deepseek-v4-pro, glm-5.3), на Grok через эндпоинт Anthropic и на Gemini через URL-источник Anthropic.
Модель, не получившая изображение, может выдумать ответ. В наших тестах мы отправляли запрос «перепишите весь текст на изображении», не прикрепляя само изображение: в 1 из 6 запусков gemini-3.8-flash выдумала несуществующую таблицу целиком, тогда как все остальные модели сообщили, что не видят изображения. Поэтому в пайплайнах пакетной обработки не полагайтесь только на ответ — сначала подтверждайте доставку с помощью prompt_tokens.

Параметр detail

detail: "low" внутри image_url поддерживается лишь некоторыми моделями: gpt-5.4-mini (1 147 → 233 tokens, но мелкий текст начинает распознаваться с ошибками) и Seed (1 340 → 602 tokens, OCR по-прежнему абсолютно точен); GPT-6 / 5.6, Gemini, Claude и Qwen игнорируют его. Более универсальный способ сэкономить tokens — самостоятельно уменьшить разрешение изображения.

Параметры

На эндпоинте чата max_tokens и temperature работают штатно на GPT (включая GPT-6), Claude и Gemini (в наших тестах temperature=0.3 прошел проверку на всех из них). MiniMax-M3 помещает свое рассуждение <think>...</think> в content, поэтому удаляйте его самостоятельно.

Идеи prompt для типовых задач

Одно и то же изображение может использоваться для совершенно разных задач, достаточно лишь изменить prompt — менять код не требуется:
  • OCR: «Перепишите весь текст на изображении слово в слово, а таблицы выведите в формате таблиц Markdown»
  • Подсчет / структурированный вывод: «Посчитайте количество каждого объекта и выведите только JSON: {"object": count}»
  • Анализ продукта: «Определите тип продукта и бренд, а также перечислите его ключевые преимущества и целевую аудиторию»
  • Сравнение нескольких изображений: «Ниже приведены изображение 1 и изображение 2 — перечислите каждое отличие»
  • Чтение графиков: «Считайте оси, тренд данных, а также максимальное и минимальное значения»
Результаты анализа медицинских снимков, документов, удостоверяющих личность, или любых материалов, связанных с безопасностью, носят исключительно ознакомительный характер — важные решения должны проверяться человеком, и не загружайте изображения, содержащие конфиденциальные персональные данные.

Часто задаваемые вопросы

Все 22 vision-модели, протестированные на этой странице: Gemini, GPT, Claude, Grok, Seed, Qwen, Kimi, MiniMax и DeepSeek Vision. Текстовые модели, такие как deepseek-v4-pro и glm-5.3, этого делать не умеют. Для остальных моделей проверьте строку «Input modalities» на странице сведений о модели.
Сначала проверьте usage.prompt_tokens в ответе: несколько десятков tokens означает, что изображение так и не дошло до модели. Распространенные причины: ① вы выбрали текстовую модель; ② вы вызвали Grok через эндпоинт Anthropic или Gemini через источник URL Anthropic (в обоих случаях изображение просто игнорируется); ③ провайдер не смог скачать изображение по публичному URL. Переход на chat image_url с base64 решает практически все эти проблемы.
Скорее всего, вы используете формат Responses или Anthropic, которые поддерживаются только частью моделей (см. «Какие модели поддерживает каждый формат»). Переключитесь на совместимый с OpenAI формат chat image_url, и он будет работать у всех провайдеров.
Сначала ознакомьтесь с телом ошибки. Если там указано image exceeds 10 MB maximum, изображение слишком большое (размер измеряется после кодирования в base64); повторные попытки не помогут — уменьшите длинную сторону примерно до 2048 px и отправьте запрос снова.
Почти наверняка в изображении слишком много пикселей (исходник на десятки мегапикселей). В часы пик провайдер держит его в очереди несколько минут, прежде чем отклонить, либо сразу возвращает patches ... exceeding the limit. Повторные попытки не помогут: уменьшите длинную сторону до 2048 px и отправьте запрос заново. Результаты тестов и способы диагностики: Запросы на анализ изображений завершаются по таймауту — изображение слишком большое?.
Модели GPT тарифицируют изображения по фрагментам (тайлам), поэтому за оригиналы большего размера списывается больше tokens: в наших тестах одно изображение размером 9000×6000 обошлось в 63 658 входных tokens на gpt-6-sol. После уменьшения длинной стороны примерно до 2048 px то же изображение потребовало всего 3 320 tokens на gpt-6-sol и от ~700 до 3 700 tokens у различных провайдеров.
Поддерживаются все основные форматы, такие как JPEG, PNG, GIF и WebP; файлы MPO с камер смартфонов (по-прежнему с расширением .jpg) также распознавались в наших тестах. Самый надежный подход — конвертировать всё в JPEG с помощью PIL перед отправкой.

Связанные ресурсы

Цены на модели

Все модели и актуальные цены

API анализа видео

Распознавание видеоконтента, описание сцен и временные метки

Нативный формат Gemini

Потоковая передача, бюджеты рассуждений и многое другое в нативном формате

Текст и изображения в одном API

Как определить, какие модальности ввода поддерживает модель