Skip to main content
APIYI предоставляет мощные возможности понимания изображений, поддерживая глубокий анализ и интерпретацию изображений с использованием различных продвинутых моделей AI. Благодаря унифицированному формату OpenAI API вы можете легко реализовать распознавание изображений, описание сцены, распознавание текста OCR и другие функции.
🔍 Интеллектуальный визуальный анализ Поддерживает различные визуальные задачи, включая распознавание объектов, понимание сцены, извлечение текста, анализ тональности и многое другое, позволяя AI по-настоящему «понимать» изображения.

🌟 Основные возможности

  • 🎯 Поддержка нескольких моделей: Топовые мультимодальные модели, такие как Gemini 3, GPT-5 и серия Claude 4
  • 📸 Гибкий ввод: Поддерживает ссылки URL и изображения, закодированные в Base64
  • 🌏 Оптимизация для китайского языка: Полная поддержка понимания сцен на китайском языке и распознавания текста
  • ⚡ Быстрый отклик: Высокопроизводительный inference с результатами за секунды
  • 💰 Контроль затрат: Несколько вариантов моделей для разных бюджетных требований

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

Ниже приведены актуальные основные рекомендации по мультимодальным моделям. Идентификаторы моделей могут меняться с новыми выпусками — всегда сверяйтесь с консолью.
Большинство chat моделей теперь поддерживают мультимодальный ввод изображений: таблица выше содержит распространенные рекомендации, а не полный список. Основные модели, включая серии GPT-5, Gemini 3, Claude 4, Grok 4, Qwen, GLM и Kimi, в основном принимают ввод изображений.

🚀 Быстрый старт

1. Базовый пример - URL изображения

2. Пример локального изображения - кодирование Base64

3. Продвинутый пример - Сравнение нескольких изображений

4. Пример cURL (командная строка)

Метод с URL изображения:
Метод с локальным изображением Base64 (закодируйте изображение в Base64, затем встроите его в тело запроса):
Предпочитайте загрузку через Base64 для большей надежности: при использовании метода с URL изображения сервер сначала должен скачать изображение в реальном времени — если хост изображения отвечает медленно или ограничивает доступ, загрузка не удастся. Base64 встраивает данные изображения напрямую в тело запроса, без зависимости от какой-либо внешней загрузки, поэтому этот способ более стабилен. Оба метода официально поддерживаются. Base64 примерно в 1.33 раза больше исходного изображения, поэтому перед кодированием стоит сжать большие изображения.

5. Распространенная ошибка: тайм-аут загрузки изображения по URL

При использовании метода URL изображения вы можете получить такую ошибку:
Это означает, что сервер превысил время ожидания при загрузке изображения по URL — это не связано ни с моделью, ни с вашим API key, ни с вашей квотой. Распространенные причины:
  1. Сервер-источник изображения / origin server отвечает медленно или плохо доступен для некоторых сетевых регионов
  2. Изображение слишком большое, и загрузка превышает лимит времени
  3. У URL есть защита от hotlinking, требуется login, или это не public direct link
Решения:
  • Переключитесь на загрузку Base64 (data URI) (рекомендуется, см. Пример 2 выше) — данные изображения отправляются напрямую в теле запроса, полностью обходя шаг загрузки, что является самым стабильным вариантом
  • Используйте более быстрый direct image link с публичным доступом
  • Сожмите изображение и повторите попытку

6. Распространенная ошибка: недопустимые данные Base64 (URL ошибочно помещен в поле Base64)

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

7. Распространенная ошибка: заявленный тип носителя не совпадает с фактическим форматом изображения

