View JS N

Как конвертировать изображения в Base64 для Vision API запросов

22 февраля 2026 · 5 мин чтения

Зачем Vision API нужен Base64

Современные Vision API — OpenAI GPT-4o, Google Cloud Vision, Anthropic Claude, Qwen-VL — принимают изображения двумя способами: публичный URL, указывающий на изображение, или Base64-строка с данными изображения, встроенная прямо в тело JSON-запроса.

Если изображение уже размещено онлайн, URL — простой вариант. Но на практике изображения часто локальные: только что сделанный скриншот, отсканированный документ, кадр из видео, тестовое изображение из пайплайна разработки. В таких случаях подходит Base64 — изображение включается прямо в API-запрос без предварительной загрузки на сервер.

Типичный Vision API запрос с Base64 выглядит так:

{
  "model": "gpt-4o",
  "messages": [
    {
      "role": "user",
      "content": [
        {
          "type": "text",
          "text": "What's in this image?"
        },
        {
          "type": "image_url",
          "image_url": {
            "url": "data:image/png;base64,iVBORw0KGgo..."
          }
        }
      ]
    }
  ]
}

Проблема — получить эту Base64-строку из локального файла, особенно когда это нужно делать многократно при разработке и тестировании.

Стандартные способы (и их недостатки)

1. Python-скрипт

import base64

with open("screenshot.png", "rb") as f:
    encoded = base64.b64encode(f.read()).decode()
print(encoded)

Работает, но требует установленного Python, написания (или поиска) скрипта и копирования вывода из терминала. При повторном тестировании с разными изображениями приходится каждый раз запускать скрипт и вручную вставлять результат в JSON.

2. Командная строка

# macOS / Linux
base64 -i screenshot.png | pbcopy

# Windows PowerShell
[Convert]::ToBase64String([IO.File]::ReadAllBytes("screenshot.png")) | Set-Clipboard

Быстро, если помните синтаксис. Но вывод — просто строка. Нельзя проверить, то ли изображение вы закодировали и корректна ли кодировка, пока не отправите запрос в API.

3. Онлайн-конвертеры Base64

Множество сайтов предлагают drag-and-drop конвертацию. Очевидная проблема: файл загружается на чужой сервер. Для тестовых скриншотов это допустимо, но для проприетарных данных, внутренних документов, медицинских изображений или файлов под NDA — нет.

Лучший способ: вставить, посмотреть, скопировать

ViewJSON предлагает более простой подход. Вставьте изображение в редактор — и мгновенно получите Base64-строку. Всё обрабатывается в браузере:

  1. Откройте ViewJSON — перейдите на viewjson.net
  2. Вставьте изображение — скопируйте изображение из проводника, инструмента для скриншотов, браузера или дизайн-приложения и вставьте в редактор через Ctrl+V
  3. Проверьте предпросмотр — ViewJSON автоматически конвертирует изображение в Base64 и вставляет как строковое значение JSON. Инлайн-предпросмотр отображается мгновенно, чтобы вы убедились в правильности.
  4. Скопируйте Base64 — нажмите кнопку копирования или выделите строку. Вы получите полную Base64-строку, готовую для вставки в API-запрос.

Демонстрация полного процесса:

Демо: вставка изображения в ViewJSON и получение Base64-строки с инлайн-предпросмотром

Обработка длинных Base64-строк

Base64-кодированные изображения могут быть очень длинными. Одно JPEG высокого разрешения может дать строку длиной более 100 000 символов. Для сохранения отзывчивости редактора ViewJSON автоматически усекает отображение длинных строк. Но усечение касается только отображения.

При копировании усечённого значения Base64 срабатывает механизм безпотерьного восстановления буфера обмена. ViewJSON обнаруживает копирование усечённой строки и автоматически восстанавливает полное содержимое в буфере обмена. Вы всегда получаете полную, неизменённую Base64-строку, а не усечённую версию, которая создала бы повреждённый файл.

Формирование полного API-запроса

После получения Base64-строки нужно обернуть её в правильный формат API. Примеры для популярных Vision API:

OpenAI GPT-4o Vision

{
  "model": "gpt-4o",
  "messages": [
    {
      "role": "user",
      "content": [
        { "type": "text", "text": "Describe this image" },
        {
          "type": "image_url",
          "image_url": {
            "url": "data:image/png;base64,<YOUR_BASE64_HERE>"
          }
        }
      ]
    }
  ],
  "max_tokens": 300
}

Google Cloud Vision

{
  "requests": [
    {
      "image": {
        "content": "<YOUR_BASE64_HERE>"
      },
      "features": [
        { "type": "TEXT_DETECTION" }
      ]
    }
  ]
}

Вставьте изображение в ViewJSON, скопируйте полученную Base64-строку и подставьте в тело запроса. Вы также можете использовать встроенный конструктор API-запросов ViewJSON: настройте URL, метод, заголовки и тело, затем экспортируйте весь запрос как команду cURL.

Конфиденциальность: загрузка не требуется

В отличие от онлайн-конвертеров, ViewJSON работает полностью в браузере. Конвертация изображения в Base64 выполняется локально через встроенный FileReader API браузера. Изображение никуда не отправляется.

Это делает инструмент пригодным для конфиденциальных изображений: медицинские снимки для healthcare AI API, внутренние документы для OCR-сервисов, проприетарные фото продуктов для визуального поиска или любые файлы, которые нежелательно загружать на сторонние конвертеры.

Сравнение методов

Метод Предпросмотр? Приватность Шаги
Python-скрипт ❌ Нет ✅ Локально 4-5 шагов
Командная строка ❌ Нет ✅ Локально 3-4 шага
Онлайн-конвертер ⚠️ Частично ❌ Загрузка на сервер 3-4 шага
ViewJSON ✅ Инлайн ✅ 100% локально 2 шага

Попробуйте прямо сейчас

Вставьте изображение в ViewJSON — и мгновенно получите Base64-строку. Без скриптов, без загрузки, без рисков для конфиденциальности.

Открыть ViewJSON →