Эта страница переведена машинным способом. Заметили ошибку?Помогите её улучшить.
Skip to content

Справочник по AI-движку

Пакет @snapotter/ai координирует собственные инструменты и среду выполнения Python для локальных операций ML. Большинство инструментов ML используют постоянный Python sidecar для быстрого горячего запуска. OCR намеренно отделен: fast вызывает собственный двоичный файл Tesseract, в то время как balanced и best используют выделенный постоянный JSONL dispatcher, прикрепленный к активному неизменяемому поколению RapidOCR под /data/ai/v3. Каждый запрос содержит generation lease. Во время обновления SnapOtter запускает smoke test на кандидате перед активацией, атомарно переключается на новый dispatcher, а затем сливает старое поколение перед garbage collection.

NVIDIA CUDA автоматически обнаруживается и используется средами выполнения, которые его поддерживают. OCR использует CPU на каждом хосте, включая системы с графическими процессорами NVIDIA, избегая CUDA и связи драйверов для этого инструмента.

Ускорение через iGPU Intel/AMD посредством VA-API, Quick Sync или OpenCL сегодня не поддерживается для AI-инференса. Проброс /dev/dri в контейнер не ускоряет эти инструменты Python-сайдкара, если не доступна NVIDIA GPU с поддержкой CUDA.

19 AI-инструментов Python-сайдкара в четырёх модальностях (изображение, аудио, видео, документ) плюс 2 инструмента с опциональными AI-возможностями. Все модели работают локально: после первоначальной загрузки моделей интернет не требуется.

Совместимость OCR для корейского языка

Быстрый OCR поддерживает auto, en, de, es, fr, zh и ja, но не корейский язык (ko). Для корейского требуется пакет точного OCR и уровень balanced или best. Пакет работает в официальных контейнерах Linux amd64 и arm64, включая узлы NVIDIA, где OCR по-прежнему выполняется на CPU. На неподдерживаемой системе возвращается явная ошибка совместимости без скрытого перехода на fast. Корейский с fast или устаревшим псевдонимом tesseract отклоняется до постановки в очередь с FEATURE_INCOMPATIBLE и fast-korean-unsupported.

Архитектура

Node.js Tool Route
      |
      v
 @snapotter/ai bridge.ts
      | (stdin/stdout JSON + stderr progress events)
      v
 +-- Native Tesseract + Ghostscript (fast image/PDF OCR)
 |
 +-- Isolated OCR runtime (persistent JSONL dispatcher)
 |     `-- RapidOCR + ONNX Runtime CPU + pinned PP-OCR models
 |
 `-- Python dispatcher (persistent process, "ai" profile)
      |
      |-- remove_bg.py        (rembg / BiRefNet)
      |-- upscale.py          (RealESRGAN)
      |-- inpaint.py          (LaMa ONNX)
      |-- outpaint.py         (LaMa canvas expansion)
      |-- detect_faces.py     (MediaPipe)
      |-- face_landmarks.py   (MediaPipe landmarks)
      |-- enhance_faces.py    (GFPGAN / CodeFormer)
      |-- colorize.py         (DDColor)
      |-- noise_removal.py    (SCUNet / tiered denoising)
      |-- red_eye_removal.py  (landmark + color analysis)
      |-- restore.py          (scratch repair + enhancement + denoising)
      |-- transcribe.py       (faster-whisper speech-to-text)
      +-- install_feature.py  (on-demand bundle installer)

Отдельный профиль диспетчера «docs» заменяет AI-список разрешённых скриптов на скрипты обработки документов (doc_pagecount, doc_health, doc_flatten, doc_redact, doc_text, doc_to_word, doc_metadata, doc_html_pdf) и пропускает тяжёлые ML-импорты.

Таймауты: 300 с по умолчанию; для OCR и удаления фона BiRefNet отводится 600 с.

Пакеты возможностей

AI-модели упакованы по общему стеку зависимостей, а не по одному архиву на инструмент. Один пакет возможностей может включать несколько инструментов, если они используют одно семейство моделей, одни Python-колёса (wheels) или одни нативные библиотеки. Это позволяет держать релизный Docker-образ меньше и избегать хранения дубликатов одних и тех же моделей матирования фона, распознавания лиц, OCR, реставрации и речи.

