mirror of
https://github.com/snapotter-hq/SnapOtter.git
synced 2026-08-03 07:46:42 +02:00
Renames 18 ambiguous or hard-to-search tool names so image tools self-qualify like the other modalities ("Compress" becomes "Compress Image"), and cleans up a few awkward names. Propagated across search (constants.ts), display (en.ts + 20 locales), the OpenAPI base spec + 20 locale specs, and the docs tool-page headings in 21 languages. Removes the duplicate "Normalize Audio" summary shared by the video and audio endpoints. Tool ids and routes are unchanged, so no API paths or bookmarks break.
2.9 KiB
2.9 KiB
description, i18n_source_hash, i18n_provenance, i18n_output_hash
| description | i18n_source_hash | i18n_provenance | i18n_output_hash |
|---|---|---|---|
| Automatycznie wykrywaj i rozmywaj twarze na obrazach dzięki wykrywaniu twarzy AI, na potrzeby prywatności i anonimizacji zgodnej z RODO. | 314e3e16a422 | human | c2fb28beda96 |
Rozmyj twarze i dane osobowe
Automatycznie wykrywaj i rozmywaj twarze na obrazach za pomocą wykrywania twarzy wspomaganego przez AI (MediaPipe).
Punkt końcowy API
POST /api/v1/tools/image/blur-faces
Przetwarzanie: Asynchroniczne (zwraca 202, odpytuj /api/v1/jobs/{jobId}/progress o status przez SSE)
Pakiet modelu: face-detection (200-300 MB)
Parametry
| Parametr | Typ | Wymagany | Domyślnie | Opis |
|---|---|---|---|---|
| file | file | Tak | - | Plik obrazu (multipart) |
| blurRadius | number | Nie | 30 |
Promień rozmycia stosowany do wykrytych twarzy (1-100) |
| sensitivity | number | Nie | 0.5 |
Czułość wykrywania twarzy (0-1). Niższe wartości wykrywają mniej twarzy z wyższą pewnością |
Przykładowe żądanie
curl -X POST http://localhost:1349/api/v1/tools/image/blur-faces \
-F "file=@group-photo.jpg" \
-F 'settings={"blurRadius":40,"sensitivity":0.3}'
Odpowiedź
Odpowiedź początkowa (202 Accepted)
{
"jobId": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
"async": true
}
Postęp (SSE pod /api/v1/jobs/{jobId}/progress)
event: progress
data: {"phase":"processing","stage":"Detecting faces...","percent":40}
Wynik końcowy (przez SSE)
{
"phase": "complete",
"percent": 100,
"result": {
"jobId": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
"downloadUrl": "/api/v1/download/{jobId}/group-photo_blurred.jpg",
"originalSize": 450000,
"processedSize": 420000,
"facesDetected": 3,
"faces": [
{"x": 100, "y": 50, "w": 80, "h": 80},
{"x": 300, "y": 60, "w": 75, "h": 75},
{"x": 500, "y": 55, "w": 85, "h": 85}
]
}
}
Nie wykryto twarzy
Jeśli nie znaleziono żadnych twarzy, wynik zawiera ostrzeżenie:
{
"phase": "complete",
"percent": 100,
"result": {
"facesDetected": 0,
"warning": "No faces detected in this image. Try increasing detection sensitivity."
}
}
Uwagi
- Wymaga zainstalowanego pakietu modelu
face-detection(200-300 MB). - Format wyjściowy automatycznie odpowiada formatowi wejściowemu.
- Tablica
faceszawiera współrzędne ramki ograniczającej (x, y, szerokość, wysokość) dla każdej wykrytej twarzy. - Zwiększ
sensitivity(bliżej 1.0), aby wykryć więcej twarzy, w tym częściowo zasłonięte. - Obsługuje formaty wejściowe HEIC/HEIF, RAW, TGA, PSD, EXR i HDR poprzez automatyczne dekodowanie.