Comprima imagens por qualidade e estime a redução
Comprimir imagem por qualidade estima quanto um arquivo pode diminuir quando é exportado com a porcentagem de qualidade escolhida.
Executar grátis
Selecione JPEG, PNG, WebP ou AVIF e informe um número inteiro de 1 a 100. A calculadora retorna o tamanho estimado em relação a uma exportação com qualidade 100 no mesmo formato e a porcentagem correspondente de redução. Ela não precisa da imagem, das dimensões nem do tamanho original em bytes. Assim, é útil para planejamento e comparações rápidas, enquanto a confiança claramente indicada como aproximada representa a variação real provocada pelo conteúdo e pelas configurações do codificador.
Interprete o resultado como uma estimativa relativa
Escolha o formato que você pretende exportar e informe o valor de qualidade que será enviado ao codificador. O resultado usa como referência uma exportação com qualidade 100 no mesmo formato, representada como 100 por cento do tamanho relativo. Se a calculadora mostrar tamanho relativo de 63 por cento e redução estimada de 37 por cento, isso significa que o modelo considera a exportação de menor qualidade aproximadamente 63 por cento tão grande quanto a versão com qualidade 100. Não significa que a saída ocupará 63 por cento dos bytes do arquivo atual, pois ele pode usar outro formato, dimensões, codificador, perfil de metadados ou ajuste de qualidade. O campo de qualidade de referência deixa essa comparação explícita. Portanto, a qualidade 100 não apresenta redução estimada. Valores de 1 a 99 seguem uma curva suave específica de cada formato. Use a porcentagem como indicador rápido de orçamento ou comparação e multiplique-a por um tamanho conhecido na qualidade 100 somente quando as duas exportações utilizarem as mesmas demais configurações.
Entenda por que cada formato tem uma curva diferente
Os controles de qualidade não se convertem diretamente em porcentagens de bytes. Os codificadores JPEG, WebP e AVIF descartam informações de formas diferentes, e suas escalas numéricas de qualidade não são intercambiáveis. Esta calculadora representa esses formatos com perdas por curvas não lineares separadas e pequenos limites mínimos de tamanho específicos. AVIF e WebP são modelados com maior redução à medida que a qualidade diminui, enquanto JPEG segue uma curva um pouco mais moderada. PNG funciona de outra maneira porque o formato padrão não tem perdas e muitos aplicativos usam um controle semelhante à qualidade para escolher o esforço de compressão, reduzir a paleta ou aplicar uma otimização própria. Seu modelo é deliberadamente conservador e mantém um limite mínimo bem mais alto, para que diminuir a qualidade de PNG não finja o mesmo comportamento de JPEG. Essas curvas são premissas determinísticas de planejamento, não medições de um codificador específico. As mesmas entradas sempre produzem a mesma saída, facilitando o uso em interfaces, planilhas, testes e planejamento inicial. Para saber a quantidade definitiva de bytes, codifique os pixels reais com a biblioteca exata de produção e meça o arquivo gerado.
Use estimativas de qualidade sem prometer demais
A complexidade da imagem é a principal variável ausente em uma estimativa com apenas dois campos. Um logotipo plano, um retrato com fundo desfocado e uma paisagem com ruído podem gerar tamanhos muito diferentes mesmo com formato e qualidade iguais. Subamostragem de cores, transparência alfa, animação, perfis de cor, metadados, versões do codificador, ajustes de velocidade e opções sem perdas também alteram o resultado. Considere a redução retornada como ponto de partida para escolher uma configuração, e não como garantia de tamanho de upload ou de custo de transferência. Ela funciona bem ao comparar vários valores de qualidade em um fluxo de exportação consistente, definir um valor inicial antes de um ciclo de codificação medido ou explicar a direção e a escala prováveis de uma mudança. Quando um serviço impuser um limite rigoroso de bytes, codifique uma vez, verifique o tamanho real e ajuste a qualidade com uma busca limitada. Rejeitar valores de qualidade fora do intervalo de 1 a 100 também evita extrapolações além do modelo, onde uma porcentagem aparentemente plausível não teria interpretação útil.
Casos de uso
Planeje um orçamento para imagens web
Estime a economia relativa de uma qualidade proposta antes de produzir um conjunto completo de imagens responsivas.
Compare configurações de exportação
Avalie várias porcentagens de qualidade de um formato e escolha um ponto inicial adequado para codificações de teste medidas.
Inicialize um codificador automatizado
Use a estimativa para iniciar uma busca limitada de compressão perto do objetivo provável, sem começar às cegas.
Perguntas frequentes
Qual é a referência de tamanho do arquivo?
A referência é uma exportação da mesma imagem e do mesmo formato com qualidade 100, representada como 100 por cento do tamanho relativo.
O resultado prevê uma quantidade exata de bytes?
Não. É uma estimativa relativa aproximada, pois pixels, dimensões, metadados e configurações do codificador não são informados.
Por que a redução de PNG é mais conservadora?
PNG costuma ser um formato sem perdas; portanto, um ajuste semelhante à qualidade geralmente altera o esforço de compressão ou o tratamento da paleta, em vez de agir como a qualidade com perdas de JPEG.
O que acontece se a qualidade for zero ou superior a 100?
A solicitação falha com um erro de entrada inválida. A qualidade deve ser um número inteiro de 1 a 100.
Quanto custa uma solicitação de API?
Cada solicitação de API custa US$ 0,002.
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/compress-quality \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"format":"jpeg","quality":75}'const res = await fetch("https://api.kit.forhosting.com/image/compress-quality", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"format": "jpeg",
"quality": 75
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/image/compress-quality",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"format": "jpeg",
"quality": 75
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/image/compress-quality", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"format":"jpeg","quality":75}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"format":"jpeg","quality":75}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/image/compress-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
{
"format": "jpeg",
"quality": 75
}Exemplo de resposta
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "image.compress_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. |