Comprima imágenes por calidad y estime la reducción
Comprimir imágenes por calidad estima cuánto puede reducirse un archivo al exportarlo con un porcentaje de calidad elegido.
Ejecutar — gratis
Seleccione JPEG, PNG, WebP o AVIF e indique un entero entre 1 y 100. La calculadora devuelve el tamaño estimado respecto de una exportación con calidad 100 en el mismo formato y el porcentaje de reducción correspondiente. No necesita la imagen, sus dimensiones ni su tamaño original en bytes. Por eso resulta útil para planificar y comparar con rapidez, mientras que la confianza indicada como aproximada refleja la variación real causada por el contenido y la configuración del codificador.
Interprete el resultado como una estimación relativa
Elija el formato de exportación previsto e introduzca el valor de calidad que proporcionará al codificador. El resultado toma como referencia una exportación con calidad 100 en ese mismo formato, representada como un tamaño relativo del 100 por ciento. Si la calculadora muestra un tamaño relativo del 63 por ciento y una reducción estimada del 37 por ciento, significa que el modelo considera que la exportación de menor calidad tendrá aproximadamente el 63 por ciento del tamaño de la versión con calidad 100. No significa que el resultado ocupará el 63 por ciento de los bytes del archivo actual, pues este podría usar otro formato, dimensiones, codificador, perfil de metadatos o ajuste de calidad. El campo de calidad de referencia aclara esta comparación. Por tanto, una calidad de 100 no produce reducción estimada. Los valores del 1 al 99 siguen una curva suave propia de cada formato. Use el porcentaje como señal rápida para presupuestos o comparaciones y multiplíquelo por un tamaño conocido con calidad 100 solo cuando ambas exportaciones compartan los demás ajustes.
Comprenda por qué cada formato sigue una curva distinta
Los controles de calidad no se convierten directamente en porcentajes de bytes. Los codificadores JPEG, WebP y AVIF descartan información de manera diferente, y sus escalas numéricas de calidad no son intercambiables. Esta calculadora representa esos formatos con pérdida mediante curvas no lineales separadas y pequeños límites mínimos de tamaño específicos. El modelo atribuye a AVIF y WebP una reducción mayor cuando baja la calidad, mientras que JPEG sigue una curva algo más moderada. PNG funciona de otra forma porque el formato estándar no tiene pérdida y muchas aplicaciones emplean un control similar a la calidad para elegir el esfuerzo de compresión, reducir la paleta o aplicar una optimización propia. Su modelo es deliberadamente prudente y conserva un límite mínimo mucho mayor, para no fingir que reducir la calidad de PNG equivale a hacerlo en JPEG. Estas curvas son supuestos deterministas de planificación, no mediciones de un codificador concreto. Las mismas entradas siempre devuelven la misma salida, lo que facilita su uso en interfaces, hojas de cálculo, pruebas y planificación inicial. Para obtener bytes definitivos, codifique los píxeles reales con la biblioteca de producción exacta y mida el archivo resultante.
Use las estimaciones sin prometer resultados exactos
La complejidad de la imagen es la principal variable ausente en una estimación de dos campos. Un logotipo plano, un retrato con fondo desenfocado y un paisaje con ruido pueden generar tamaños muy distintos aunque coincidan el formato y la calidad. El submuestreo cromático, la transparencia alfa, la animación, los perfiles de color, los metadatos, las versiones del codificador, los ajustes de velocidad y las opciones sin pérdida también modifican el resultado. Considere la reducción devuelta como punto de partida para elegir un ajuste, no como garantía de tamaño de carga ni de coste de transferencia. Funciona bien para comparar varios valores de calidad dentro de un proceso de exportación uniforme, fijar un valor inicial antes de un ciclo de codificación medido o explicar la dirección y magnitud probables de un cambio. Cuando un servicio imponga un máximo estricto de bytes, codifique una vez, compruebe el tamaño real y ajuste la calidad mediante una búsqueda acotada. Rechazar valores fuera del intervalo de 1 a 100 evita además extrapolar el modelo a porcentajes que parecerían razonables sin tener una interpretación útil.
Qué puede hacer con ella
Planifique un presupuesto de imágenes web
Estime el ahorro relativo de una calidad propuesta antes de producir un conjunto completo de imágenes adaptables.
Compare ajustes de exportación
Evalúe varios porcentajes de calidad de un formato y elija un punto inicial sensato para codificaciones de prueba medidas.
Inicie un codificador automatizado
Use la estimación para comenzar una búsqueda acotada de compresión cerca del objetivo probable en vez de partir a ciegas.
Preguntas frecuentes
¿Cuál es la referencia del tamaño de archivo?
La referencia es una exportación de la misma imagen y formato con calidad 100, representada como un tamaño relativo del 100 por ciento.
¿El resultado predice una cantidad exacta de bytes?
No. Es una estimación relativa aproximada porque no se proporcionan los píxeles, dimensiones, metadatos ni ajustes del codificador.
¿Por qué la reducción de PNG es más prudente?
PNG suele ser un formato sin pérdida, por lo que un ajuste similar a la calidad cambia normalmente el esfuerzo de compresión o el tratamiento de la paleta, no actúa como la calidad con pérdida de JPEG.
¿Qué ocurre si la calidad es cero o supera 100?
La solicitud falla con un error de entrada no válida. La calidad debe ser un entero entre 1 y 100.
¿Cuánto cuesta una solicitud de API?
Cada solicitud de API cuesta $0.002.
Para desarrolladores — acceso por API
Todo lo de esta página está disponible por programación. Esta sección es para equipos que quieren integrarlo en sus sistemas; el resto puede usar la herramienta de arriba sin más.
Endpoint de API
¿Prefiere automatizarlo? Un POST autenticado crea la tarea; el resultado llega por webhook o enlace firmado. La misma capacidad también se ejecuta aquí en la web, por email y desde Telegram — y pronto también desde nuestra app.
Llámela desde su stack
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)Ejemplo de solicitud
{
"format": "jpeg",
"quality": 75
}Ejemplo de respuesta
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "image.compress_quality",
"status": "queued",
"_links": {
"result": "/tasks/tsk_…/result"
}
}La API es asíncrona: la llamada devuelve un task_id al instante y el resultado llega por webhook. El polling está limitado a 1 req/s por tarea.
Precio
Precio publicado — sin tokens ni créditos inventados. Una tarea fallida no se cobra.
Límites
max_mb | 15 |
max_megapixels | 12 |
Errores
| HTTP | Código | Significado |
|---|---|---|
401 | unauthorized | API key ausente o inválida. |
402 | insufficient_balance | El saldo no cubre el precio de la tarea. |
404 | unknown_type | El tipo de tarea no existe. |
429 | rate_limited | Demasiadas peticiones. Use el webhook en vez de sondear. |