Docker-образ поставляется вместе с приложением и общей средой выполнения. Крупные архивы моделей загружаются по требованию в постоянный том /data/ai, а затем повторно используются каждым инструментом, которому они нужны. Если пакет уже установлен, потому что его затребовал другой инструмент, включение нового зависимого инструмента не приводит к повторной загрузке этого пакета.

Большинству инструментов искусственного интеллекта требуется один или несколько пакетов функций, прежде чем они смогут работать. Пользовательский интерфейс администратора устанавливает их с помощью инструмента POST /api/v1/admin/tools/:toolId/features/install, который обрабатывает полный список пакетов, пропускает уже установленные пакеты и помещает в очередь только недостающие загрузки. Например, включение Passport Photo в новых очередях экземпляров background-removal и face-detection; включение его после фонового удаления уже установлено в очередях только face-detection. OCR является исключением, поскольку fast не требует упаковки; установите дополнительную точную среду выполнения через пользовательский интерфейс или POST /api/v1/admin/features/ocr/install.

ПакетРазмерОбщая группа зависимостейИнструменты, использующие его
background-removal4-5 GBматирование фона rembg / BiRefNetremove-background, passport-photo, transparency-fixer, background-replace, blur-background
face-detection200-300 MBраспознавание лиц и ключевых точек MediaPipeblur-faces, red-eye-removal, smart-crop
object-eraser-colorize1-2 GBинпейнтинг/аутпейнтинг LaMa и DDColorerase-object, colorize, ai-canvas-expand
upscale-enhance5-6 GBRealESRGAN, GFPGAN / CodeFormer, шумоподавлениеupscale, enhance-faces, noise-removal
photo-restoration4-5 GBконвейер устранения царапин и реставрацииrestore-photo
ocr~208-234 Загрузка MiB / ~409-488 Установка MiBДополнительные модели RapidOCR 3.9.1, ONNX Runtime 1.20.1 и закрепленные модели PP-OCRocr, ocr-pdf (только balanced и best)
transcription~600 MBмодели преобразования речи в текст faster-whispertranscribe-audio, auto-subtitles

Инструменты с межпакетными зависимостями:

ИнструментТребуемые пакетыПричина
passport-photobackground-removal, face-detectionУдаляет фон, затем использует ключевые точки лица, чтобы обрезать кадр под правила для фото на паспорт и удостоверение личности.
enhance-facesupscale-enhance, face-detectionРаспознаёт лица перед применением улучшения GFPGAN или CodeFormer к выбранным областям лица.

Инструмент доступен только в том случае, если установлены все необходимые пакеты, за исключением OCR: его встроенный уровень fast остается доступным без дополнительного пакета OCR. Частичные установки допустимы и обрабатываются постепенно: установленные пакеты используются повторно, отсутствующие пакеты отображаются как загрузки, а установки в очереди выполняются по одной, поэтому общая среда Python не изменяется одновременно.

Точная установка среды выполнения OCR

Точный OCR пакет — это специфичная для платформы среда выполнения для официального Linux amd64 или Linux arm64 контейнер. В сборке amd64 используется Python 3.12; сборка arm64 использует Python 3.11. Обе сборки запускают RapidOCR через CPUExecutionProvider ONNX Runtime, поэтому один и тот же пакет работает только на процессорах и на хостах NVIDIA Docker. Для точной среды выполнения требуется не менее 4 GiB эффективной памяти: настроенный лимит cgroup контейнера, в противном случае — память хоста. Система ниже указанного минимального уровня совместимости отклоняется перед загрузкой. Это требование не распространяется на встроенный Fast OCR. Сборки Bare-metal отклоняются, поскольку их libc и Python ABI не могут быть безопасно выведены; Быстрый OCR остается доступным, если хост предоставляет Tesseract и Ghostscript.

Необязательный артефакт имеет размер около 208–234 MiB в сжатом виде и 409–488 MiB в извлеченном виде, в зависимости от архитектуры. Подписанный индекс связывает точное количество сжатых и извлеченных байтов, заданное установщиком. Встроенный Tesseract добавляет к официальному образу около 25 MiB и не требует файлов в /data/ai.

При онлайн-установке извлекается подписанный индекс выпуска и точный артефакт с адресом содержимого для текущей платформы. SnapOtter проверяет подпись индекса Ed25519, размер артефакта, дайджест SHA-256, дайджесты модели, пути, режимы файлов и промежуточный smoke test перед атомарной активацией нового поколения. Неудачная установка оставляет активным предыдущее работоспособное поколение.

