This page was machine-translated. Spotted a mistake?Help improve it.
Skip to content

Изображение в Base64

Конвертирует одно или несколько изображений в строки, закодированные в base64, и data URI. Поддерживает необязательную конвертацию формата, управление качеством и изменение размера. Полезно для встраивания изображений напрямую в HTML, CSS, JSON или шаблоны писем.

Конечная точка API

POST /api/v1/tools/image/image-to-base64

Принимает данные формы multipart с одним или несколькими файлами изображений и необязательным полем JSON settings.

Параметры

ПараметрТипОбязательныйПо умолчаниюОписание
outputFormatstringНет"original"Конвертировать перед кодированием: original, jpeg, png, webp, avif, jxl
qualitynumberНет80Качество вывода для форматов с потерями (от 1 до 100)
maxWidthnumberНет0Максимальная ширина в пикселях (0 = без изменения размера, не увеличивает)
maxHeightnumberНет0Максимальная высота в пикселях (0 = без изменения размера, не увеличивает)

Пример запроса

bash
curl -X POST http://localhost:1349/api/v1/tools/image/image-to-base64 \
  -H "Authorization: Bearer si_your-api-key" \
  -F "[email protected]" \
  -F 'settings={"outputFormat": "webp", "quality": 80, "maxWidth": 200}'

Несколько файлов:

bash
curl -X POST http://localhost:1349/api/v1/tools/image/image-to-base64 \
  -H "Authorization: Bearer si_your-api-key" \
  -F "[email protected]" \
  -F "[email protected]" \
  -F "[email protected]" \
  -F 'settings={"outputFormat": "original"}'

Пример ответа

json
{
  "results": [
    {
      "filename": "icon.png",
      "mimeType": "image/webp",
      "width": 200,
      "height": 200,
      "originalSize": 45000,
      "encodedSize": 28800,
      "overheadPercent": -36.0,
      "base64": "UklGRlYAAABXRUJQ...",
      "dataUri": "data:image/webp;base64,UklGRlYAAABXRUJQ..."
    }
  ],
  "errors": []
}

Поля ответа

ПолеТипОписание
resultsarrayУспешно сконвертированные изображения
errorsarrayИзображения, которые не удалось обработать (с именем файла и сообщением об ошибке)

Объект result

ПолеТипОписание
filenamestringИсходное имя файла
mimeTypestringMIME-тип закодированного вывода
widthnumberИтоговая ширина в пикселях (после любого изменения размера)
heightnumberИтоговая высота в пикселях (после любого изменения размера)
originalSizenumberИсходный размер файла в байтах
encodedSizenumberРазмер строки base64 в байтах
overheadPercentnumberПроцентная разница размера относительно оригинала (положительная = больше, отрицательная = меньше)
base64stringНеобработанные данные изображения, закодированные в base64
dataUristringПолный data URI, готовый к использованию в атрибутах src

Примечания

  • Кодирование base64 обычно увеличивает размер примерно на 33% по сравнению с двоичным файлом. Поле overheadPercent показывает фактическую разницу.
  • Когда outputFormat равен "original", файлы HEIC/HEIF конвертируются в JPEG (поскольку браузеры не могут отображать HEIC в data URI).
  • Параметры maxWidth и maxHeight изменяют размер с помощью fit: inside с withoutEnlargement, поэтому изображения меньше указанных размеров не увеличиваются.
  • В одном запросе можно обработать несколько файлов. Каждый файл обрабатывается независимо, и сбои не мешают успешной обработке остальных файлов.
  • Файлы SVG передаются как image/svg+xml без перекодирования (если не запрошена конвертация формата).
  • Это конечная точка только для чтения. Она не создаёт загружаемый файл или jobId. Данные base64 возвращаются напрямую в теле ответа.