Miniaturas de imagem
Envie uma foto com a largura e a altura que você precisa e receba a miniatura exatamente nessas medidas, quadrada ou retangular, para que uma grade de cinquenta anúncios carregue sem imagens em tamanho cheio. Você paga por uso, sem assinatura.
Esta tarefa não está disponível no momento, portanto não pode ser contratada. Nada é cobrado por ela.
Ver a APIVocê define a medida uma vez e todo upload novo sai padronizado, sem editor de imagem e sem depender de ninguém redimensionar foto por foto.
Por que encolher com CSS não resolve
Quando a página exibe a foto original “encolhida” pelo navegador, o usuário baixa os megabytes inteiros para ver um quadradinho de 150 px. Em uma listagem com 40 itens, isso vira dezenas de megabytes num celular com 4G oscilando. A miniatura de verdade é outro arquivo, gerado no tamanho de exibição: a lista carrega em uma fração do peso e o servidor gasta menos banda todos os dias.
Medida, corte e nitidez
Você escolhe a dimensão final — 150 × 150 para a lista, 320 × 180 para o card — e como a foto se acomoda nela: encaixada inteira ou preenchendo o quadro com corte nas bordas. A redução é feita com reamostragem adequada, então a miniatura sai nítida, sem o serrilhado típico de reduções malfeitas. Entram JPG, PNG e WebP de até 15 MB e 12 megapixels por arquivo.
O custo de padronizar tudo
Não existe assinatura nem valor mínimo: a cobrança acompanha exatamente o que você processar. Para catálogos que crescem devagar, o gasto mensal costuma caber em centavos.
Casos de uso
Listagem de produtos que abre rápido no celular
A loja de autopeças de Thiago Barbosa Lima, em Porto Alegre, exibia a foto original em cada item da busca. Com miniaturas de 200 px geradas no upload, a página de resultados ficou leve o bastante para o cliente navegar no 4G da oficina.
Galeria de comprovantes no sistema interno
O sistema financeiro que a TecnoSul Soluções Digitais ME mantém guarda fotos de comprovantes. A tela de conferência mostra miniaturas; o arquivo grande só abre quando o analista clica — e a auditoria do mês passou carregando na hora.
Portal de notícias com capa padronizada
A redação de um portal em Belo Horizonte recebe fotos de agências em tamanhos variados. Cada imagem ganha automaticamente a miniatura do card da home, e a diagramação nunca mais quebrou por foto fora de medida.
Acervo antigo colocado em ordem
Juliana Nascimento herdou um site com oito anos de uploads sem padrão. Um script percorreu o acervo em uma noite e gerou thumbnails de tudo, sem tirar o site do ar.
Perguntas frequentes
Qual tamanho de miniatura devo pedir?
O tamanho em que ela será exibida — ou o dobro, se quiser nitidez em telas de alta densidade. Para uma lista que mostra 150 px, gerar em 300 px é um bom equilíbrio entre nitidez e peso.
A miniatura substitui o arquivo original?
Não. Ela é um arquivo novo, devolvido pela tarefa; o original continua sob sua guarda. A prática comum é armazenar os dois e servir cada um no contexto certo.
Consigo gerar miniatura de PDF ou de vídeo por aqui?
Esta capacidade trabalha com imagem. Miniaturas de PDF e de vídeo existem como capacidades próprias no catálogo, cada uma com seu preço publicado.
Quanto pesa no bolso um acervo de 10.000 fotos?
Depois disso você paga só pelos uploads novos, por uso, sem plano.
Preciso me cadastrar antes de integrar?
Não tem cadastro nem conta: a compra é direta e o preço está publicado. Dúvida de integração? Uma pessoa de verdade atende, em espanhol ou inglês — e entende bem quem escreve em português.
Ferramentas relacionadas
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
Um POST autenticado cria a tarefa; o resultado chega por webhook ou por um link assinado. Esta capacidade está disponível pela API, não como ferramenta web interativa.
Chame do seu código
curl -X POST https://api.kit.forhosting.com/image/thumbnail \
-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/thumbnail", {
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/thumbnail",
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/thumbnail", 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/thumbnail", 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.thumbnail",
"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. |
Notas técnicas
A geração de miniaturas cria versões pequenas e leves das suas imagens — os thumbnails de listas, galerias e resultados de busca — direto pela API.
No upload ou no acervo inteiro
Também funciona para acervos antigos — um script percorre as imagens já existentes e cria os thumbnails que faltam, sem parar o site nem exigir nenhuma migração. O uso mais comum é gerar a miniatura na hora do upload: o arquivo chega, a chamada assíncrona devolve um task_id e, quando a tarefa conclui, seu sistema grava a versão pequena ao lado da original.
O custo de padronizar tudo
US$ 0,002 por chamada mais US$ 0,005 por imagem processada. Gerar miniaturas para um acervo de 10.000 fotos, uma por chamada, custa US$ 70 — uma vez só, porque daí em diante você processa apenas os uploads novos.
Perguntas técnicas
O que acontece com as imagens depois do processamento?
Ficam disponíveis para você baixar pelo task_id da tarefa e não são reaproveitadas para nenhum outro fim — nem treino, nem publicação. Bom para dormir tranquilo com a LGPD.