Для установки с воздушным зазором загрузите ocr-runtime-index.json выпуска и соответствующий архив времени выполнения OCR в POST /api/v1/admin/features/import, используя составные поля с именами index и archive. Автономный импорт применяет те же проверки подписи, хеша, извлечения, совместимости и дымового тестирования, что и онлайн-установка; архив без доверенного подписанного индекса отклоняется.


Удаление фона

Маршрут инструмента: remove-background
Модель: rembg с BiRefNet (по умолчанию) или варианты U2-Net

ПараметрТипПо умолчаниюОписание
modelstring-Вариант модели (опциональное переопределение)
backgroundTypestring"transparent"Одно из: transparent, color, gradient, blur, image
backgroundColorstring-Hex-цвет для сплошного фона
gradientColor1string-Первый цвет градиента
gradientColor2string-Второй цвет градиента
gradientAnglenumber-Угол градиента в градусах
blurEnabledboolean-Включить эффект размытия фона
blurIntensitynumber (0-100)-Интенсивность размытия
shadowEnabledboolean-Включить падающую тень от объекта
shadowOpacitynumber (0-100)-Непрозрачность тени
outputFormatstring-Формат вывода: png, webp или avif
edgeRefineinteger (0-3)-Уровень уточнения краёв
decontaminateboolean-Убрать растекание цвета с краёв

Замена фона

Маршрут инструмента: background-replace
Модель: rembg / BiRefNet (общая с remove-background)

Удаляет фон и заменяет его сплошным цветом или градиентом.

ПараметрТипПо умолчаниюОписание
backgroundType"color" | "gradient""color"Режим фона
colorstring"#ffffff"Hex-цвет фона (когда backgroundType равно color)
gradientColor1string-Первый hex-цвет градиента
gradientColor2string-Второй hex-цвет градиента
gradientAngleinteger (0-360)180Угол градиента в градусах
featherinteger (0-20)0Радиус растушёвки краёв
format"png" | "webp""png"Формат вывода

Размытие фона

Маршрут инструмента: blur-background
Модель: rembg / BiRefNet (общая с remove-background)

Размывает фон, сохраняя объект резким.

ПараметрТипПо умолчаниюОписание
intensityinteger (1-100)50Интенсивность размытия
featherinteger (0-20)0Радиус растушёвки краёв
format"png" | "webp""png"Формат вывода

Апскейлинг изображений

Маршрут инструмента: upscale
Модель: RealESRGAN (с запасным вариантом Lanczos при недоступности)

ПараметрТипПо умолчаниюОписание
scalenumber2Коэффициент увеличения
modelstring"auto"Вариант модели
faceEnhancebooleanfalseПрименить проход улучшения лиц GFPGAN
denoisenumber0Сила шумоподавления
formatstring"auto"Переопределение формата вывода
qualitynumber95Качество вывода (1-100)

OCR / извлечение текста

Маршрут инструмента: ocr
Модели: Tesseract (fast); RapidOCR с небольшими моделями PP-OCRv6 (balanced); Средние модели PP-OCRv6 с калиброванной оценкой вариантов (best)

ПараметрТипПо умолчаниюОписание
quality"fast" | "balanced" | "best"ДинамическийЕсли quality и engine не заданы, SnapOtter выбирает лучший доступный уровень в порядке best, balanced, fast. Для корейского языка fast никогда не выбирается: используется best, затем balanced, либо возвращается ошибка установки или совместимости точной среды выполнения.
languagestring"auto"Язык: auto, en, de, fr, es, zh, ja, ko
enhanceлогическое значениеЗависит от уровняУлучшите локальный контраст. Fast применяет его напрямую; точные уровни сохраняют вариант только тогда, когда калиброванная оценка улучшает OCR. По умолчанию включено в лучшем случае
engineнить-Устаревший псевдоним совместимости. Сопоставляет tesseract с fast, а устаревшее значение paddleocr с balanced; не загружается PaddlePaddle

Возвращает извлеченный текст, а также метаданные происхождения: механизм, запрошенное и фактическое качество, устройство, поставщик, состояние деградации, предупреждения и точные версии времени выполнения/модели, если применимо. Явные запросы на качество никогда не переходят на другой уровень. Если balanced или best недоступны, API возвращает FEATURE_NOT_INSTALLED или FEATURE_INCOMPATIBLE вместо автоматического запуска fast.

