Redimensionar imagem
O redimensionamento de imagem via API recebe seu arquivo, ajusta para a largura e a altura que você definir e devolve o resultado pronto para publicar. Serve para quem precisa padronizar fotos de produto, avatares e banners dentro de um sistema, sem abrir editor nem depender de trabalho manual.
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.
Como funciona o redimensionamento
Você manda a imagem e as dimensões desejadas em uma chamada de API; a resposta traz a imagem já no novo tamanho. Dá para definir só a largura — a altura acompanha a proporção —, só a altura ou as duas. O processamento é assíncrono: a chamada devolve um task_id e você consulta o resultado quando estiver pronto, o que funciona bem para filas com muitas imagens e evita travar o seu sistema esperando resposta.
Ampliar ou reduzir sem distorcer
Reduzir é sempre seguro: a imagem perde pixels, não qualidade visível. Ampliar tem limite físico — esticar uma foto de 400 px para 2000 px deixa tudo borrado, porque não existe informação nova para preencher. A regra prática é gerar as versões menores a partir do maior arquivo que você tiver. E quando as duas dimensões são obrigatórias mas a proporção não bate, você escolhe o comportamento: encaixar dentro da moldura, preencher cortando as bordas ou forçar o tamanho exato.
Formatos, peso e resolução aceitos
Entram os formatos comuns de foto e de web — JPG, PNG, WebP e outros —, com até 15 MB e 12 megapixels por arquivo. É espaço de sobra para fotos de celular e material de banco de imagens. Por padrão, a saída mantém o formato da entrada; se você também precisa trocar JPG por WebP, por exemplo, existe uma capacidade própria de conversão de formato que entra na sequência do mesmo fluxo.
Quanto custa
O preço é publicado e por uso: US$ 0,002 por chamada mais US$ 0,005 por imagem processada. Redimensionar mil fotos de produto, uma por chamada, custa US$ 7 — sem mensalidade, sem plano mínimo e sem cadastro, porque a compra é direta. Quem processa volume todo mês paga da mesma forma: só o que usar, com o preço publicado na página, e não escondido em contrato.
Casos de uso
Padronizar fotos de produto para o marketplace
Ana Paula Ferreira fotografa as peças da loja com o celular, e cada foto sai de um jeito. Antes de subir o anúncio, o sistema redimensiona tudo para 1200 × 1200 — o quadrado que o Mercado Livre exibe melhor — sem abrir editor foto por foto.
Foto de perfil no app, sempre leve
O app que a TecnoSul Soluções Digitais ME mantém para um cliente recebe fotos de perfil de todo tamanho. No upload, o backend chama o redimensionamento e salva só a versão 256 × 256: o servidor nunca precisa armazenar a foto original de 8 MB.
Catálogo com milhares de itens
A Distribuidora Horizonte Verde S.A. recebe fotos dos fornecedores em tamanhos variados. Um fluxo noturno redimensiona as novidades para o padrão do catálogo, e o site amanhece com todas as imagens alinhadas.
E-mail marketing que abre rápido
A newsletter de Juliana Nascimento quebrava no celular porque as fotos vinham com 4000 px de largura. Agora cada imagem passa pelo redimensionamento antes de entrar no modelo, e o e-mail ficou leve até no 4G.
Perguntas frequentes
Se eu mandar só a largura, o que acontece com a altura?
Ela é calculada automaticamente para manter a proporção original. Você só precisa informar as duas dimensões quando quer um tamanho fechado — e aí escolhe se a imagem se encaixa, preenche cortando as bordas ou assume a medida exata.
Dá para aumentar uma foto pequena sem ficar borrada?
Redimensionar para cima só estica os pixels que já existem, então uma ampliação grande perde nitidez. Para reconstruir detalhe com IA existe uma capacidade separada de upscale; esta aqui é a ferramenta certa para reduzir ou ajustar dimensões.
Quanto custa e como funciona a cobrança?
US$ 0,002 por chamada mais US$ 0,005 por imagem processada, pagos por uso. Não tem mensalidade nem valor mínimo: você compra o que vai usar, direto, sem criar conta.
Minhas fotos ficam salvas em algum servidor?
A imagem sobe, é processada e o resultado fica disponível para você baixar pela tarefa. Ela não é publicada nem reaproveitada para outro fim — um ponto que pesa na LGPD quando as fotos mostram clientes ou funcionários.
Qual o tamanho máximo de arquivo?
Até 15 MB e 12 megapixels por imagem, o que cobre com folga fotos de celular e a maior parte do material de estúdio.
Preciso criar conta para usar?
Não. Não existe cadastro nem saldo pré-pago: a compra é direta. Se surgir dúvida de integração, uma pessoa de verdade responde — em espanhol ou inglês, mas pode escrever em português que a gente se entende.
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/resize \
-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/resize", {
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/resize",
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/resize", 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/resize", 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.resize",
"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. |