Descrever imagem com IA
Capacidade de API que analisa uma imagem e devolve uma descrição detalhada em texto: o que aparece, onde, em que contexto. Serve para gerar descrições de acessibilidade, catalogar acervos de fotos e alimentar sistemas que precisam entender imagens sem um humano olhando 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.
O que a IA enxerga na sua imagem
O modelo de visão descreve a cena como um todo: pessoas e o que fazem, objetos e a disposição deles, ambiente, cores predominantes, texto visível. Não é uma lista seca de etiquetas — é um parágrafo que conta o que a foto mostra, do jeito que você contaria para alguém ao telefone. Quanto mais nítida e bem enquadrada a imagem, mais rica a descrição; fotos escuras ou tremidas rendem textos mais vagos.
Onde descrição automática faz diferença
Três frentes concentram o uso. Acessibilidade: pessoas cegas navegam com leitores de tela, e uma foto sem descrição é um buraco no conteúdo. Acervos: milhares de fotos sem legenda são impossíveis de buscar — descritas, viram texto pesquisável. Operação: sistemas que recebem fotos (vistorias, entregas, cadastros) podem registrar automaticamente o que cada imagem contém, criando trilha de auditoria sem digitação.
Como funciona a chamada
Você envia a imagem — até 15 MB e 12 megapixels — e a API processa de forma assíncrona: devolve um task_id na hora e o texto fica disponível em seguida. Dá para pedir a descrição em português, o que importa se ela vai direto para o site ou para o leitor de tela do usuário final. Em lote, o fluxo é o mesmo: um script percorre a pasta de fotos e grava as descrições no seu banco ou na sua planilha.
Preço e uma ressalva honesta
O custo é US$ 0,010 por chamada mais US$ 0,0575 por imagem — descrever 1.000 fotos sai por US$ 67,50, sem mensalidade. A ressalva: IA de visão erra. Ela pode confundir objetos parecidos ou deduzir contexto errado. Para acessibilidade e catalogação o ganho compensa com folga; para decisões sensíveis — perícia, laudo, prova — a descrição automática é apoio, nunca substituto de revisão humana.
Casos de uso
Acervo municipal finalmente pesquisável
Um arquivo público de Recife digitalizou 40 mil fotos históricas sem legenda. Descritas automaticamente, as imagens passaram a ser encontradas por busca de texto — “procissão na rua da Aurora” devolve as fotos certas.
Portal de notícias acessível
Uma redação de médio porte publica dezenas de fotos por dia e não tinha braço para descrever todas. O CMS chama a API na subida da imagem e o editor só revisa o texto sugerido antes de publicar.
Vistoria de entrega documentada
A Distribuidora Horizonte Verde recebe fotos dos motoristas na entrega. Cada foto ganha uma descrição automática no sistema — “paletes empilhados em doca coberta, embalagem íntegra” — que vira registro em caso de disputa.
Perguntas frequentes
A descrição vem em português?
Sim — você indica o idioma desejado e o texto vem pronto para uso no Brasil, sem aquele portunhol de tradução automática. Também dá para pedir em outros idiomas se o seu público for multilíngue.
Qual a diferença entre isso e OCR?
OCR extrai o texto escrito dentro da imagem; a descrição conta o que a imagem mostra. Se a foto é de uma nota fiscal, o OCR devolve os dados; se é da fachada da loja, a descrição diz que há uma fachada, com letreiro, em rua comercial.
Quanto custa descrever um acervo grande?
A conta é linear: US$ 0,0575 por imagem mais US$ 0,010 por chamada. Dez mil fotos custam US$ 675. Sem assinatura — você paga o lote, recebe os textos e pronto.
As fotos têm pessoas. Como fica a LGPD?
A descrição menciona que há pessoas e o que fazem, mas o serviço não identifica quem elas são nem cria perfil biométrico. As imagens são processadas para gerar o texto solicitado e não são reaproveitadas. Detalhes formais para o seu DPO, é só pedir.
A IA pode descrever errado?
Pode, e é bom assumir isso no desenho do fluxo: objetos parecidos se confundem, contextos se deduzem mal. Para catálogo e acessibilidade, revise por amostragem; para qualquer uso com consequência jurídica, revise tudo.
Tem tamanho máximo de imagem?
Até 15 MB e 12 megapixels por foto. Imagens de celular e escaneados comuns passam com folga; se o arquivo for maior, reduza antes de enviar — a descrição não precisa de resolução de impressão.
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/describe \
-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/describe", {
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/describe",
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/describe", 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/describe", 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.describe",
"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. |