REST API для размытия лиц и номерных знаков
Watermarkly Blur API автоматически обнаруживает и размывает автомобильные номера и лица на изображениях.
Этот сервис полностью размещен в инфраструктуре AWS и гарантирует конфиденциальность, не используя файлы клиентов для обучения моделей ИИ.
Мы используем AWS Lambda, что позволяет нам обрабатывать тысячи параллельных запросов надежно и предлагать услугу в нескольких регионах по всему миру.
Возможности
- Автоматически обнаруживает и размывает автомобильные номера и лица на изображениях.
- Позволяет заменять автомобильные номера логотипом вашего проекта.
- По желанию изменяет размер, обрезает или конвертирует обработанные изображения.
- Поддерживает до 500 запросов в секунду.
- Обрабатывает изображения параллельно для ускорения работы.
- Максимальный поддерживаемый размер изображения: 6000x6000 пикселей.
Если вам требуется более высокая скорость обработки, поддержка изображений большего размера или увеличение предельного количества запросов, свяжитесь с нами по адресу api-support@watermarkly.com.
API также позволяет заменять автомобильные номера логотипом вашей компании.
Конечные точки API
Регионы
В настоящее время API доступен в двух регионах:
- Европа: https://blur-api-eu1.watermarkly.com/ (eu-north-1)
- США: https://blur-api-us1.watermarkly.com/ (us-east-2)
Вы можете использовать любой из этих конечных точек. Вторую точку можно использовать в качестве резервной в случае сбоя региона AWS.
Если вам нужен API в другом регионе, пожалуйста, свяжитесь с нами.
Методы запросов
Вы можете отправлять изображения на обработку с помощью GET или POST запросов.
Если ваши изображения находятся в открытом доступе, мы рекомендуем GET запросы, так как они немного быстрее, чем POST.
Размытие изображения с использованием GET-запроса (рекомендуется)
GET https://blur-api-eu1.watermarkly.com/blur/?url={image_url}
или
GET https://blur-api-us1.watermarkly.com/blur/?url={image_url}
Сервис загружает изображение по image_url
и обрабатывает его.
Запрос
- Метод: GET
- Параметры URL:
url
(Обязательно): Полный URL изображения для обработки.blur_intensity
(Необязательно): Число от 0.0 до 20.0, определяющее степень размытия. По умолчанию: 1.0. Значение 0.0 отключает размытие.file_size
(Необязательно): Указывает желаемый размер выходного файла в байтах.width
(Необязательно): Указывает желаемую ширину выходного изображения.height
(Необязательно): Указывает желаемую высоту выходного изображения.format
(Необязательно): Указывает формат выходного изображения (JPEG, PNG, WEBP).logo_url
(Необязательно): URL-адрес логотипа для замены автомобильных номеров.logo_size
(Необязательно): Указывает размер логотипа (от 0.1 до 1.0).plate_screws
(Необязательно): Добавляет болты к номерным знакам (работает только с logo_url).
Ответ
Успешный ответ: (HTTP Status: 200) Возвращает обработанное изображение в формате JPEG, PNG, WEBP.
Ошибка: (HTTP Status: 500, 403)
{
"message": "Ошибка обработки"
}
Размытие изображения с использованием POST-запроса
POST https://blur-api-eu1.watermarkly.com/blur/
или
POST https://blur-api-us1.watermarkly.com/blur/
Отправляет изображение на обработку.
Запрос
- Метод: POST
- Content-Type:
application/octet-stream
- Заголовки:
x-api-key
: Ваш API-ключ.
- Параметры запроса:
blur_intensity
,file_size
,width
,height
,format
,logo_url
,logo_size
,plate_screws
— такие же, как в GET.
Ответ
Успешный ответ: (HTTP Status: 200) Возвращает обработанное изображение в формате JPEG, PNG, WEBP.
Ошибка: (HTTP Status: 500, 403)
{
"message": "Ошибка обработки"
}
Детали обработки
- Обработанные изображения не сохраняются на серверах.
- Поддерживаемые форматы: JPEG, PNG, WEBP, AVIF, HEIC/HEIF.
- AVIF и HEIF автоматически конвертируются в JPEG, если не указан другой формат.
- Максимальный размер входного изображения:
- GET-запросы: 20MB или 6000x6000 пикселей.
- POST-запросы: 6MB или 6000x6000 пикселей.
- Ограничения API:
- 500 параллельных запросов
- 500 запросов в секунду
- 100 000 запросов в день
- Для увеличения лимитов свяжитесь с api-support@watermarkly.com.
Безопасность и конфиденциальность
- API-запросы требуют аутентификации с использованием API-ключа.
- Файлы клиентов не используются для обучения ИИ.
- Вся обработка выполняется в инфраструктуре AWS. Мы можем развернуть API в любом регионе по вашему запросу.
Примеры использования
Python
import requests
import urllib.parse
import time
API_KEY = 'your_api_key'
API_URL = 'https://blur-api-eu1.watermarkly.com/blur/'
input_path = 'input.jpg'
output_path = 'output.jpg'
with open(input_path, 'rb') as image_file:
response = requests.post(API_URL, headers={'x-api-key': API_KEY}, data=image_file)
if response.status_code == 429:
time.sleep(0.1)
response = requests.post(API_URL, headers={'x-api-key': API_KEY}, data=image_file)
with open(output_path, 'wb') as f:
f.write(response.content)
Node.js
import { promises as fs } from "fs";
const API_KEY = 'your_api_key';
const API_URL = 'https://blur-api-eu1.watermarkly.com/blur/';
(async () => {
const inputPath = 'input.jpg';
const outputPath = 'output.jpg';
const imageData = await fs.readFile(inputPath);
let response = await fetch(API_URL, {
method: 'POST',
headers: { 'x-api-key': API_KEY, 'Content-Type': 'application/octet-stream' },
body: imageData
});
await fs.writeFile(outputPath, Buffer.from(await response.arrayBuffer()));
})();