Desfocar rostos em fotos
Desfoque rostos em fotos de forma automática: a API detecta cada rosto na imagem e aplica o borrão, sem você marcar nada. A detecção serve só para anonimizar — ninguém é identificado e nenhum modelo biométrico é gerado ou guardado. Ideal para publicar fotos com pessoas que não autorizaram o uso de imagem.
Rode online
Rode nos nossos servidores com a sua conta. As ferramentas grátis rodam no seu navegador; esta aqui é descontada do seu saldo do KIT pelo preço acima.
Detecção que existe para apagar
Aqui a tecnologia de detectar rostos trabalha ao contrário do que se costuma temer: ela localiza cada rosto apenas para torná-lo irreconhecível. A política é explícita — não há identificação de pessoas, não há comparação com bancos de rostos e nenhum dado biométrico é criado ou armazenado. A imagem entra, os rostos saem borrados, e o que a API sabe sobre as pessoas da foto termina aí. É anonimização como fim, não reconhecimento como meio.
Quando você precisa disso
Sempre que uma foto com gente vai a público sem autorização de todo mundo que aparece: registro de evento corporativo, foto de rua para matéria ou material de marketing, imagem de sala de aula, registro de operação com clientes ao fundo. Pela LGPD, imagem que identifica alguém é dado pessoal — e a forma mais simples de tirar a foto dessa categoria é tornar os rostos irreconhecíveis antes de publicar. O desfoque automático resolve isso em escala, foto a foto ou no acervo inteiro.
Como funciona a chamada
Você envia a imagem, a API encontra todos os rostos e devolve o arquivo com cada um deles desfocado — dez pessoas na foto, dez borrões, mesma cobrança. O processamento é assíncrono: a tarefa retorna um task_id e o resultado sai em segundos. Arquivos de até 15 MB e 12 megapixels, nos formatos comuns de foto. Não é preciso marcar coordenadas nem revisar manualmente cada imagem.
Quanto custa anonimizar
US$ 0,010 por chamada mais US$ 0,0625 por imagem processada — as 80 fotos de um evento saem por cerca de US$ 5. O preço é maior que o de um ajuste simples de imagem porque cada foto passa por um modelo de visão que localiza os rostos antes do desfoque. Pagamento por uso, sem mensalidade, com o valor publicado nesta página.
Casos de uso
Fotos do evento da escola
A escola publica o álbum da festa junina no site, mas nem todos os responsáveis assinaram a autorização de imagem. As fotos passam pela API e as crianças sem autorização aparecem com o rosto desfocado — o álbum sai, o direito de cada família é respeitado.
Material de treinamento com a operação real
A Distribuidora Horizonte Verde fotografa o centro de distribuição para treinar novos funcionários. Antes de os slides circularem, todos os rostos — de equipe e de visitantes — são anonimizados de forma automática.
Cobertura de rua sem expor transeuntes
Um portal de notícias de Recife publica fotos do carnaval de rua. Quem é personagem da matéria autorizou; a multidão ao fundo, não — e vai desfocada, sem trabalho manual de edição.
Perguntas frequentes
O sistema identifica quem está na foto?
Não. A detecção localiza rostos apenas para aplicar o desfoque: não há reconhecimento de pessoas nem geração de modelo biométrico — é política do serviço, não só configuração.
E se houver vários rostos na mesma imagem?
Todos são detectados e desfocados na mesma passada. A cobrança é por imagem, não por rosto.
Isso resolve minha obrigação com a LGPD?
Anonimizar rostos remove o principal identificador da foto e é uma medida concreta de conformidade. A análise completa do seu tratamento de dados, porém, cabe a você ou ao seu jurídico.
Quanto custa por foto?
US$ 0,0625 por imagem, mais US$ 0,010 por chamada. Sem plano: você paga pelas fotos que processar.
Algum dado dos rostos detectados fica guardado?
Nenhum. A posição dos rostos é usada na hora, para o desfoque, e descartada com a conclusão da tarefa.
Foto tirada de celular funciona bem?
Sim — o limite de 15 MB e 12 megapixels acomoda qualquer foto de celular atual, mesmo com muita gente no quadro.
Para desenvolvedores — acesso via API
Tudo nesta página está disponível via API. Esta seção é para equipes que querem integrar a ferramenta aos próprios sistemas; quem não precisa disso pode simplesmente usar a ferramenta acima.
Endpoint
Autenticação por token Bearer. Um único POST coloca a tarefa na fila; o resultado chega por webhook ou link assinado.
Chame do seu código
curl -X POST https://api.kit.forhosting.com/image/blur-faces \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"image":"https://ejemplo.com/imagen.jpg"}'const res = await fetch("https://api.kit.forhosting.com/image/blur-faces", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"image": "https://ejemplo.com/imagen.jpg"
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/image/blur-faces",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"image": "https://ejemplo.com/imagen.jpg"
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/image/blur-faces", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"image":"https://ejemplo.com/imagen.jpg"}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"image":"https://ejemplo.com/imagen.jpg"}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/image/blur-faces", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)Exemplo de requisição
{
"image": "https://ejemplo.com/imagen.jpg"
}Exemplo de resposta
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "image.blur_faces",
"status": "queued",
"_links": {
"result": "/tasks/tsk_…/result"
}
}A API é assíncrona: cada chamada devolve um task_id na hora. Se preferir polling, consulte o status a até 1 requisição por segundo.
Preço
Preço publicado, sem tokens nem créditos escondidos. Tarefa que falha não é cobrada.
Limites
max_mb | 15 |
max_megapixels | 12 |
Erros
| HTTP | Código | O que significa |
|---|---|---|
401 | unauthorized | Token ausente ou inválido. Confira o header Authorization. |
402 | insufficient_balance | Saldo insuficiente para esta tarefa. Faça uma recarga e tente de novo. |
404 | unknown_type | Esse tipo de tarefa não existe. Confira o campo type no catálogo. |
429 | rate_limited | Muitas requisições em pouco tempo. Espere um instante e tente de novo. |
422 | task_failed | A tarefa falhou do nosso lado. Você não paga nada por ela. |