- Универсальный формат — совместимый с 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: при использовании публичного URL провайдер должен загрузить изображение, что может завершиться ошибкой, если хостинг работает медленно, использует защиту от хотлинкинга или не передает заголовок
Content-Length(Qwen в таком случае возвращает 400).
Распознавание изображений · Онлайн-инструмент APIYI
API анализа видео
Доверьте интеграцию ИИ-агенту
Скопируйте этот prompt и вставьте его в Codex / Claude Code / Cursor
Сначала он загрузит текстовую версию этой страницы (добавьте .md к любому URL документации), а затем напишет код под стек вашего проекта — универсальный формат image_url, предварительное уменьшение разрешения больших изображений и проверка prompt_tokens для подтверждения того, что изображение действительно дошло до модели, уже включены в требования.
Выполните интеграцию / устранение неполадок распознавания изображений в этом проекте: отправка изображений в мультимодальную модель для OCR, подсчета объектов, описания сцен или сравнения нескольких изображений.
Прочитайте документацию перед написанием кода: загрузите https://docs.apiyi.com/en/api-capabilities/vision-understanding.md для получения текстовой версии этой страницы.
- Эндпоинт и формат: по умолчанию используйте совместимый с OpenAI
POST https://api.apiyi.com/v1/chat/completionsи передавайте каждое изображение как …
Всего 9 требований. Используйте кнопку ниже, чтобы скопировать prompt целиком.
От чего защищает этот prompt
От чего защищает этот 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, которая выводит только таблицы и пропускает весь текст вне их, а в запросах с несколькими изображениями считывает только первое — используйте её только для чисто табличных сценариев или документов, удостоверяющих личность.
Модели, не принимающие изображения
Какие модели поддерживает каждый формат
Быстрый старт: универсальный формат (image_url)
Локальное изображение (Base64, рекомендуется)
Публичный URL изображения
Сравнение нескольких изображений
Добавьте по одному блокуimage_url на каждое изображение по порядку и ссылайтесь на них как «изображение 1» и «изображение 2» в prompt:
curl
Другие форматы
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:
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 МБ):Распространенные ошибки
Истекло время ожидания загрузки URL изображения
Если при передаче URL изображения возникает следующая ошибка:Отсутствует Content-Length для мультимодального URL (Qwen)
Модели Qwen требуют, чтобы хост с изображением возвращал заголовок ответаContent-Length. Некоторые CDN (например, Cloudflare) отдают изображения с потоковой передачей чанками (chunked transfer) без этого заголовка, что и вызывает ошибку. Разместите то же изображение в объектном хранилище или передайте его в формате base64.
Некорректные данные base64 (URL помещен в поле base64)
Если вы получаете ошибку 400 следующего вида (ключевая фраза —invalid base64 data; формулировка может незначительно отличаться в зависимости от модели):
data:image/...;base64,, должно быть самим файлом изображения, закодированным в base64. Передача через URL и передача через 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:image/png;base64,...), однако провайдер при декодировании проверил сигнатуру файла и обнаружил, что фактическое содержимое является JPEG, отклонив запрос. Распространенные причины: определение формата по измененному расширению файла или жестко заданный image/png в коде.
Продвинутые советы
Проверка того, что изображение действительно дошло до модели
Проверьтеusage.prompt_tokens в ответе: изображение размером 1200×760 обходится примерно в 900–1 300 tokens у большинства провайдеров (около 570 в DeepSeek Vision); если их количество почти не увеличивается по сравнению с чисто текстовым запросом или не растет вовсе — изображение было отброшено. Это происходит на текстовых моделях (deepseek-v4-pro, glm-5.3), на Grok через эндпоинт Anthropic и на Gemini через URL-источник Anthropic.
Параметр 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 — перечислите каждое отличие»
- Чтение графиков: «Считайте оси, тренд данных, а также максимальное и минимальное значения»
Часто задаваемые вопросы
Какие модели умеют работать с изображениями?
Какие модели умеют работать с изображениями?
deepseek-v4-pro и glm-5.3, этого делать не умеют. Для остальных моделей проверьте строку «Input modalities» на странице сведений о модели.Я отправил изображение, но модель говорит, что не видит его?
Я отправил изображение, но модель говорит, что не видит его?
usage.prompt_tokens в ответе: несколько десятков tokens означает, что изображение так и не дошло до модели. Распространенные причины: ① вы выбрали текстовую модель; ② вы вызвали Grok через эндпоинт Anthropic или Gemini через источник URL Anthropic (в обоих случаях изображение просто игнорируется); ③ провайдер не смог скачать изображение по публичному URL. Переход на chat image_url с base64 решает практически все эти проблемы.Тот же самый код возвращает ошибку 400 при смене модели?
Тот же самый код возвращает ошибку 400 при смене модели?
image_url, и он будет работать у всех провайдеров.Claude вернул 429 — превышен лимит запросов?
Claude вернул 429 — превышен лимит запросов?
image exceeds 10 MB maximum, изображение слишком большое (размер измеряется после кодирования в base64); повторные попытки не помогут — уменьшите длинную сторону примерно до 2048 px и отправьте запрос снова.GPT vision постоянно завершается по таймауту или возвращает 429 / 400 patches over the limit?
GPT vision постоянно завершается по таймауту или возвращает 429 / 400 patches over the limit?
patches ... exceeding the limit. Повторные попытки не помогут: уменьшите длинную сторону до 2048 px и отправьте запрос заново. Результаты тестов и способы диагностики: Запросы на анализ изображений завершаются по таймауту — изображение слишком большое?.Почему одно изображение обошлось в десятки тысяч tokens?
Почему одно изображение обошлось в десятки тысяч tokens?
gpt-6-sol. После уменьшения длинной стороны примерно до 2048 px то же изображение потребовало всего 3 320 tokens на gpt-6-sol и от ~700 до 3 700 tokens у различных провайдеров.Какие форматы изображений поддерживаются?
Какие форматы изображений поддерживаются?