Alt text automático
Serviço de API que gera legendas curtas para imagens — o texto alternativo que leitores de tela leem e que o Google Imagens indexa. Em vez de escrever o alt de centenas de fotos uma a uma, você envia as imagens e recebe frases objetivas, prontas para revisar e publicar.
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.
Acessibilidade não é detalhe técnico
Para quem navega com leitor de tela, uma imagem sem texto alternativo simplesmente não existe — o software anuncia “imagem” e segue em frente. Num e-commerce, isso significa produto invisível; num portal, notícia pela metade. A legislação brasileira de acessibilidade já alcança sites de empresas, e o alt vazio é o problema mais comum e mais barato de corrigir. O gargalo nunca foi saber disso: é ter braço para escrever milhares de legendas.
Legenda curta é um formato próprio
O bom alt não é um parágrafo — é uma frase que diz o essencial: “tênis de corrida azul com sola branca, visto de lado”. Esta capacidade foi ajustada para esse formato: frases enxutas, sem “imagem de” redundante, sem floreio. Se você precisa de um texto longo contando a cena inteira, o que procura é descrição detalhada, não legenda — são ferramentas para problemas diferentes.
Do CMS para a API e de volta
O fluxo típico: um script lista as imagens sem alt no seu WordPress, WooCommerce ou CMS próprio, envia cada uma para a API e grava a legenda devolvida no campo certo. O processamento é assíncrono — você manda o lote, acompanha pelos task_id e recebe tudo pronto. Recomendação de quem já fez isso: revise por amostragem antes de gravar em massa, e revise item a item nas páginas mais importantes.
Quanto custa preencher o site inteiro
US$ 0,010 por chamada mais US$ 0,0575 por imagem. Um site com 500 fotos sem alt fica pronto por US$ 33,75 — pagamento único, sem plano. Compare com a alternativa: um redator gastando dois minutos por legenda levaria quase 17 horas. O preço é publicado nesta página e não muda conforme o tamanho do cliente.
Casos de uso
Loja com 2.000 produtos sem alt
Uma loja de autopeças de Porto Alegre migrou de plataforma e perdeu os textos alternativos. O desenvolvedor rodou o catálogo inteiro pela API num sábado de manhã e a equipe revisou as categorias principais na segunda.
Blog de receitas que vive do Google Imagens
Juliana Nascimento mantém um blog de confeitaria com dez fotos por post. As legendas geradas descrevem o prato e o momento do preparo, e cada imagem publicada já sai indexável — sem depender da memória dela.
Site institucional em conformidade
A TecnoSul Soluções Digitais precisou adequar o site de um cliente a requisitos de acessibilidade em edital. As 300 imagens do portal ganharam alt revisado em um dia de trabalho, com a IA fazendo o rascunho e uma pessoa aprovando.
Perguntas frequentes
Qual o tamanho ideal de um texto alternativo?
Uma frase — em geral menos de 125 caracteres, porque alguns leitores de tela pausam a leitura por aí. As legendas geradas seguem esse formato enxuto, direto ao ponto.
Alt text ajuda no SEO ou é só acessibilidade?
As duas coisas. O propósito primeiro é acessibilidade, mas o Google usa o alt para entender e ranquear imagens na busca. Um catálogo com legendas descritivas tende a aparecer mais no Google Imagens — sem truque, só informação.
Posso revisar as legendas antes de publicar?
Pode e deve: a API devolve o texto para o seu sistema, e você decide o que grava. O desenho recomendado é IA rascunha, humano aprova — pelo menos nas páginas de maior tráfego.
Como é a cobrança para um lote grande?
Sempre por uso: US$ 0,0575 por imagem legendada, mais US$ 0,010 por chamada. Dez mil imagens saem por US$ 675, pagos uma vez — não existe assinatura nem franquia mínima.
As fotos dos meus produtos ficam retidas por vocês?
São usadas para gerar a legenda pedida e nada além disso — não abastecem banco de imagens nem vão para terceiros. Se o seu jurídico precisa disso por escrito para a LGPD, mande um e-mail que a gente formaliza.
Funciona bem com foto de produto em fundo branco?
É um dos melhores cenários: objeto claro, sem ruído de fundo, rende legendas precisas sobre tipo, cor e ângulo do produto. Fotos de ambiente com muitos elementos pedem revisão mais atenta.
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/caption \
-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/caption", {
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/caption",
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/caption", 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/caption", 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.caption",
"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. |