Borrar parte de uma foto
Desfoque uma região exata de qualquer imagem via API: você indica as coordenadas — o trecho do CPF no comprovante, o endereço no print, o dado sigiloso no documento — e recebe a foto com aquela área ilegível, sem alterar o resto da 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.
Print de comprovante é documento
No Brasil, comprovante circula por WhatsApp o dia inteiro: pagamento feito, Pix recebido, boleto quitado. Só que o print carrega mais do que a confirmação — CPF, agência, conta, saldo, endereço. Encaminhar isso para um grupo é entregar dado pessoal de bandeja. Borrar a região sensível antes de enviar mantém a prova do pagamento e apaga o que não é da conta de ninguém. O mesmo vale para prints de tela de sistema, contratos fotografados e documentos digitalizados.
Você decide exatamente o que some
Diferente de um desfoque automático, aqui quem manda é você: a chamada leva as coordenadas da região — ou de várias regiões na mesma imagem — e só ali o borrão é aplicado. O resto da foto permanece intacto, nítido e utilizável. Isso importa quando o contexto precisa continuar legível: o comprovante mostra o valor e a data, mas esconde a conta; o print mostra o erro do sistema, mas apaga o e-mail do cliente.
Borrão de verdade, não adesivo
O desfoque substitui os pixels da região: no arquivo gerado, a informação original deixa de existir. É diferente de rabiscar com a caneta semitransparente de editor de celular — truque que já expôs muita gente, porque ajustando brilho o texto reaparece. Aqui não há camada para remover nem ajuste que recupere o conteúdo. Guarde o original em local seguro e compartilhe apenas a versão borrada.
Preço e limites técnicos
US$ 0,002 por chamada mais US$ 0,005 por imagem processada — anonimizar cem documentos custa cerca de US$ 0,50. Arquivos de até 15 MB e 12 megapixels, nos formatos comuns de foto. A execução é assíncrona: você envia a imagem com as coordenadas, recebe um task_id e coleta o resultado em segundos, pronto para integrar em fluxos de atendimento, jurídico ou financeiro.
Casos de uso
Comprovante Pix no grupo da família
Ana Paula Ferreira dividiu a conta do jantar e precisa provar o pagamento no grupo. Antes de mandar o print, borra o saldo e o CPF — o comprovante continua valendo, os dados dela ficam fora da roda.
Print de erro sem expor o cliente
O suporte da TecnoSul anexa prints de tela ao chamado técnico. O fluxo borra a região do e-mail e do telefone do cliente antes de o print sair da empresa — o bug fica visível, o dado pessoal não.
Caso de sucesso com documento real
Uma contabilidade de Porto Alegre publica um material mostrando uma nota fiscal de cliente como exemplo. CNPJ e endereço saem borrados da imagem publicada, em linha com o dever de cuidado da LGPD.
Perguntas frequentes
Como eu indico qual parte da foto borrar?
Passando as coordenadas da região na chamada — posição e tamanho do retângulo sobre a imagem. O desfoque cai só ali.
Dá para borrar mais de uma área na mesma imagem?
Dá: a mesma chamada aceita várias regiões, útil quando o documento tem CPF em um canto e endereço em outro.
O borrão pode ser desfeito por alguém?
Não. Os pixels da região são substituídos no arquivo gerado — não existe camada escondida nem filtro reverso que recupere o conteúdo.
Isso me ajuda com a LGPD?
Ajuda como medida prática: anonimizar dado pessoal em imagem antes de compartilhar é exatamente o tipo de cuidado que a lei espera. A avaliação jurídica do seu caso continua sendo sua.
Qual o custo por foto processada?
US$ 0,005 por imagem mais US$ 0,002 por chamada, pagos por uso. Sem mensalidade e sem surpresa.
Vocês leem o conteúdo das imagens?
A tarefa apenas aplica o desfoque na região que você indicou e devolve o arquivo. Não há leitura nem extração do que está escrito na foto.
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-region \
-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-region", {
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-region",
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-region", 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-region", 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_region",
"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. |