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 |
|---|---|---|---|
| Detecte e desfoque rostos em imagens automaticamente com detecção de rostos por IA para privacidade e anonimização em conformidade com o GDPR. | 314e3e16a422 | human | 62a67ea12e80 |
Desfocar Rostos e Dados Sensíveis
Detecte e desfoque rostos em imagens automaticamente usando detecção de rostos por IA (MediaPipe).
API Endpoint
POST /api/v1/tools/image/blur-faces
Processamento: Assíncrono (retorna 202, consulte /api/v1/jobs/{jobId}/progress para o status via SSE)
Pacote de modelo: face-detection (200-300 MB)
Parâmetros
| Parâmetro | Tipo | Obrigatório | Padrão | Descrição |
|---|---|---|---|---|
| file | file | Sim | - | Arquivo de imagem (multipart) |
| blurRadius | number | Não | 30 |
Raio de desfoque aplicado aos rostos detectados (1-100) |
| sensitivity | number | Não | 0.5 |
Sensibilidade da detecção de rostos (0-1). Valores mais baixos detectam menos rostos com maior confiança |
Exemplo de Requisição
curl -X POST http://localhost:1349/api/v1/tools/image/blur-faces \
-F "file=@group-photo.jpg" \
-F 'settings={"blurRadius":40,"sensitivity":0.3}'
Resposta
Resposta Inicial (202 Accepted)
{
"jobId": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
"async": true
}
Progresso (SSE em /api/v1/jobs/{jobId}/progress)
event: progress
data: {"phase":"processing","stage":"Detecting faces...","percent":40}
Resultado Final (via 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}
]
}
}
Nenhum Rosto Detectado
Se nenhum rosto for encontrado, o resultado inclui um aviso:
{
"phase": "complete",
"percent": 100,
"result": {
"facesDetected": 0,
"warning": "No faces detected in this image. Try increasing detection sensitivity."
}
}
Observações
- Requer que o pacote de modelo
face-detectionesteja instalado (200-300 MB). - O formato de saída corresponde automaticamente ao formato de entrada.
- O array
facescontém as coordenadas da caixa delimitadora (x, y, largura, altura) para cada rosto detectado. - Aumente
sensitivity(mais próximo de 1.0) para detectar mais rostos, incluindo os parcialmente ocultos. - Suporta os formatos de entrada HEIC/HEIF, RAW, TGA, PSD, EXR e HDR por meio de decodificação automática.