Qualidade de imagem
Capacidade de API que avalia a qualidade técnica de uma foto — nitidez, iluminação, enquadramento — e devolve um parecer estruturado. Serve para filtrar automaticamente o que entra no seu catálogo, exigir foto decente em cadastros e escolher as melhores imagens de um lote sem abrir uma por uma.
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.
Foto ruim custa caro em silêncio
Ninguém reclama da foto tremida do anúncio — as pessoas só passam direto. Em marketplace, em cardápio de delivery, em anúncio de imóvel, a qualidade da imagem decide o clique antes de qualquer texto. O problema é que quem publica raramente percebe: a foto que parecia boa na tela do celular chega escura, desfocada ou cortada. Uma avaliação automática na entrada permite devolver o problema na hora — “essa foto está escura, tente de novo perto da janela” — em vez de publicar e vender menos.
O que entra na avaliação
O parecer cobre os fatores técnicos que um fotógrafo checaria primeiro: a imagem está em foco ou tremida? A exposição está adequada ou há áreas estouradas e sombras fechadas? O assunto principal está enquadrado ou cortado nas bordas? A resolução aguenta o uso pretendido? O retorno chega estruturado, para o seu sistema aplicar o critério — aceitar, pedir nova foto ou mandar para escolha humana.
Em beta: use com conferência
Esta capacidade está em beta. Na prática: funciona e é cobrada pelo preço publicado, mas os critérios do parecer ainda estão sendo calibrados e podem mudar. A recomendação para já: use a avaliação para ordenar e sinalizar — não para rejeitar automaticamente sem apelação. Rode um lote de fotos suas, compare com o olho da sua equipe e ajuste o corte. Seu retorno sobre os erros, aliás, encurta o beta.
Preço para triar um catálogo
US$ 0,010 por chamada mais US$ 0,0575 por imagem avaliada. Triar as 4.000 fotos de um catálogo custa US$ 270 — de uma vez, sem assinatura. Para fluxo contínuo, a conta segue o movimento: 500 cadastros com foto por mês são US$ 33,75 mensais.
Casos de uso
Delivery com cardápio apetitoso
Uma plataforma de delivery recebe fotos dos pratos direto dos restaurantes. A avaliação barra as imagens escuras e tremidas na hora do cadastro, com orientação para refazer — e o cardápio publicado para de espantar cliente.
Imobiliária escolhendo as melhores do lote
O corretor sobe 40 fotos do apartamento; o site só precisa de 15. A avaliação ordena o lote por qualidade técnica e sugere as melhores de cada cômodo, e o anúncio monta em minutos em vez de meia hora.
Marketplace exigindo foto real decente
A operação da Distribuidora Horizonte Verde com revendedores exige foto própria do produto. A avaliação detecta as fotos sem condição de publicação e devolve o cadastro com o motivo, antes de ir para revisão humana.
Perguntas frequentes
A avaliação dá uma nota tipo 0 a 10?
O retorno é um parecer estruturado sobre nitidez, exposição e enquadramento, pensado para virar regra no seu sistema. Como a capacidade está em beta, o formato exato ainda pode ser refinado — desenhe sua integração tolerante a isso.
Beta quer dizer que pode dar errado?
Quer dizer que os critérios ainda estão em calibração e o contrato de resposta pode evoluir. A cobrança é a definitiva e o serviço opera normalmente; só não recomendamos, por ora, rejeição automática sem revisão.
Posso reprovar cadastros automaticamente com base no parecer?
Tecnicamente sim, mas o desenho prudente durante o beta é sinalizar e ordenar, deixando a reprovação final com uma pessoa ou com o próprio usuário refazendo a foto. Automatize o corte quando os seus testes mostrarem concordância estável.
Avaliar qualidade é o mesmo que moderar conteúdo?
Não — aqui o assunto é técnica fotográfica: foco, luz, enquadramento. Conteúdo impróprio é problema de moderação, que é outra capacidade. Muitos fluxos de upload usam as duas em sequência.
Qual o custo para uso contínuo?
Por uso, sem plano: US$ 0,0575 por foto mais US$ 0,010 por chamada. Mil fotos avaliadas, US$ 67,50. O beta não tem preço promocional escondido — o valor publicado é o cobrado.
As fotos avaliadas são guardadas para treinar o modelo?
As imagens são processadas para gerar o parecer solicitado; não são publicadas nem cedidas. Se a sua empresa precisa da descrição formal do tratamento para fins de LGPD, é só pedir por e-mail.
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/quality \
-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/quality", {
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/quality",
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/quality", 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/quality", 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.quality",
"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. |