Если вы получаете ошибку 400, подобную следующей (ключевая сигнатура — The image was specified using the image/png media type, but the image appears to be a image/jpeg image):
Что это значит: эта ошибка приходит от проверки входных данных во внешнем upstream-сервисе модели (Bedrock Runtime: InvokeModel, ValidationException в примере указывает, что запрос дошел до upstream-канала серии Claude и был отклонен на этапе проверки параметров). Сообщение следует понимать буквально:
  • Ваш data URI объявляет изображение как PNG (data:image/png;base64,...)
  • Но после декодирования Base64 upstream проверил заголовок файла (magic bytes) и обнаружил, что фактическое содержимое — JPEG
  • Объявление и содержимое не совпадают → 400. Само кодирование Base64 корректно — проблема именно в MIME type в префиксе
Распространенные причины:
  1. MIME type определен по расширению файла, но расширение вводит в заблуждение — файл называется xxx.png, но на самом деле это JPEG с переименованным расширением (так делают инструменты загрузки, чаты и инструменты для снимков экрана)
  2. image/png (или image/jpeg) жестко задан в коде клиента, и для каждого изображения используется один и тот же префикс независимо от формата
  3. Изображение прошло через конвейер обработки, который изменил его формат, но имя файла осталось прежним
Исправление: никогда не доверяйте расширению — определяйте реальный MIME type по magic bytes файла перед сборкой data URI:
Или перекодируйте через PIL — это гарантирует, что объявление совпадет с содержимым за один шаг (и заодно позволит сжать файл и удалить необычные кадры на этом пути):
Самопроверка: file xxx.png (командная строка macOS / Linux) за одну секунду показывает истинный формат файла; в Python то же самое делает Image.open(path).format. Серии моделей отличаются по строгости проверки media type — некоторые пропускают несовпадения, тогда как серия Claude (особенно через канал Bedrock) самая строгая. Пишите код так, чтобы объявление всегда совпадало с содержимым, и тогда вы будете защищены на любой модели.
Различия параметров серии GPT-5: если вы заменяете примеры на модель серии GPT-5, например gpt-5.5 / gpt-5.4, учтите, что:
  1. Используйте max_completion_tokens вместо max_tokens
  2. temperature поддерживает только 1 (оставьте его значением по умолчанию — не передавайте другие значения)
  3. Не передавайте параметр top_p
Серии Gemini и Claude не имеют таких ограничений и нормально работают с max_tokens, temperature и т. д.

🎯 Распространенные сценарии использования

1. Распознавание и анализ продукта

2. Распознавание текста в документах с помощью OCR

3. Помощь в анализе медицинских изображений

4. Анализ данных системы видеонаблюдения

💡 Лучшие практики

Рекомендации по предварительной обработке изображений

  1. Поддержка форматов: Распространенные форматы, такие как JPEG, PNG, GIF, WebP
  2. Ограничение размера: Рекомендуемый размер одного изображения — менее 20MB
  3. Разрешение: Изображения с более высоким разрешением обеспечивают лучшее распознавание
  4. Сжатие: Умеренное сжатие для повышения скорости передачи

Оптимизация prompt

Обработка ошибок

🔧 Расширенные возможности

1. Потоковый вывод

Для продолжительного анализа потоковый вывод обеспечивает более удобный пользовательский опыт:

2. Многоходовой диалог

Сохраняйте контекст для углубленного анализа:

3. В сочетании с вызовом функций

📊 Сравнение производительности

🚨 Важные примечания

  1. Защита конфиденциальности: Не загружайте изображения, содержащие конфиденциальную информацию
  2. Соответствующее использование: Соблюдайте применимые законы и нормативные требования, не используйте для незаконных целей
  3. Проверка результатов: Результаты анализа ИИ предназначены только для справки, важные решения требуют ручной проверки
  4. Контроль затрат: Разумно выбирайте модели, чтобы избежать лишних расходов

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

💡 Совет: Сначала протестируйте на экономичных моделях, таких как Gemini 3.5 Flash или Gemini 2.5 Flash, затем переключитесь на продвинутые модели, такие как Gemini 3.1 Pro или GPT-5.5, для рабочей среды, когда вы убедитесь в качестве. Чтобы узнать о других доступных моделях, см. Популярные модели или список моделей в консоли.