OCR для PDF

Маршрут инструмента: ocr-pdf
Модели: Та же система уровней, что и у OCR изображений

Извлекает текст из отсканированных PDF-документов с помощью AI-OCR, страница за страницей.

ПараметрТипПо умолчаниюОписание
quality"fast" | "balanced" | "best"ДинамическийЕсли quality и engine не заданы, SnapOtter выбирает лучший доступный уровень в порядке best, balanced, fast. Для корейского языка fast никогда не выбирается: используется best, затем balanced, либо возвращается ошибка установки или совместимости точной среды выполнения.
languagestring"auto"Язык: auto, en, de, fr, es, zh, ja, ko
pagesstring"all"Выбор страниц: "all", "1-3", "1,3,5"
enhanceлогическое значениеЗависит от уровняУлучшите локальный контраст. Fast применяет его напрямую; точные уровни сохраняют вариант только тогда, когда калиброванная оценка улучшает OCR. По умолчанию включено в лучшем случае
engineнить-Устаревший псевдоним совместимости. Сопоставляет tesseract с fast, а устаревшее значение paddleocr с balanced; не загружается PaddlePaddle

То же правило запрета перехода на более раннюю версию применяется к PDF OCR. Страницы PDF перед распознаванием растрируются, и за один запрос можно выбрать не более 50 страниц.

Размытие лиц / персональных данных

Маршрут инструмента: blur-faces
Модель: распознавание лиц MediaPipe

ПараметрТипПо умолчаниюОписание
blurRadiusnumber (1-100)30Радиус гауссова размытия
sensitivitynumber (0-1)0.5Порог достоверности распознавания

Улучшение лиц

Маршрут инструмента: enhance-faces
Модели: GFPGAN, CodeFormer

ПараметрТипПо умолчаниюОписание
model"auto" | "gfpgan" | "codeformer""auto"Модель улучшения
strengthnumber (0-1)0.8Сила улучшения
sensitivitynumber (0-1)0.5Порог распознавания лиц
onlyCenterFacebooleanfalseУлучшать только самое центральное лицо

AI-раскрашивание

Маршрут инструмента: colorize
Модель: DDColor (с запасным вариантом OpenCV DNN)

Преобразует чёрно-белые или полутоновые фотографии в полноцветные.

ПараметрТипПо умолчаниюОписание
intensitynumber (0-1)1.0Сила насыщенности цвета
model"auto" | "ddcolor" | "opencv""auto"Вариант модели

Удаление шума

Маршрут инструмента: noise-removal
Модель: SCUNet (многоуровневый конвейер шумоподавления)

ПараметрТипПо умолчаниюОписание
tier"quick" | "balanced" | "quality" | "maximum""balanced"Уровень обработки
strengthnumber (0-100)50Сила шумоподавления
detailPreservationnumber (0-100)50Сколько деталей сохранять; выше значение сохраняет больше текстуры
colorNoisenumber (0-100)30Сила подавления цветового шума
formatstring"original"Формат вывода: original, png, jpeg, webp, avif, jxl
qualitynumber (1-100)90Качество кодирования вывода

Удаление эффекта красных глаз

Маршрут инструмента: red-eye-removal

Распознаёт ключевые точки лица, находит области глаз и корректирует перенасыщенность красного канала.

ПараметрТипПо умолчаниюОписание
sensitivitynumber (0-100)50Порог обнаружения красных пикселей
strengthnumber (0-100)70Сила коррекции
formatstring-Переопределение формата вывода (опционально)
qualitynumber (1-100)90Качество вывода

Реставрация фотографий

Маршрут инструмента: restore-photo

Многошаговый конвейер для старых или повреждённых фотографий: обнаружение и устранение царапин/разрывов, улучшение лиц, шумоподавление и опциональное раскрашивание.

ПараметрТипПо умолчаниюОписание
scratchRemovalbooleantrueОбнаруживать и устранять царапины, разрывы
faceEnhancementbooleantrueПрименить проход улучшения лиц
fidelitynumber (0-1)0.7Сила улучшения лиц (выше = более консервативно)
denoisebooleantrueПрименить проход шумоподавления
denoiseStrengthnumber (0-100)25Сила шумоподавления
colorizebooleanfalseРаскрасить после реставрации
colorizeStrengthnumber (0-100)85Интенсивность раскрашивания

Фото на паспорт

