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.8 KiB
2.8 KiB
description, i18n_source_hash, i18n_provenance, i18n_output_hash
| description | i18n_source_hash | i18n_provenance | i18n_output_hash |
|---|---|---|---|
| Deteksi dan buramkan wajah dalam gambar secara otomatis dengan deteksi wajah AI untuk privasi dan anonimisasi yang patuh GDPR. | 314e3e16a422 | human | a2d660c6993d |
Blur Wajah & Info Pribadi
Deteksi dan buramkan wajah dalam gambar secara otomatis menggunakan deteksi wajah bertenaga AI (MediaPipe).
API Endpoint
POST /api/v1/tools/image/blur-faces
Pemrosesan: Asinkron (mengembalikan 202, polling /api/v1/jobs/{jobId}/progress untuk status melalui SSE)
Bundel model: face-detection (200-300 MB)
Parameter
| Parameter | Tipe | Wajib | Bawaan | Deskripsi |
|---|---|---|---|---|
| file | file | Ya | - | Berkas gambar (multipart) |
| blurRadius | number | Tidak | 30 |
Radius blur yang diterapkan pada wajah yang terdeteksi (1-100) |
| sensitivity | number | Tidak | 0.5 |
Sensitivitas deteksi wajah (0-1). Nilai lebih rendah mendeteksi lebih sedikit wajah dengan keyakinan lebih tinggi |
Contoh Permintaan
curl -X POST http://localhost:1349/api/v1/tools/image/blur-faces \
-F "file=@group-photo.jpg" \
-F 'settings={"blurRadius":40,"sensitivity":0.3}'
Respons
Respons Awal (202 Accepted)
{
"jobId": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
"async": true
}
Progres (SSE di /api/v1/jobs/{jobId}/progress)
event: progress
data: {"phase":"processing","stage":"Detecting faces...","percent":40}
Hasil Akhir (melalui 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}
]
}
}
Tidak Ada Wajah Terdeteksi
Jika tidak ada wajah ditemukan, hasil menyertakan peringatan:
{
"phase": "complete",
"percent": 100,
"result": {
"facesDetected": 0,
"warning": "No faces detected in this image. Try increasing detection sensitivity."
}
}
Catatan
- Memerlukan bundel model
face-detectionuntuk dipasang (200-300 MB). - Format keluaran mengikuti format input secara otomatis.
- Larik
facesberisi koordinat kotak pembatas (x, y, width, height) untuk setiap wajah yang terdeteksi. - Naikkan
sensitivity(lebih dekat ke 1,0) untuk mendeteksi lebih banyak wajah, termasuk yang sebagian terhalang. - Mendukung format input HEIC/HEIF, RAW, TGA, PSD, EXR, dan HDR melalui dekode otomatis.