Маршрут инструмента: passport-photo
Модели: ключевые точки лица MediaPipe + удаление фона BiRefNet

Двухфазный рабочий процесс: анализ (распознать лицо + удалить фон), затем генерация (обрезка, изменение размера, замощение). Поддерживает 37+ стран в 6 регионах.

Фаза 1: анализ

POST /api/v1/tools/image/passport-photo/analyze

Принимает файл изображения (multipart). Возвращает данные ключевых точек лица, base64-превью и размеры изображения.

Фаза 2: генерация

POST /api/v1/tools/image/passport-photo/generate

Принимает JSON-тело с результатами фазы 1 плюс настройки генерации:

ПараметрТипПо умолчаниюОписание
jobIdstring(обязательно)Идентификатор задания из фазы 1
filenamestring(обязательно)Исходное имя файла из фазы 1
countryCodestring(обязательно)ISO-код страны (например, US, GB, IN)
documentTypestring"passport"Тип документа
bgColorstring"#FFFFFF"Hex-цвет фона
printLayoutstring"none"Макет печати: none, 4x6, a4, letter
maxFileSizeKbnumber0Максимальный размер файла в KB (0 = без ограничения)
dpinumber (72-1200)300DPI вывода
customWidthMmnumber-Пользовательская ширина в мм (переопределяет спецификацию страны)
customHeightMmnumber-Пользовательская высота в мм (переопределяет спецификацию страны)
zoomnumber (0.5-3)1Коэффициент масштабирования
adjustXnumber0Регулировка горизонтального положения
adjustYnumber0Регулировка вертикального положения
landmarksobject(обязательно)Ключевые точки из фазы 1
imageWidthnumber(обязательно)Ширина изображения из фазы 1
imageHeightnumber(обязательно)Высота изображения из фазы 1

Удаление объектов (инпейнтинг)

Маршрут инструмента: erase-object
Модель: LaMa через ONNX Runtime

Маска отправляется как вторая файловая часть (имя поля mask), а не как base64. Белые пиксели в маске обозначают области для удаления. Настройки format и quality отправляются как поля формы верхнего уровня.

ПараметрТипПо умолчаниюОписание
filefile(обязательно)Исходное изображение (multipart)
maskfile(обязательно)Изображение маски (multipart, имя поля mask, белое = удалить)
formatstring"auto"Формат вывода: auto, png, jpg, jpeg, webp, tiff, gif, avif, heic, heif, jxl
qualityinteger (1-100)95Качество вывода

Ускоряется через CUDA при наличии NVIDIA GPU.

AI-расширение холста

Маршрут инструмента: ai-canvas-expand
Модель: аутпейнтинг на базе LaMa

Расширяет холст изображения в любом направлении и заполняет новые области сгенерированным AI-содержимым, совпадающим с существующим изображением.

ПараметрТипПо умолчаниюОписание
extendTopinteger0Пикселей для расширения сверху
extendRightinteger0Пикселей для расширения справа
extendBottominteger0Пикселей для расширения снизу
extendLeftinteger0Пикселей для расширения слева
tier"fast" | "balanced" | "high""balanced"Уровень качества
formatstring"auto"Формат вывода: auto, png, jpg, jpeg, webp, tiff, gif, avif, heic, heif, jxl
qualityinteger (1-100)95Качество вывода

Хотя бы одно направление расширения должно быть больше 0.

Умная обрезка

Маршрут инструмента: smart-crop
Модель: распознавание лиц MediaPipe (только режим лиц)

ПараметрТипПо умолчаниюОписание
modestring"subject"Стратегия обрезки: subject, face, trim
strategy"attention" | "entropy""attention"Стратегия для режима объекта
widthinteger-Ширина вывода
heightinteger-Высота вывода
paddinginteger (0-50)0Процент отступа вокруг объекта
facePresetstring"head-shoulders"Предустановка кадрирования, когда mode=face
sensitivitynumber (0-1)0.5Порог распознавания лиц
thresholdinteger (0-255)30Порог определения фона (режим обрезки)
padToSquarebooleanfalseДополнить обрезанный результат до квадрата
padColorstring"#ffffff"Цвет фона для квадратного дополнения
targetSizeinteger-Целевой размер для дополненного вывода (пиксели)
qualityinteger (1-100)-Качество вывода

Устаревшие значения mode attention и content принимаются и сопоставляются с subject и trim соответственно.

Предустановки для лиц:

ПредустановкаЛучше всего для
closeupПортретные фото
head-shouldersФото профиля
upper-bodyLinkedIn / официальные
half-bodyВся верхняя часть тела

Транскрибирование аудио

Маршрут инструмента: transcribe-audio
Модель: faster-whisper

Преобразует речь в текст. Поддерживает вывод в форматах простого текста, SRT и VTT.

ПараметрТипПо умолчаниюОписание
languagestring"auto"Язык: auto, en, de, fr, es, zh, ja, ko, id, th, vi
outputFormat"txt" | "srt" | "vtt""txt"Формат вывода

Автоматические субтитры

Маршрут инструмента: auto-subtitles
Модель: faster-whisper (извлекает аудио из видео, затем транскрибирует)

Генерирует файлы субтитров из звуковой дорожки видео.

ПараметрТипПо умолчаниюОписание
languagestring"auto"Язык: auto, en, de, fr, es, zh, ja, ko, id, th, vi
format"srt" | "vtt""srt"Формат вывода субтитров

Исправление прозрачности PNG

Маршрут инструмента: transparency-fixer
Модель: BiRefNet HR-matting (разрешение 2048x2048)

Исправляет «псевдопрозрачные» PNG, где фон был удалён, но остались бахрома, ореолы или полупрозрачные артефакты. Использует высокоразрешающую модель матирования BiRefNet для создания чистого альфа-канала, затем применяет настраиваемую обработку удаления бахромы для устранения цветового загрязнения вдоль краёв.

Цепочка запасных вариантов при нехватке памяти (OOM): Если BiRefNet HR-matting превышает доступную память, инструмент автоматически переходит на birefnet-general, затем на u2net.

ПараметрТипПо умолчаниюОписание
defringenumber (0-100)30Сила удаления бахромы по краям для устранения цветового загрязнения
outputFormat"png" | "webp""png"Формат выходного изображения
removeWatermarkbooleanfalseПрименить предобработку удаления водяных знаков (медианный фильтр)
bash
curl -X POST http://localhost:1349/api/v1/tools/image/transparency-fixer \
  -H "Authorization: Bearer <token>" \
  -F "file=@fake-transparent.png" \
  -F 'settings={"defringe":30,"outputFormat":"png"}'

Инструменты с опциональными AI-возможностями

Следующие инструменты не являются инструментами Python-сайдкара, но используют AI-возможности, когда включены определённые опции.

Улучшение изображений

Маршрут инструмента: image-enhancement
Движок: на основе анализа (гистограмма и статистика Sharp)

Анализирует изображение и применяет автоматические коррекции экспозиции, контраста, баланса белого, насыщенности, резкости и шума. Поддерживает режимы под конкретные сцены.

ПараметрТипПо умолчаниюОписание
mode"auto" | "portrait" | "landscape" | "low-light" | "food" | "document""auto"Режим сцены для настройки коррекций
intensitynumber (0-100)50Общая сила коррекции
corrections.exposurebooleantrueПрименить коррекцию экспозиции
corrections.contrastbooleantrueПрименить коррекцию контраста
corrections.whiteBalancebooleantrueПрименить коррекцию баланса белого
corrections.saturationbooleantrueПрименить коррекцию насыщенности
corrections.sharpnessbooleantrueПрименить коррекцию резкости
corrections.denoisebooleantrueПрименить шумоподавление
deepEnhancebooleanfalseВключить AI-удаление шума через SCUNet (требует пакет upscale-enhance)

Дополнительная конечная точка анализа доступна по адресу POST /api/v1/tools/image/image-enhancement/analyze, которая возвращает обнаруженные коррекции без их применения.

Контентно-зависимое изменение размера (Seam Carving)

Маршрут инструмента: content-aware-resize
Движок: бинарник Go caire (не Python, без выгоды от GPU)

Интеллектуально изменяет размер изображений, удаляя низкоэнергетические швы и сохраняя важное содержимое.

ПараметрТипПо умолчаниюОписание
widthnumber-Целевая ширина
heightnumber-Целевая высота
protectFacesbooleanfalseЗащищать обнаруженные области лиц (требует пакет face-detection)
blurRadiusnumber (0-20)4Предварительное размытие для расчёта энергии
sobelThresholdnumber (1-20)2Порог чувствительности к краям
squarebooleanfalseПринудительный квадратный вывод